Alexander
Версия 2.8.5
Alexander
https://t.me/pro_ansible/112276👆 @a_aversus
А нет, колеса едут
Alexander
Я дебил, не туда смотрю. Pull идет нормально, а run. На нем он к докерхабу обращается
Alexander
Спасибо за помощь
Vladislav 👻
А никто случайно не решал задачу, когда надо настроить ssh одного пользователя между несколькими машинами? Т.е. я это вижу, как должен лежать везде один и тот же приватный и публичный ключ для пользователя, но не понятно, как его сгенерить, если он отсутсвует и как не генерить его, если он есть - сохранить идемпотентность
Vladislav 👻
а без модуля никак?
Vladislav 👻
но другой
George
George
Смотри
George
Ты себя обрекаешь на логику
Dmitriy
а если ключ уже лежит?
перезаписать его
Sergey
а без модуля никак?
То же самое делать, но не на Питоне и без модулей/хелперов Ансибла - такое себе.
George
Если ключ существует и не стоит флаг - сгенерить паблик - разложить
Sergey
а если ключ уже лежит?
Значит, нужного _нет_ - см. пункт первый.
George
Если ключ не существует или флаг стоит - сгенерить новый приват и разложить
George
Из привата паблик генерится на раз одной командой
Vladislav 👻
подождите, кажется вы не поняли, допустим есть server[1-3] и пользователь user, этот пользователь должен зайти по ssh с любого server[1-3] на любой server[1-3]
George
Да
George
Начать с того, что ты можешь на каждый сервер свой приват на каждого юзера
George
А на оставшиеся серверы - добавить три его паблика
Vladislav 👻
сделать можно много, но как сохранить идемпотентность
Sergey
сделать можно много, но как сохранить идемпотентность
Идемпотентность _чего_? Если ты таской хочешь утверждать _существование конкретного ключа_ - пиши соответственно.
Sergey
То есть задавай его извне
Vladislav 👻
мне и так и так его из вне задавать, иначе непонятно, как раскидывать потом паблики от каждого сервера на все сервера - получиться какой-то квадратичный прогон
Anonymous
оО
Vladislav 👻
но как не генерить новый, если есть существующий, вот это не понятно
Sergey
"Извне задавать" != "генерить", если что
Anonymous
+
Vladislav 👻
"Извне задавать" != "генерить", если что
я тоже думал, но статичный захардкодить в роль - это тоже не секьюр
George
Проверить файл на наличие ?
George
Вообще это заявка на подключить лдап
Vladislav 👻
Вообще это заявка на подключить лдап
это системный юзер для энтерпрайз кластера
Pavel
я тоже думал, но статичный захардкодить в роль - это тоже не секьюр
захордкорь его не в роль, а в инвентри с ваултом...
Pavel
у меня так ссл ключи-сертификаты для доменов хранятся
Pavel
я бы в групповой файл запихнул переменные с ключами, а нужные сервера включил в эту группу
Vladislav 👻
ок, спасибо
Vladislav 👻
Или можно через https://docs.ansible.com/ansible/latest/modules/slurp_module.html сделать 🤔
Vladislav 👻
в общем, пару идей есть, надо подумать, как лучше
George
отфильруй
George
можешь из хэша сделать хэш, а потом луп по второму
George
ну ееее
George
приведи пример джисона
George
причем тут темплейт
George
я себе вижу как
George
https://t.me/pro_ansible/112367
George
в две операции
George
эх
George
https://parko.id.au/2018/08/16/complex-data-structures-and-the-ansible-json_query-filter/
George
вполне наглядные примеры
George
я не знаю как тебе нагляднее сделать, при этом не делая за тебя решение готовое (у меня под рукой нет ансибла для проверки)
GithubReleases
ansible/ansible tagged: v2.9.0rc1 Link: https://github.com/ansible/ansible/releases/tag/v2.9.0rc1 Release notes: New release v2.9.0rc1
Lev
люди добрые. расскажите кто как тестирует свои роли в ansible? Я пробовал разные подходы - при тестирование развертывания SDS (software-defined storage): gitlab / vagrant / ruby / docker / bash / ansible / serverspec / virtualbox ~60 фактически на интеграционные тесты развертывания. - test Ansible roles: ansible / hyper-v / jenkins / testkitchen / inspec ~40-70 минут для 25-35 ролей. - test Ansible roles: ansible / docker / jenkins / molecule / testinfa ~20-25 минут для 50-55 ролей. С моей колокльни это все медленно. И пришел к пирамиде тестирования инфраструктуры static - shellcheck/ansible lint unit - molecule/kitchen + testinfra/inspec для отдельных базовых ролей integration - проверяем конфиг сервера состоящий из множества ролей настраивается правильно. molecule/kitchen e2e - что множество серверов работают правильно. нет готового только боль и страдание Вобщем, кто может рассказать/научить как надо делать правильно?
Lev
Lev
Lev
Lev
P.S. что есть по теме тестирования почитать\посмотреть: * 2019 что я узнал протестировав 200 000 строк инфраструктурного кода * 2018 5 Lessons Learned From Writing Over 300,000 Lines of Infrastructure Code * 2018 Integrating Infrastructure as Code into a Continuous Delivery Pipeline * 2018 Эффективная разработка и сопровождение Ansible-ролей * 2018 Ansible — это вам не bash! * 2018 Test me if you can. Do YML developers Dream of testing ansible? * 2017 How-to test your own OS distribution * 2015 Тестируем инфраструктуру как код
George
Все правильно. Без пирамиды никуда
George
Как думаете - что является узким местом? Скорость обработки ансибловых сценариев?
Gleb
вмки надо поднимать из гипервизора на флеше
Anonymous
по теме, обычно молекула + tox
Anonymous
PY2 уже потихоньку отмирает. tox в этом плане помогает проверить на PY2, PY3
Gleb
ну вопрос в том чтотю е2е гонять надо не в реалатайме все же
Anonymous
мне было приятно увидеть, что человек проделал большую работу и только после этого попросил помощи/совета
Gleb
с интеграционными мало боли когда грамотно росли нарезанные и абстракции не протекают
Anonymous
люди добрые. расскажите кто как тестирует свои роли в ansible? Я пробовал разные подходы - при тестирование развертывания SDS (software-defined storage): gitlab / vagrant / ruby / docker / bash / ansible / serverspec / virtualbox ~60 фактически на интеграционные тесты развертывания. - test Ansible roles: ansible / hyper-v / jenkins / testkitchen / inspec ~40-70 минут для 25-35 ролей. - test Ansible roles: ansible / docker / jenkins / molecule / testinfa ~20-25 минут для 50-55 ролей. С моей колокльни это все медленно. И пришел к пирамиде тестирования инфраструктуры static - shellcheck/ansible lint unit - molecule/kitchen + testinfra/inspec для отдельных базовых ролей integration - проверяем конфиг сервера состоящий из множества ролей настраивается правильно. molecule/kitchen e2e - что множество серверов работают правильно. нет готового только боль и страдание Вобщем, кто может рассказать/научить как надо делать правильно?
если смотреть глобально, то думаю, будет полезен опыт CI/CD самого проекта ansible. все же ранг 88 из github проектов
Anonymous
"- test Ansible roles: ansible / docker / jenkins / molecule / testinfa ~20-25 минут для 50-55 ролей."
Anonymous
можно поробовать заменить jenkins на awx
Lev
Как думаете - что является узким местом? Скорость обработки ансибловых сценариев?
Имхо 1. развёртывание инфры под это все дело(решается параллельностью) 2. Сами сценарии(оракл ставится минут 30, например), тут полагаю ловить как можно раньше хз что делать вобщем
Anonymous
20-25 минут для таких вещей это норм. можно еще добавить мутаген, но он работает иначе.
Anonymous
есть специфика
Anonymous
в основном связана с циклами и порядком выполнения того, что пихаешь в циклы (например, loop)