Alexander
Версия 2.8.5
Alexander
Alexander
Я дебил, не туда смотрю. Pull идет нормально, а run. На нем он к докерхабу обращается
Alexander
Спасибо за помощь
Vladislav 👻
А никто случайно не решал задачу, когда надо настроить ssh одного пользователя между несколькими машинами?
Т.е. я это вижу, как должен лежать везде один и тот же приватный и публичный ключ для пользователя, но не понятно, как его сгенерить, если он отсутсвует и как не генерить его, если он есть - сохранить идемпотентность
Dmitriy
Sergey
Vladislav 👻
а без модуля никак?
Vladislav 👻
Vladislav 👻
но другой
George
George
Смотри
George
Ты себя обрекаешь на логику
Dmitriy
Sergey
а без модуля никак?
То же самое делать, но не на Питоне и без модулей/хелперов Ансибла - такое себе.
Dmitriy
George
Если ключ существует и не стоит флаг - сгенерить паблик - разложить
George
Если ключ не существует или флаг стоит - сгенерить новый приват и разложить
George
Из привата паблик генерится на раз одной командой
Vladislav 👻
подождите, кажется вы не поняли, допустим есть server[1-3] и пользователь user, этот пользователь должен зайти по ssh с любого server[1-3] на любой server[1-3]
George
Да
George
Начать с того, что ты можешь на каждый сервер свой приват на каждого юзера
George
А на оставшиеся серверы - добавить три его паблика
Vladislav 👻
сделать можно много, но как сохранить идемпотентность
Sergey
То есть задавай его извне
Vladislav 👻
мне и так и так его из вне задавать, иначе непонятно, как раскидывать потом паблики от каждого сервера на все сервера - получиться какой-то квадратичный прогон
Anonymous
оО
Vladislav 👻
но как не генерить новый, если есть существующий, вот это не понятно
Sergey
Sergey
"Извне задавать" != "генерить", если что
Anonymous
+
George
George
Проверить файл на наличие ?
George
Вообще это заявка на подключить лдап
Pavel
Pavel
у меня так ссл ключи-сертификаты для доменов хранятся
Sergey
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
Gleb
вмки надо поднимать из гипервизора на флеше
Anonymous
Anonymous
по теме, обычно молекула + tox
Anonymous
PY2 уже потихоньку отмирает. tox в этом плане помогает проверить на PY2, PY3
Gleb
ну вопрос в том чтотю е2е гонять надо не в реалатайме все же
Anonymous
мне было приятно увидеть, что человек проделал большую работу и только после этого попросил помощи/совета
Gleb
с интеграционными мало боли когда грамотно росли нарезанные и абстракции не протекают
Anonymous
Anonymous
"- test Ansible roles: ansible / docker / jenkins / molecule / testinfa ~20-25 минут для 50-55 ролей."
Anonymous
можно поробовать заменить jenkins на awx
Anonymous
20-25 минут для таких вещей это норм. можно еще добавить мутаген, но он работает иначе.
Anonymous
есть специфика
Anonymous
в основном связана с циклами и порядком выполнения того, что пихаешь в циклы (например, loop)