Vitalii
Привет. В молекуле в verify.yaml при ансибловом верифаере обязательно использовать assert, или можно ограничится failed_when?
Timur
Просто assert заточен именно под проверку кондишионалов
Vitalii
Просто это дополнительная таска
Anonymous
коллеги подскажите, как правильно передать параметры, настраиваю алертинг для прома на основе https://github.com/cloudalchemy/ansible-prometheus/blob/master/defaults/main.yml, оригинальная секция выглядит так prometheus_alertmanager_config: [] # prometheus_alertmanager_config: # - scheme: https # path_prefix: alertmanager/ # basic_auth: # username: user # password: pass # static_configs: # - targets: ["127.0.0.1:9093"] # proxy_url: "127.0.0.2"
Anonymous
мой вариант prometheus_alertmanager_config: [] prometheus_alertmanager_config: # - scheme: https # path_prefix: alertmanager/ # basic_auth: # username: user # password: pass static_configs: - targets: ["127.0.0.1:9093"] # proxy_url: "127.0.0.2"
Anonymous
получаю синтаксическую проблему
Fire
Два раза объявляешь prometheus_alertmanager_config
Anonymous
примерно так ?
Anonymous
prometheus_alertmanager_config: # prometheus_alertmanager_config: # - scheme: https # path_prefix: alertmanager/ # basic_auth: # username: user # password: pass static_configs: - targets: ["127.0.0.1:9093"] # proxy_url: "127.0.0.2"
Anonymous
в оригинальной я знаю как сделать) а в попсовой клоудакадеми что то не осилил, перепишу тогда на оригинальный
Fire
примерно так ?
в ридми этой роли ж ссылаются на оф доку прометеуса.
Fire
Но зачем читать документацию, верно?
Rasim
Коллеги, приветствую! Как добиться идемпотентности с vmware_guest? ну вот есть плейбук, который разворачивает вм и настраивает ее и гостевую ОС. При повторном запуске он должен пропустить развертывание вм. пока решаю ручной установкой флага(вписываю moid) в host_vars. Хотелось бы узнать best practice
Anonymous
в ридми этой роли ж ссылаются на оф доку прометеуса.
и что что ссылаються, как сделать по оф доке я и так могу, меня интерсеовала как сделать чтобы работало в чудо плейбуки от клоуакадеми
Rasim
А что - vmware_guest не даёт идемпотентность в вашем случае?
я плотно не тестил. Но если вм перемещена и переименована руками?
Timur
Прикалываетесь что ли?
Rasim
осваиваю )
Timur
Если лезете руками в инфру, тут и никакой другой инструмент не поможет идемпотентность обеспечить
Jack
привет, гайз, а ни у кого не было проблемы No such file or directory: '/tmp/.ansible-user/tmp/ansible-tmp…custom.py (не находит кастомный скриптец при написании своего модуля). При том что банальное увеличение кол-ва логов верхней плейбуки решает данную проблему, видимо просто не успевает прокинуть чтоли на таргет хост.
Rasim
ну вот привязка к moid - защита от дурака. а они пока есть
citius
Если лезете руками в инфру, тут и никакой другой инструмент не поможет идемпотентность обеспечить
Тераформ может. Он же хранит стейт. Увидит что виртуалка перемещена, и потащит ее обратно.
Alex
Тераформ может. Он же хранит стейт. Увидит что виртуалка перемещена, и потащит ее обратно.
там не все так гладко, как хотелось бы. Недавно столкнулся с багом/фичей у терраформа при использовании spot инстансов - если инстанс удаляется, то повторный terraform apply ничего не делает, хотя в стейте у него инстанс указан, а по факту его нет
Alex
Речь про вмварь. Хз что там на авс.
я говорю о тераформе как таковом, а не о конкретном модуле для него
citius
Но подозреваю что надо доку почитать, авс это основная платформа, наверняка как то это решается.
Sergey
@aws_ru ;-)
citius
А также @ru_hashicorp ;)
Egor
Привет, друзья! Я только присматриваюсь к Ansible. Для настройки конфигурации на удаленных нодах требуется ssh рут логин или как-то эта проблема обходится?
Андрей
можешь по ключу ходить
Rasim
не обязательно прям рут, про become почитай
Egor
например, я делаю учетку ansible:ansible, может ли она использовать механизм типа sudo для повышения привилегий?
Egor
Может, если настроишь.
ответ получен, спасибо
Boriss
Доброго денька вам. Такой вопрос: после установки дб, нужно запускать скрипт вот этот - https://github.com/scylladb/scylla/blob/master/dist/common/scripts/scylla_setup . Есть ли возможность отвечать на эти вопросы скрипта через ансибл или выставить чтобы автоматом отвечал?
Boriss
хммм.... выглядит как то что нужно, проверю. благодарю
Ilya
Подскажите плиз. Как в awx в survey сделать ввод листа? Как я понял нужно выбирать в answer type: textarea А при запуске пробовал через enter писать лист и через "- chtoto" писать, но плейбук не воспринимает это как лист
Vitaliy
Подскажите, пожалуйста как объеденить failed_when: myvar_result.rc != 0 until: myvar_result.rc == 0 без failed_when мы ждём - until, хотя на заднем фоне может выпасть код возврата, пр 37 нужно отвалиться по ошибки если там не 0, и ждать 0 если иначе.
Vitaliy
запускаю command модуль
Timur
Если за определенное количество попыток и времени результат не достигнут - происходит автоматический фейл
Vitaliy
это я знаю, да
Vitaliy
проблема в том что висит и ждёт 0, но команда не выполяется, если дан неверный параметр то код возврата 37 .
Vitaliy
а until лопатит
Vitaliy
при этом в процессах команды нет, по понятной причине
Timur
Можно попробовать в async режиме запустить
Timur
И отслеживать статус уже принудительно
Vitaliy
спасибо, попробую.
Full
Парни, а поясните такую штуку. However, when both the connection user and the become_user are unprivileged, the module file is written as the user that Ansible connects as, but the file needs to be readable by the user Ansible is set to become. In this case, Ansible makes the module file world-readable for the duration of the Ansible module execution. Once the module is done executing, Ansible deletes the temporary file. Вот этого, похоже, не происходит. Failed to set permissions on the temporary files Ansible needs to create when becoming an unprivileged user Файлы создаются с правами 0700, и владелец - пользователь, от чьего имени запущен плей.
Full
Отбой. allow_world_readable_tmpfiles = true в конфиге.
Vitalii
Кто-то пробовал юзать несколько vagrant инстансов в одном сценарии для Молекулы?
Alex
Может кто то подсказать, почему такое поведение. Есть вызов роли - name: Store test result include_role: name: report vars: stop_testing_if_fail: true test_result: "{{ 'installation complete. installation log can be found' in install_sh_result.stdout | lower }}" log_result: "{{ install_sh_result }}" when: continue_testing в самой роли около 10 тасков, последние два таска выглядят таким образом - name: Check tests epic fail set_fact: continue_testing: false when: - continue_testing - stop_testing_if_fail is defined - stop_testing_if_fail | bool - not test_result - name: Save test results to json delegate_to: localhost copy: content: "{{ test_results }}" dest: "report/{{ app_type }}-{{ flow_type }}-{{ app_installer_type }}.json" Проблема в том, что если stop_testing_if_fail: true, то таск с сохранением в json просто не вызывается. Это by design или какая то баго/фича?
Vitaliy
Можно попробовать в async режиме запустить
блин тогда не фиксируется .rc
Vitaliy
https://github.com/ansible/ansible/issues/32472
Alex
проверил на 2.7.17 и 2.9.9
Full
Чат, кто-нить может проверить у себя модуль postgresql_info на 2.9?
Full
Типа такого: ansible all -i '1.1.1.257,' -m postgresql_info -a 'filter=settings' -u user --become --ask-pass --ask-become-pass --become-user postgres ip и пользователя своего подставить. Отработает без ошибок?
Андрей
так подними себе контейнер с ансиблом 2.9 да проверь
Андрей
потом разбери
Full
Подниму. Если у кого под рукой есть, мало ли.
Full
Не, нифига, не работает: Cannot execute SQL 'SHOW online_analyze.verbose': syntax error... verbose - зарезервированное слово, нужно в кавычки брать.
Full
Касается только settings - остальное все получает нормально.
Alex
https://serverfault.com/questions/875247/whats-the-difference-between-include-tasks-and-import-tasks а тут говорят - да
Vitaliy
Быстро разобраться не получилось. Казалось бы мелочь но не победил пока. Если был опыт, подскажите. есть stdout переменной такого вида: "patronictl_list_replicas.stdout": [ { "Cluster": "postgres-cluster", "Host": "10.128.64.140", "Member": "pgnode01", "Role": "Leader", "State": "running", "TL": 11 }, { "Cluster": "postgres-cluster", "Host": "10.128.64.142", "Lag in MB": 0, "Member": "pgnode02", "State": "running", "TL": 11 } ] } Мне нужно получить Member-ов за исключением тех у кого Role": "Leader"
Vitaliy
значения Member
Alex
значения Member
а кроме "Leader" бывают другие роли? Из вывода не понятно