UglyKoyote
он ускоряет работу, говорили они)
Alex
а митоген нельзя включать/отключать для конкретного плея?
Sergey
а митоген нельзя включать/отключать для конкретного плея?
Что-то в консерватории не так, если стратегию нужно дёргать туда-сюда.
Alex
да это понятно, просто интересна сама возможность
Игорь
https://github.com/dw/mitogen/issues/443
Игорь
(невнимательно прочел вопрос(
Игорь
Что-то в консерватории не так, если стратегию нужно дёргать туда-сюда.
это требуется в исключительных случаях, в целом митоген ок
Vladislav 👻
а митоген нельзя включать/отключать для конкретного плея?
Я отключал в целом для дебага через обнуление/изменение одной env переменной. Можно попробовать её сбросить в плее
Gleb
https://github.com/radon-h2020/radon-ansible-metrics
Vladislav 👻
я вот тоже не понял
Lamobot
"text_entropy": 4.37 :)))
Aleksey
Привет, ткните носом, пожалуйста, как из ansible отправить http PATCH-запрос? REST API требует такого
Aleksey
Блин >_< Спасибо
Jungo
коллеги покажите пож-та пример как передать безопасно пароль из менеджера pass в переменную в плейбук pass show в консоли выдает перменную - я могу ее положить в env или теоретически могу запускать ansible из bash скрипта и передать переменную в сам ansible при запуске - но может есть способ красивее?
Max
Всем привет. Хочу в inventory указывать для некоторых хостов переменную. Типа: [host] my-host.com [host:vars] var=value А потом в jinja сделать условие. Типа такого: {% if var == value %} string_1 {% else %} string_2 {% endif %} И вот что-то с синтаксисом jinja не могу разобраться, как правильно писать-то?
Sergey
Как в питоне.
Jungo
ansible-vault?
можно но у меня пароли хранятся в pass хочу передать passphrase для шифрования luks
Max
{{ value_1 if var_1 == "value_3" else value_2 }}
Спасибо, буду пробовать. Моя конструкция почему-то ломается с ошибкой "AnsibleError: template error while templating string: no test named 'value'.
xXxSPYxXx
Подскажите, как правильно прописывать ssh пароль от сервера в AWX Inventory? В Credentials я могу прописать только для одного сервера и соответственно не смогу запустить job на всех серверах из inventory.
xXxSPYxXx
лучше всего перейти на ключи
Да так и есть, но не хочется вручную ключи добавлять =)
xXxSPYxXx
Получается нужно в любом случае сначала ключи добавить вручную, а потом уже работать через ansible?
Sebor▂▅▇█▓▒░
А зачем вручную?
Sebor▂▅▇█▓▒░
Провижениег делай
Anonymous
когда можно вножную
xXxSPYxXx
Провижениег делай
Я не понимать. Мне вот ДЦ выдал 12 серверов, логин-пароль, без ключей.
xXxSPYxXx
В этом случае только вручную, правильно?
Valiy
В этом случае только вручную, правильно?
запускаешь ansible-playbook -u user -k ... и вводишь пароль
xXxSPYxXx
Это и называется вручную
Jungo
ansible-vault?
вроде бы сделал серез shell и register
Jungo
ansible-vault?
а ннет - register делаю на localhost а пароль исползую на другом хосте и он говорит error was: 'pass_result' is undefined
Jungo
@partamonov hostvars['localhost']['foo'] передал короче так! сработало вроде бы
Игорь
а митоген нельзя включать/отключать для конкретного плея?
https://docs.ansible.com/ansible/latest/plugins/strategy.html ANSIBLE_STRATEGY='linear' ANSIBLE_STRATEGY='mitogen'
Junglist
Добрый вечер, вопрос по фильтрам: Есть группа group_a: hosts: host[1:2]: flags: - a - b - c host[3:4]: flags: - b host[5:6]: flags: - a Как получить во время рана список все хостов у которых есть 'a' in flags? что-то голову сломал
Иван
коллеги, добрый день, изучаю ансибл, есть вопрос - можем ли мы как то произвести проверку и подставить переменные в плейбук?
Иван
да я просто хочу подставить и посмотреть, правильно ли я сделал))
Иван
Какую задачу решаешь?
задачи нет, просто хочу посмотреть правильно ли подставились переменные и тд
Иван
спасибо @tnt4brain @Junglist_souljah
Boris 🦍
Привет, подскажите как можно обойти попытку создания директории на кадую итерацию списка, т.е запустить один раз и прекратить итерацитю. Например: - name: "Create bundle directory" file: path: "{{ install_bundles_dir }}" state: directory with_subelements: - "{{ bundles }}" - prefix when: > (item.1 ~ '-' ~ item.0.version) not in cdn_bundles_list Здесь я хотел бы создать директорию в случае, если хоть одного элемента из списка нет в другом списке один раз. Но получается, что будет столько попыток .сколько элементов нет в списке. Так то это не проблема, ибо директория создается идемпотентно, но хотелось бы понять, можно ли как-то break применить к циклу ?
Boris 🦍
Хорош уже программировать на Ансибле, правда-правда.
ну блин я бы рад, но вот такой кейс.. есть список есть подсписки, что сделать то
Sergey
Прочитай доку (https://docs.ansible.com/ansible/2.9/modules/file_module.html) и создавай сразу каталоги нижнего уровня, избегая странного.
Aleksandr
Приветствую. Подскажите, как в jinja2 template написать чтобы item в шаблоне понимался как ansible var, т.е. вот есть кусок из шаблона scrape_configs: {% for job in promtail_jobs %} {{ job | to_nice_yaml | indent(2, True) }} {% endfor %} promtail_jobs - это список [app1,app2,app3] Хочется чтобы в файл в итоге из этого шаблона попали содержимое переменных app1, app2... а не сами имена сами переменные app1,app2... описаны в другом файле, которые подключаются в таске. Или может в корне не верно мыслю. Спасибо
Aleksandr
Переделай список. То, что ты написал - это строки.
promtail_jobs: ['app1','app2','app3']
Sergey
ну вот да, строки и есть
Sergey
всё верно
Sergey
Замени строки на вызов шаблонизатора для соотв. переменных.
Sergey
Кончено: https://docs.ansible.com/ansible/latest/user_guide/playbooks_variables.html
Sergey
🙏🏻
Lamobot
Тьфу, вот так: selectattr/select("match", "^/dir/app1")
Vladimir
🤔 про мапы то я не очень подумал
Lamobot
Поправил
Vladimir
@Lamobot благодарю, буду пробовать . Но тогда получается это можно и нужно в loop
Vladimir
vars: fgm_archives: paths: src: '/opt/upload/' dest: '/opt/app/' patterns: '*.zip' recurse: "yes" fgm_archives_owner: user: 'root' group: 'root' mode: '0644' tasks: - name: Create list files in var find: paths: '{{ fgm_archives.paths.src }}' patterns: '{{ fgm_archives.patterns }}' recurse: '{{ fgm_archives.recurse }}' register: files_list - name: Extract Archives unarchive: src: '{{ item.path }}' dest: '{{ fgm_archives.paths.dest }}' remote_src: yes owner: '{{ fgm_archives_owner.user }}' group: '{{ fgm_archives_owner.group }}' mode: '{{ fgm_archives_owner.mode }}' loop: '{{ files_list.files }}'
Lamobot
'{{ files_list["files"] | selectattr("path", "match", "^/...") | list }}'
Vladimir
🤔
Lamobot
Или '{{ files_list["files"] | map(attribute="path") | select("match", "^/...") | list }}' И использовать просто item
Lamobot
Ошибка или не фильтрует?
Andrey
Как сделать проверку наличия пользователя и принадлежность его к группам?
Andrey
?
Lamobot
Как сделать проверку наличия пользователя и принадлежность его к группам?
Это не задача ансибла. Он может по вашим данным создать юзеров и выставить нужные группы.
Andrey
Мне нужно перед созданием юзера проверить, есть ли он и правильные ли у него группы. Не хочется перезаписывать группы
Andrey
Это есть) попросили проверку прикрутить
Vladislav 👻
Модуль user благо корректно работает при check
Aleksandr
для чего нужен ldap на два-три сервера или сервера которые между собой не пересекаются? Делать ещё одну точку отказа
Aleksandr
мною тут замечено что почти всегда предлагают ldap