Constantin
Проблема: если использовать loop или with_items в таске, то в лог выводится содержимое каждого item. В item лежат чувствительные данные, которые не хочется палить в консоль или лог-файл. Как решение, которое я нашел: добавить к таску loop_control.label: 'Ok' — в таком случае, вместо содержимого item Ansible выплюнет в лог Ok, для каждого элемента списка + сервера в группе
Constantin
no_log не подойдет?
Я не пробовал, если честно, уже решил проблему
Boris 🦍
Ребят, подскажите. Можно ли как-то заново зарегистрировать(перечитать) переменные из host_vars , если имя хоста определется модулем 'register' и совпадает с именем хоста в host_vars ?
Boris 🦍
Т.е в плейбуке, к примеру я регистрирую имена хотов так - name: "Get inventory name by cron name" local_action: 'command ls /tmp/hosts' register: dst_hosts
Boris 🦍
dst_host у меня зарегался как myserver.com
Boris 🦍
в host_vars есть такой сервер со всеми нужными переменными, как-то могу их использовать?
cent
Ребят, подскажите. Можно ли как-то заново зарегистрировать(перечитать) переменные из host_vars , если имя хоста определется модулем 'register' и совпадает с именем хоста в host_vars ?
Можно.) Но советую остановиться, потому что уже попахивает жуткими костылями и великами. Лучше все сделать так, чтобы было понятно из конфигов, а не мутной подгрузкой переменных внутри плейбука
Nikita
Всем привет, подскажите пожалуйста, если я хочу использовать callback, то мне надо скопировать его допустим в ~/.ansible/plugins/callback?
Fedor
You can activate a custom callback by either dropping it into a callback_plugins directory adjacent to your play, inside a role, or by putting it in one of the callback directory sources configured in ansible.cfg.
Fedor
https://docs.ansible.com/ansible/2.6/plugins/callback.html
Nikita
https://docs.ansible.com/ansible/2.6/plugins/callback.html
Ага, читал. Странно, что callback входит в пакет ansible, но чтобы его вызвать нужно его копировать себе
manefesto
а что это такое вообще за колбэки ?
Nikita
а что это такое вообще за колбэки ?
Точно определение не дам, но я использовал callback foreman, чтобы при запуске плейбуков или команд он все факты о хосте писал в foreman
manefesto
это типа сборка фактов ?
Nikita
Мне просто надо в foreman добавить инфу о паре сотен виртуалок, чтобы он после этого стал inventory для ansible
Nikita
это типа сборка фактов ?
Нет. Это больше модули, которые управляют данными, которые возвращает ansible
Denis
это типа сборка фактов ?
Мне кажется что это передача данных в другой какой-то сервис, чтобы он мог работать с ними. мое предположение)
Nikita
Callback plugins enable adding new behaviors to Ansible when responding to events. By default, callback plugins control most of the output you see when running the command line programs, but can also be used to add additional output, integrate with other tools and marshall the events to a storage backend.
Nikita
Собственно из доки
Denis
Собственно из доки
Не совсем понятно. Тебе получается с помощью ansible нужно собирать данные о нодах и передавать их в foreman
manefesto
о ВМ достаточно собрать факты, разве нет ?
Nikita
о ВМ достаточно собрать факты, разве нет ?
Так он факты и собирает. И собирает при каждом запуске ansible.
manefesto
ладно, раз оно мне не надо, то я и разбираться не буду =)
Denis
ладно, раз оно мне не надо, то я и разбираться не буду =)
Ну кстать полезная штука) Краем глаза увидел обсуждения и заинтересовался)
Nikita
Sergey
ладно, раз оно мне не надо, то я и разбираться не буду =)
Например, с помощью коллбэков искаропки оформляется весь выхлоп Ansible.
Sergey
Есть, к примеру, плагин коллбэка, который всё-вё кидает в эластик.
Sergey
https://github.com/enginyoyen/ansible-elasticsearch-callback
Sergey
или в логстэш - https://github.com/ujenmr/ansible-logstash-callback
Sergey
ну или уже зрелый логгер в syslog - https://docs.ansible.com/ansible/2.6/plugins/callback/syslog_json.html
Nklya
А в заббикс есть?))
Sergey
не видел, если найдёшь - предлагаю спрятать и никому не показывать, чтобы люди пальцами не тыкали на улице ;-)
manefesto
Забикс становится каким то архаизмом
Fedor
Как винпрокси в организациях 😁
Fedor
Не
Fedor
WinProxy 😁
manefesto
UserGate =)
Fedor
Дадада)))
Sergey
Тьфу, вон оно чего.
Fedor
Из той же оперы
manefesto
ZverCD
manefesto
я нашел
manefesto
https://windows64.net/windows-10-x64-skachat-torrent/sborki/142-windows-10-zver-enterprise-ltsb-x64-dvd-2018.html
Nikita
https://docs.ansible.com/ansible/2.5/modules/zabbix_host_module.html у модуля заббикс есть параметр inventory_zabbix
Nikita
Add Facts for a zabbix inventory (e.g. Tag) (see example below). Please review the interface documentation for more information on the supported properties https://www.zabbix.com/documentation/3.2/manual/api/reference/host/object#host_inventory
simplemice.eth
что то вы зафлудились
Constantin
Доброе утро всем! Подскажите, как в цикле Jinga получить индекс?
r9
https://stackoverflow.com/questions/12145434/how-to-output-loop-counter-in-python-jinja-template
Constantin
Ilya
Всем привет! Добавляю строчку в xml конфиг Tomcat'a, хочу добиться вот такой строчки: <user username="tomcat" password="tomcat" roles="admin-gui,admin-script,manager-gui,manager-script,manager-jmx,manager-status"/> Делаю так: - name: Add user to tomcat-users.xml xml: path: "{{ current_deploy_dir }}/conf/tomcat-users.xml" xpath: "/tomcat-users/user[@username=\"{{ item.username }}\" password=\"{{ item.password }}\" roles=\"{{ item.roles }}\"]" with_items: - { username: 'tomcat', password: 'tomcat', roles: 'admin-gui,admin-script,manager-gui,manager-script,manager-jmx,manager-status' } Проблема в том, что экранирование двойных кавычек не работает толком. Работает только вот в таком виде: xpath: "/tomcat-users/user[@username=\"{{ item.username }} password={{ item.password }} roles={{ item.roles }}\"]", а кавычки нужны после каждой переменной((
Ilya
Может кто сталкивался с таким?
Alexander
А почему не темплейтом?
Ilya
Есть потребность не использовать темплейт
Ilya
С темплейтом все было бы намного тривиальнее
Nklya
потому что мы не ищем легких путей))
Sergey
Есть потребность не использовать темплейт
Эта потребность говорит о сломанном (вернее, неисправном) процессе
Alexander
Ну теоретически можно передавать строку как base64 и так декодить и забыть про кавычки...
Alexander
Тоже неплохой костыль
Sergey
@balyko - https://docs.ansible.com/ansible/2.4/xml_module.html
Constantin
- name: Add user to tomcat-users.xml psxml: path: "{{ current_deploy_dir }}/conf/tomcat-users.xml" xpath: '/tomcat-users/user[@username="{{ item.username }}" password="{{ item.password }}" roles="{{ item.roles }}"]' with_items: - { username: 'tomcat', password: 'tomcat', roles: 'admin-gui,admin-script,manager-gui,manager-script,manager-jmx,manager-status' }
Ilya
Syntax error in xpath expression: /tomcat-users/user[@username="tomcat" password="tomcat" roles="admin-gui,admin-script,manager-gui,manager-script,manager-jmx,manager-status"] (Invalid predicate)
Ilya
Сорян, это обычный модуль xml
Ilya
Опечатка просто
Constantin
я не знал об этом модуле, ушел читать
Я просто скопировал код выше, и обернул в кавычки одинарных
Ilya
В итоге решение такое: xpath: '/tomcat-users/user[@username="tomcat" and @password="tomcat" and @roles="admin-gui,admin-script,manager-gui,manager-script,manager-jmx,manager-status"]'
/warn
Привет ребят! Есть вопрос. Такой вот плейбук который стартует модуль на питоне. Если стартовать из консоли, и давать параметры через - -extra-vars то все работает. А если стартовать с Ansible Tower и передавать параметры через surway то выдаёт синтаксическую ошибку. В чем может быть проблема? Спасибо.
/warn
manefesto
модуль то лежит рядом с плейбуком ?