Evgeniy
Э... Ansible variables
а при чем тут переменные ансибла, если я буду указывать сервисы, например, которые системные?
manefesto
конкретную задачу опиши
manefesto
с примером
manefesto
https://stackoverflow.com/questions/25694249/ansible-using-with-items-with-notify-handler
manefesto
тут глянь
Timur
а при чем тут переменные ансибла, если я буду указывать сервисы, например, которые системные?
Ну просто задавай в переменной имя сервиса, а в хендлеры именно переменные в качестве параметров указывай
Vadim
нет, ну можно по идее хранить список сервисов для рестарта - и в handler'е делать with_items, но что-то мне нравится такая идея - в общем случае темплейтинг хэндлеров не сработает
Vadim
судя по примеру тебе еще и желаемый статус передавать нужно
Timur
Так и статус в виде переменной передать можно
Timur
В чем проблема-то?
Timur
Хендлер - это обычный набор тасков, просто вызываемых по триггерам
Evgeniy
вообщем, мне кажется простое описание "по аналогии с функцией" - конкретной задачи нет, речь про удобство) я подмуал jinga если может в циклы, то и функцию сможет (нашел только про макросы, но их буду изучать далее) а вас не смущает писать несколько раз одно и тоже, вместо того чтобы просто передать переменную? вообщем, спасибо, я понял что изучать нужно) вообще, в ansible дикий минус это именно yaml
Timur
Все переменные, что юзаются в обычной роли, можно юзать и в хендлерах
Evgeniy
можно было бы скормить какой-нибудь скрипт на питоне- было бы удобнее)
Timur
В ансибле тоже есть циклы
Timur
Лупы точнее
Timur
И никакого повторения кода не нужно
это одно и то же :)
Timur
Не совсем :)
Vadim
не хочу описывать инфраструктуру, хочу программировать!
Evgeniy
не хочу описывать инфраструктуру, хочу программировать!
конечно, зачем мне ее описывать) мне нужно задать логику с исполнением комманд (типа установить такие-то пакеты, закинуть такие-то файлы и заенейблить\перезапустить\остановить сервисы), желательно почитабельнее и выполнить ее на удаленной машине)
можно скормить комманду with_items, но лучше так не делать, если комманд можно заменить на модуль
Timur
Да не надо комманд
Timur
Просто обычный хендлер таск с параметрами
Timur
Если много тасков - вынести их в отдельные файлы и инклудать по имени переменной
Evgeniy
https://stackoverflow.com/questions/25694249/ansible-using-with-items-with-notify-handler
вот это то, на самом деле) спасибо)
Evgeniy
питон можно было бы использовать, имхо) определенный формат есть с отступами? есть) просто читать нужный формат и выдавать экспешоны если что-то не так)
спасибо сотоне не питон
а то был бы еще один чиф
Nklya
Как будто это что-то плохое))
Vadim
а то был бы еще один чиф
гражданин переизобретает fabric
Vadim
интересно, что стало с таким проектом? 🤔
Nklya
Сарказм?))
Timur
Это, видимо, такой новый вид троллинга. Зайти в чат по Ансиблу, и сказать, что в ансибле мешает yaml :)
Nklya
Я знаю товарища который при слове фабрик начинает зеленеть))
Vadim
так, наберите побольше воздуха
Vadim
c a p i s t r a n o
Vadim
вообще собирать надо autotools, Столман сотовариищи не могут ошибаться
Timur
Удачно товарищ набросил :)
Timur
Надо в тот список малой энциклопедии тролля добавить :)
Evgeniy
это не наброс, я начинающий админ (ну или типа того) есть варианты писать скрипты на баше и запускать на удаленной машине, есть варианты писать скрипты на питоне но для этого уже есть более "высокоуровневые" средства с готовыми модулями - например, ансибл но у него есть недостаток- разметка если бы он хавал питон с описанными функциями было бы удобнее, мне так кажется но альтернативы нет- поэтому надо писать просто несколько раз одинаковые строчки (с очень удобными отсупами - сарказм)
Nklya
ну так и используй ансибл и дописывай нужный функционал на питоне, какая проблема?
Evgeniy
да нет проблемы, буду учиться, я не говорил о какой-либо проблеме, лишь о удобстве)
Nklya
Пример других CM тулов до ансибла доказал, что если разрешить говнякать на языках программирования прямо в инфра коде, это приведет к большому пиздецу
Vadim
тем временем, тихо и незаметно https://michaelwashere.net/ansible/void/infrastructure/2018/07/10/faster-than-light.html и https://github.com/dw/mitogen/releases/tag/v0.2.0
Timur
Хорошоая штука
это чтобы солту насолить?)
aXNoYW1yYWk
Всем привет подскажите плз, можно ли параллельно выполнить несколько определенных тасков в ansible
switch
Только это знаю
Nklya
можно, если это группа хостов))
aXNoYW1yYWk
а на одном ни как хосте?
switch
В остальном выполнение одних зависит от других. Давайте обсудим конечную задачу.
switch
Цель такого запуска :)
aXNoYW1yYWk
насоздавать кучу симлинков разных
aXNoYW1yYWk
one by one все ок работает)
aXNoYW1yYWk
хотелось просто время сократить на это
Nklya
напиши свой модуль
aXNoYW1yYWk
попробую, спасибо
switch
хотелось просто время сократить на это
баш-скриптом однострочным тогда 😄, но это не "ansible way"
кря
баш-скриптом однострочным тогда 😄, но это не "ansible way"
<@insomnia> Нужно выполнить всего три команды, чтобы поставить Gentoo <@insomnia> cfdisk /dev/hda && mkfs.xfs /dev/hda1 && mount /dev/hda1 /mnt/gentoo/ && chroot /mnt/gentoo/ && env-update && . /etc/profile && emerge sync && cd /usr/portage && scripts/bootsrap.sh && emerge system && emerge vim && vi /etc/fstab && emerge gentoo-dev-sources && cd /usr/src/linux && make menuconfig && make install modules_install && emerge gnome mozilla-firefox openoffice && emerge grub && cp /boot/grub/grub.conf.sample /boot/grub/grub.conf && vi /boot/grub/grub.conf && grub && init 6 <@insomnia> это первая
switch
ага, в таком духе)
Sergey
тем временем, тихо и незаметно https://michaelwashere.net/ansible/void/infrastructure/2018/07/10/faster-than-light.html и https://github.com/dw/mitogen/releases/tag/v0.2.0
круто замахнулись. если оно в полной мере так рабоатет, как написано - оу....
niko
прочитал rpg via ssh. задумался.
Sergey
Rpg via telnet = MUD
Старый
TASK [Gathering Facts] ************************************************************************************************************************************************** Saturday 14 July 2018 07:01:05 -0400 (0:00:00.047) 0:00:01.086 ***** fatal: [localhost]: FAILED! => {"changed": false, "module_stderr": "/bin/sh: /usr/bin/python3: Нет такого файла или каталога\n", "module_stdout": "", "msg": "MODULE FAILURE", "rc": 127} сталкивался кто, а то тем дофига а и везде темы не завершены
Mikhail
Нет питона?
Nklya
Причём третьего
Старый
Нет питона?
самое интересное что есть, но уже решил проблему, надо будет баг писать написавшему плейбуки
Старый
lineinfile or replace?