Ruslan
это файлик с переменными зашифрованный vaultom
Ruslan
в файлике greenplum: user: gpadmin password: test
Sergey
Это словарь.
Aleksandr
Господа, как красиво с помощью ансибла при накатке конфигурации откатиться на предыдущую версию если что-то пошло не так?
Alex
ансибл это не про откаты
Артём
git revert ansible-playbook не?
Артём
Ансибл-то, понятно, не знает про «прошлую» ничего.
Aleksandr
ну например есть syslog-ng. я по коммиту в мастер хуком дергаю ансибл, он выкатывает новые конфиги на сервера. Потом можно будет получить статус сервиса и если он не в состоянии running, откатиться.
Aleksandr
т.е. вы рекомендуете делать откаты руками, не превращать ансибл в мониторинг, верно?)
Denis 災 nobody
https://miro.medium.com/max/1370/1*7LsMrODw5XIZmupadZ9U1w.png
Timur
Т.е. к репе с плейбукой и конфигами прикрутить тесты, которые будут разворачивать эти конфиги на тестовый энв и проверять, что все работает как ожидается.
Aleksandr
соглы, звучит убедительно
Timur
Тогда вероятность того, что при накатывании на рабочий энв конфиг окажется нерабочим, стремится к нулю
Timur
Молекула для этого и придумана
Aleksandr
я еще не уметь в молекулу, хотя видел-слышал. но за посыл спасибо, будем работать в этом направлении
Timur
я еще не уметь в молекулу, хотя видел-слышал. но за посыл спасибо, будем работать в этом направлении
А что там уметь. Прикрутить дефолтный сценарий с разворачиванием на тестовый энв и всего делов.
Aleksandr
а он остановит выкатку если тесты не пройдут?
Aleksandr
молекула запускается отдельно в пайплайне, потом по результату можно уже будет продолжать или нет, так?
Timur
Но мне сложно давать конкретные советы, не зная специфики проекта, структуру репозиториев, сценарии развертывания и т.п.
Anonymous
https://docs.ansible.com/ansible/latest/modules/pip_module.html
Anonymous
вопрос там модуль на centos7 вызовет пип который штатный ? второго питона или не штатный если поставить третий ?
Anonymous
и можно ли как то вызвать нужнуюверсию пип ?
Sergey
https://docs.ansible.com/ansible/latest/modules/pip_module.html
Штатный. Параметров достаточно, чтобы вызывать любой другой pip.
Anonymous
а. да нашел кажеться так virtualenv_python
Aleksandr
или executable
Anonymous
спасибо
Timur
и можно ли как то вызвать нужнуюверсию пип ?
Можно с помощью executable, как сказали выше
Anonymous
да через нее и делаю
⎈
https://miro.medium.com/max/1370/1*7LsMrODw5XIZmupadZ9U1w.png
Картинко свежак? Я думал, это данные в jobs, а это он "нагуглил" :-(
⎈
т.е. вы рекомендуете делать откаты руками, не превращать ансибл в мониторинг, верно?)
Если логи не работают - откатываешь конфиг? Там биллинг/сделки/платежи что ли?
Artem
т.е. вы рекомендуете делать откаты руками, не превращать ансибл в мониторинг, верно?)
можно автоматически с помощью этого: https://docs.ansible.com/ansible/latest/modules/deploy_helper_module.html
Александр
как сделать ансиблом yum update?
George
как сделать ансиблом yum update?
- name: upgrade all packages yum: name: '*' state: latest ?
George
https://docs.ansible.com/ansible/latest/modules/yum_module.html
Dmitriy
как сделать ансиблом yum update?
https://docs.ansible.com/ansible/latest/modules/yum_module.html#examples
Alexey
ага, спасибо
update_only boolean added in 2.5 Choices: no ← yes When using latest, only update installed packages. Do not install packages. Has an effect only if state is latest
UglyKoyote
Народ, а вот поднимите руку.. кто юзает package заместо yum? Просто хочется понять, есть ли минусы у package
/warn
Привет. Возникла такая проблема. Захожу на хост и даю комманду sudo docker ps -qf "name=contrail_command" Результатом получаю номер контейнера: f4ebb5daf674 Делаю то же самое ансиблом: - name: get command contrailner number shell: 'docker ps -qf "name=contrail_command"' register: container_number И вот резульат: {'stderr_lines': [], u'changed': True, u'end': u'2019-11-13 10:08:57.339642', 'failed': False, u'stdout': u'', u'cmd': u'docker ps -qf \"name=contrail_command\"', u'rc': 0, u'start': u'2019-11-13 10:08:57.257195', u'stderr': u'', u'delta': u'0:00:00.082447', 'stdout_lines': []} Почему stdout пустой? Не могу понять.
/warn
Народ, а вот поднимите руку.. кто юзает package заместо yum? Просто хочется понять, есть ли минусы у package
Package для кросс-платформы. Если например плейбук будет ипользоваться и на centos и на ubuntu. Тогда package будет ссылатся на менеджер пакетов для данной платформы. Он менее функционален, но для большинсва задач подойдет.
/warn
Стоит уровнем выше. - hosts: all connection: local become: true roles: - deploy-frontend
/warn
Или нужно именно в такс?
Timur
Стоит уровнем выше. - hosts: all connection: local become: true roles: - deploy-frontend
А у юзера, под которым запускаете, есть права sudo?
Timur
Или вы тупо из-под рута запускаете ансибл?
/warn
Есть права, судо без пароля.
/warn
Jenkins запускает плейбук, вот таким образом: ansible-playbook command-ui/ansible/deploy-frontend.yaml -i inventory.ini --private-key /go/src/merge/command-ui-535/vendor/github.com/Juniper/contrail-ui/ssh10314666989485569463.key -u centos -e BUILD_NUMBER=535
/warn
Могу убрать. Из-за этого проблема?
Timur
Могу убрать. Из-за этого проблема?
Хз. Я все равно не вижу всей картины. В чем задача вообще?
Timur
Зачем понадобился docker ps через shell?
/warn
Подменить файлы внутри контейнера
Timur
Э?
Timur
Опишите задачу более внятно, пожалуйста
Timur
Потому что совершенно непонятно, как docker ps помогает менять файлы внутри контейнера.
Timur
Не говоря уже о том, зачем вообще это делать внутри контейнера
/warn
Jenkins раннит билды, в результате есть папка dist с файлами, нужно взять эти файлы, и засунуьт внутрь контейнера. Моя логика: 1. Переместить файлы на целевой хост 2. Узнать номер контенера( через этот docker ps) 3. Преместить файлы в нужный контейнер через docker cp Зачем это нужно? Есть backend к которому нужно закинуть файлы фронтендовые, которые получились в результате билда, и потом запустить end-to-end тесты.
Отделение Bereke Bank
я не эксперт но мне кажется у вас билд через ж...
Timur
Если у вас в докере приложения, то логично и деплоить их в виде докера сразу
Timur
А лезть внутрь работающего докера после деплоя - нафиг тогда вам докер, спрашивается?
/warn
Это open source который юзают люди,а не апликация которая стоит у нас на сервехар , нам нужно только запустить тесты для CI.
Timur
Это open source который юзают люди,а не апликация которая стоит у нас на сервехар , нам нужно только запустить тесты для CI.
Это не объясняет - зачем лезть внутрь работающего докера, чтобы что-то там поменять
/warn
Окей. Сейчас обьясню
Отделение Bereke Bank
/warn
Есть стак. Jenkins, Gitlab, Openstack. Есть репозиторий который содержит frontend для приложения. Помимо frontend, есть огромный бекенд который собирать ~12 часов. Раньше когда кто-то делал комит, или отрывал Merge request - надо было ждать по 12 часов пока соберётся backend, и потом пока пройдут тесты. Новый концепт: Собирать backend на релизе, и создавать image с готовым backendом в openstack. Теперь когда кто-то открывает MR - можно поднять VMку с готовым бекендом, закинуть туда файлы фронтенда и запустить тесты на selenium.
/warn
Итого - время ожидания минус 12 часов.
/warn
Поэтому мне нужно закинуть файлы в определённый контейнер(а их там штук 40-50), что того что бы запустить тесты для UIки.
UglyKoyote
Вопрос: есть пакет А, который ствится без проблем, по дефолту прописывает юзеру uid xxxx, но сложилась ситуация что на одной из машин, куда ставится пакет - уже есть юзер с uid xxxx, и юзер получил uid xxxy. Меня это не устраивает, поскольку uid должен быть везде одинаковый. Кроме ручного действия пока не вижу как решить ситуацию, или вариантов и нету при использовании пакета yum?