Ib2828
сегодня нет
Salem
лол)) описание 🔥
Salem
скорее всего прав на какой-то файл не хватает
Salem
проверь все файловые операции в плейбуке
Ib2828
хм щас пошло
Ib2828
удалил папку .ansible у себя в домашней директории
Ib2828
на удаленном сервере
+_-
Всем привет. Вопрос по ансиблу не как по средству управления конфигурацией, а как про тулзу которой удобно обойти много серверов. Есть список путей к директориям в файле. Если эта директория есть на сервере, надо записать имя сервера и путь в другой, локальный файл
+_-
Как это проще всего реализовать?
Wolfodev
а зачем юзать ansible для этого? лучше bash скрипт накидать
+_-
а зачем юзать ansible для этого? лучше bash скрипт накидать
да я вот уже сам к этому начал склоняться
+_-
Просто башем по сотне серваков не оч удобно бегать
+_-
ну ещё можно башсинблом
Salem
https://docs.ansible.com/ansible/latest/modules/shell_module.html
+_-
https://docs.ansible.com/ansible/latest/modules/shell_module.html
спасибо, я знаю просто думал. что бог ансибла будет недоволен
Wolfodev
а как через shell модуль можно это сделать?
Wolfodev
я думаю лучше попробовать через темплейты
+_-
а как через shell модуль можно это сделать?
да тупо копируешь на сервак файл потом башем пробегаешься и гененрируешь результат и копируешь назад
+_-
Ладно, забейте. Я просто начал делать через модули, и понял что пц. А через башсинбл уже работает.
Dmitry
а нет ли у ансибла какой-нить компиляции, там... не знаю просто полностью отскипанные таски все-равно занимают 0.3-0.4 секунды...
Dmitry
Компиляции нет. Чтобы ускорить прикрути mitogen
как он ускорит скипнутые таски?
Anonymous
Он ускорит процесс в целом. Или задача заключается только в том, чтобы скипы быстрее проходили?)
Div
можно нубский вопрос? митоген можно использовать из pip репы или обязательно с офф сайта?
Sergey
Компиляции нет. Чтобы ускорить прикрути mitogen
Ты забыл добавить про страдание 😊
Sergey
митоген это страдание?
Да. Ну или, скорее, восседание на измене: никогда не знаешь, после какого обновления взорвётся.
Div
эх, опять не дадут поиграть с новинками. вечно все взрывается и ломается...
Sergey
Да играй, пожалуйста, только в прод не тащи 😊
Div
у меня по сути нет ансибля в проде. все мое. ломай не хочу.
Div
не совсем. ломать уже построенное это как молотком по пальцам из любопытства. больно и жалко.
Div
ну его этот митоген. буду страдать другим способом.
Div
и всетаки, как его кошерно ставить? из pip или с офф сайта?
Div
может и так пострадаю чучуть.
Anonymous
и всетаки, как его кошерно ставить? из pip или с офф сайта?
Модуль тебе не нужен. Плагин с сайта скачай
Div
спасибо.
Alex
А в vars можно как то объединять ключи в словаре, чтобы не дублировать данные? Например, вместо my_dict1: key1: subkey1: val1 subkey2: val2 key2: subkey1: val1 subkey2: val2 использовать что то типа my_dict1: key1: key2: subkey1: val1 subkey2: val2 ?
Timur
Можно делать anchoring средствами YAML
Timur
https://docs.ansible.com/ansible/latest/user_guide/playbooks_advanced_syntax.html#sts=YAML%20anchors%20and%20aliases:%20sharing%20variable%20values%C2%B6
Alex
Нет. А зачем?
чтобы избежать дублирования
citius
митоген это страдание?
Митоген збс, годами уже в проде, брат жив
citius
Насчёт как ставить - у меня например все ансибл проекты построены на базе одного скелет-проекта в который засунуты нужные плагины, в т.ч. и митоген. Тестится в нем и обновляются потом по надобности из этого скелета.
Alex
Митоген збс, годами уже в проде, брат жив
думаю от проекта очень сильно зависит, когда год назад тестировал у себя, то выигрышь был всего пара минут
citius
думаю от проекта очень сильно зависит, когда год назад тестировал у себя, то выигрышь был всего пара минут
У меня десятки минут, т.к. в проектах часто куча серверов на удаленных площадках.
citius
И митоген экономит просто адово время.
citius
Багов и взрывов не ловил ни разу, надо только при мажорном обновлении ансибла дожидаться релиза митогена, если он будет несовместим, это есть в ридми.
Alex
поэтому и говорю - что очень сильно от специфики пректа/окружения зависит
Alex
не стоит полагаться на него - как на чудо
citius
Так есессно, любой инструмент зависит :) Но бояться его из-за мифических багов и отстреливать походя на подлёте - глупо.
Alex
я кстати тоже наступил на 3-4 граблей, при переходе на митоген
citius
я кстати тоже наступил на 3-4 граблей, при переходе на митоген
Граблей, описанных, в итоге, в документации? :)
GithubReleases
ansible/ansible tagged: v2.9.7 Link: https://github.com/ansible/ansible/releases/tag/v2.9.7 Release notes: New release v2.9.7
Anonymous
Доброго утра! Коллеги, есть задача которую никак не могу решить. Необходимо через ansible на удалённой машине в docker-контейнере выполнить плейбук. И у меня получается какая-то хрень. Всю ночь уже бьюсь с этой задачей и никак не выходит. Перечитал по-моему про все модули, связанные с docker. Но решения не нашёл. Есть удалённый хост 192.168.10.200 Из файла inventories office: hosts: 192.168.10.200: Вот часть плейбука - name: Create db and users for PgSQL hosts: "{{ TARGETS }}" remote_user: username become: no vars: ansible_connection: docker ansible_docker_host: postgresql roles: - local.env.postgres Запускаю так ansible-playbook -vvv playbooks/ent.bumq.env --extra-vars "TARGETS=office" Понимаю, что не много криво, но пока тестирую. На выходе получаю лог Pipelining is enabled. <192.168.10.200> ESTABLISH DOCKER CONNECTION FOR USER: username <192.168.10.200> EXEC ['/usr/bin/docker', 'exec', '-u', u'username', '-i', u'192.168.10.200', u'/bin/sh', '-c', u"/bin/sh -c '/usr/bin/python3 && sleep 0'"] fatal: [192.168.10.200]: FAILED! => { "changed": false, "module_stderr": "Error: No such container: 192.168.10.200\n", "module_stdout": "", "msg": "MODULE FAILURE\nSee stdout/stderr for the exact error", "rc": 1 } То есть к хосту он подключается, но ищет контейнер с именем хоста как в hosts прописано. То есть ansible_docker_host он игнорирует Если заменить на ansible_host, то начинает подключаться к локальному докеру на машине с ansible. Подскажите, как эту задачу решить правильно
Vladislav 👻
Непонятно, что вы хотите
Vladislav 👻
И непонятно, что у вас происходит, все что вы написали, не особо интересно, с точки зрения разработки в ансибл
Anonymous
Непонятно, что вы хотите
Мне необходимо выполнить свой плейбук в docker-контейнере на удалённой машине. Я пытаюсь подключиться к этому контейнеру через ansible_connection=docker после подключения к удалённой машине по ssh Что именно вам не понятно? Уточните вопрос. Вероятно я, после бессонной ночи, уже плохо формулирую свои мысли
Anonymous
Локально у меня всё работает. Но подключиться к docker-контейнеру на удалённой машине я не могу
Anonymous
а как вы к контейнеру собираетесь подключаться?
Вот в этом у меня возник вопрос. Локально я подключаюсь как раз с использованием следующего connection: docker vars: ansible_host: postgresql Но с удалённой машиной так не работает. Точнее работает, если я в hosts укажу имя удалённой машины тоже postgresql. Но это не есть хорошо. Мне нужно, чтобы я мог подключиться к машине с произвольным именем и ip-адресом, но, на ней, к контейнеру postgresql
Vladislav 👻
удаленно получается цепочка подключений 🤔
Vladislav 👻
Нашел вот такую иссушку: https://github.com/ansible/ansible/issues/36698
Lamobot
Там открыт 2795 без ssl
https://docs.ansible.com/ansible/latest/scenario_guides/guide_docker.html#parameters
Lamobot
Тогда в docker_host нужно указать endpoint
Anonymous
Благодарю. Попробую
Lamobot
Благодарю. Попробую
Как бы он с локальной машины будет ходить в docker endpoint, а не коннектиться и потом в сокет стучаться.
Prostotak
Привет, может у кого есть статья какая, где объясняется как стягивать из gitlab артефакты с помощью ansible?
Gleb
а что нужно объяснить? получаешь из апи гитлаба ссылку на последний артифакт проекта, дальше скачиваешь его так же штатным модулем для скачивания файлов
ShadoWalkeR
https://docs.ansible.com/ansible/latest/modules/git_module.html
Prostotak
спасибо
Gleb
https://docs.ansible.com/ansible/latest/modules/git_module.html
не, это для гита, ему надо тупо uri и вот это все
ShadoWalkeR
Пусть учится читать документацию - этот навык никогда не бывает лишним