Aleksey
но этот об этом не пишет
Aleksey
видимо если это написать замержат
inqfen
Да и на чистом питоне было бы лучше
Aleksey
модули свои вы на гитхаб выкладываете отдельно ?
inqfen
Я свои на наш гитлаб, это же чисто внутренние штуки
Anton
Да и на чистом питоне было бы лучше
Я бы тоже на питоне это реализовал. Только для того чтобы по быстрому набросать это на питоне у меня бы ушло в итоге в ~3-6 раз больше времени. Писать что-то на незнакомом языке несколько проблематично. Но да. Его придется выучить для продолжения
Sergey
Вот так прокатило: - name: task1 debug: msg: "{{item}}" loop: "[{% for host in grouplist %}{% if groups[host]|intersect(tested)|length>0 %} '{{groups[host]|intersect(tested)|sort|first}}' {% else %} '{{ groups[host]|intersect(online)|sort|first }}' {% endif %},{% endfor %}]" Изначально пробовал делать через groups.host и через groups.{{host}} , но {{groups.{{host}}}} не прокатывает. Если кому-то такое интересно
"не прокатывает" потому, что ты пытаешься вызвать шаблонизатор из шаблонизатора (фигурные скобки внутри фигурных скобок). Так вот, двойные фигурные скобки - это не имя джинна и не заклинание, это вызов шаблонизатора. Если ты открыл фигурные скобки - внутри них используй переменные без всяких фигурных скобок. Значения переменных будут подставлены по общим правилам. Для косвенный обращений к элементам словаря используй обычный, нормальный формат: "{{ slovar[key_var] }}". В этом варианте имя ключа будет прочитано из значения переменной key_var, и уже по этому ключу будет читаться значение из словаря.
Serg
прикинь чо! https://github.com/ansible/ansible/pull/38841
там надо только пару линтер проблем поправить чтобы CI прошел, так все ок
Ruslan
всем привет) сразу вопрос если у меня есть учетка и она добавлена %automation ALL=(ALL) NOPASSWD: /bin/systemctl restart nginx как мне ее модулем рестартануть? - name: restart nginx systemd: name: nginx state: restarted
Ruslan
ругается на пропущенный sudo пароль
"msg": "Missing sudo password" }
Ruslan
ansible пытается получить привелегии sudo, но они у него есть только на одну команду....
Ruslan
become: yes?
нет, он не может become стать
Ruslan
потому что прав нет )
Ruslan
есть только на одну команду
Ruslan
либо я что-то не понимаю.....
Гайрат
https://docs.ansible.com/ansible/latest/user_guide/become.html#become-directives
Гайрат
--become-method=BECOME_METHOD privilege escalation method to use (default=sudo), valid choices: [ sudo | su | pbrun | pfexec | doas | dzdo | ksu | runas | machinectl ]
Sergey
ansible пытается получить привелегии sudo, но они у него есть только на одну команду....
Это так не работает. Либо NOPASSWD: на Python, либо страдать с башсиблом.
Ruslan
https://docs.ansible.com/ansible/latest/user_guide/become.html#become-directives
become: yes become_method: su так не работает
Ruslan
"msg": "Timeout (12s) waiting for privilege escalation prompt: " }
Sergey
Sergey
автоматизация с ограниченной учётной записью автоматизации - это прям огонь
Grek 🇺🇦
коллеги, на smb(dfs) шаре надо создать папку, на шару вход по доменным кредам, можно ли решить такую задачу используя только ansible хост, без делегации win хосту?
Div
монтировать шару на ансибль хост
Grek 🇺🇦
это вариант, попробую, спасибо!
Div
с модулем mount нужно быть аккуратным. я несколько раз ухитрился рекурсивно создать одну и ту же точку подключения
Div
и ни одна из них не работала...
Aleksey
- name: download git block block: - name: download git git: repo: "{{ my_url }}" dest: "{{ tmp_dir }}" version: "{{ branch }}" depth: 10 update: true rescue: - name: notify pushgatway we have connectivity issue uri: url: "{{ prometheus_pushgateway_uri }}" method: POST body_format: form-urlencoded body: | # TYPE job_exit_code gauge # HELP job_exit_code git update done job_exit_code 13 status_code: 202 - fail: msg: | Attempt to download from "{{ my_url }}" failed To make it continue please check connectivity and permissions to "{{ my_url }}" чат как вам такое ?
Aleksey
для ansible-pull роли
Anonymous
норм, только зачем?
Aleksey
а как узнавать что ansible-pull не прошёл
Aleksey
кто то мониторит что у него кронжопы живы ?
Anonymous
хм...инетересно, а в devel его нет )) спасибо большое!
найти коллекцию(https://github.com/ansible-collections). предложить свой pr. если нет подходящей коллекции, то можешь, либо написать вопрос https://github.com/gundalow, либо создать свою репу с коллекцией
Anonymous
кто то мониторит что у него кронжопы живы ?
эм. таймаут внутри скриптов, которые запускает крон?
Anonymous
ansible-pull работает не так
это вряд ли работа ansible. например, jenkins норм подтягивает нужные репозитории и запускает. зачем в ansible использовать git непонятно
Anonymous
и ?
зачем их мониторить?
Aleksey
это вряд ли работа ansible. например, jenkins норм подтягивает нужные репозитории и запускает. зачем в ansible использовать git непонятно
ну представь что на этом месте не git а предположим рендеринг шаблона или создание директории
Aleksey
зачем их мониторить?
ну например для того что бы знать что крон джоба которую ты ожидаешь что выполняется раз в 2 часа не выполняется уже 4 месяца
Anonymous
ну например для того что бы знать что крон джоба которую ты ожидаешь что выполняется раз в 2 часа не выполняется уже 4 месяца
в самом скрипте можно по api сообщать системе("выбери систему сам"), успешно или нет
Aleksey
эм... код выше это и делает...
Anonymous
а вопрос в чем? :)
Anonymous
сделать лучше?
Aleksey
ну кто какие подходы использует и использует ли вообще
Anonymous
использую похожий подход. другие подходы вряд ли есть
Anonymous
другие адекватные подходы вряд ли есть
Anonymous
через CI можно какие-то проверки делать, но при смене CI будет боль
Aleksey
о каком ci вы говорите при ansible-pull ?
Anonymous
о каком ci вы говорите при ansible-pull ?
забиваешь на ansible и часть функционала делаешь через ci. я про это. и это больно
Aleksey
боюсь это сделать малореально.
Aleksey
вообще сам факт ansible-pull появился потому что сделать это на ci не представляется возможным
Anonymous
сам спросил, сам ответил :)
Anonymous
кто-нибудь запускал ansible 2.9 на msys2 под windows? или через wsl? подскажите, что более разумно?
Anonymous
ну, кроме ответа: "не надо так делать"
Anton
кто-нибудь запускал ansible 2.9 на msys2 под windows? или через wsl? подскажите, что более разумно?
у меня установлен wsl kali с gui в который я хожу по xrdp. работает для процесса разработки. Для обкатки есть 10+ тестовых сред
Anonymous
Wsl2?
Anton
Если под msys2 имеется в виду тяжкое наследие cygwin то не знаю. У меня к нему твёрдая антипатия со времён win nt 3.5- nt4. На сайте python.org есть инфа как на винду поставить python и pip из которого уже всё остальное. Но ansible написан для Linux и в винде будет себя чувствовать не так на линуксе. Если есть творческая потребность поэкспериментировать - можно поставить ansible на андроид. Правда дальше установки дело как я думаю не пойдёт.
Anonymous
На хабре может кто статью создаст с how to. И если это можно прикрутить к vscode, то дважды замечательно
Anonymous
Тема интересная. Если кто то уже прошел "путь", то поделитесь пожалуйста
Anonymous
Я про wsl2 в плане ansible +vscode
Sergey
Ты не хочешь этого.
Anonymous
Ну, могу, если уж нет желающих
Anonymous
Не люблю паблик, но раз никто не хочет, то может и попробую. Не люблю критику в комментариях. Меня это расстраивает
Anonymous
Ты не хочешь этого.
Или я как-то неправильно понял Ваше сообщение?
Anonymous
https://habr.com/en/company/vdsina/blog/500958/ гы. сегодня
Удобно. С опозданием на час после публикации задал вопрос. Осталось только погонять ансибл
Anonymous
Не вангую :)))
Anonymous
Ок, полчаса
Anonymous
хотя не так просто на ноутах перейти https://insider.windows.com/ru-ru/
Anonymous
там даже скриптик был на гитхабе, чтобы заставить ноут увидеть обновление(и это после регистрации в программе insider)
shadow
народ, по tower подскажите? возможно тоже самое c awx. нужно вот это замутить Single Machine With an external database: Tower with remote DB configuration: This installs the Tower server on a single machine and configures it to talk to a remote instance of PostgreSQL 10 as its database.
shadow
но вопрос в том, что не могу найти нормальной доки по настройке postgresql c нуля что нужно настроить, каких пользователей/ДБ создать
Отделение Bereke Bank
Да просто создаёшь ROLE и базу у которой OWNER эта роль. AWX подключаешь с кредами этой роли к базе