citius
citius
А вообще берешь из документации пример vars_plugin и пишешь импорт переменных откуда угодно.
Navern
citius
Timur
Alexander
Anonymous
https://github.com/ansible/ansible/blob/devel/lib/ansible/plugins/vars/host_group_vars.py
Dmitriy
Всем доброго времени суток
Есть задача сделать единый playbook для установки разных версий ПО(того же java), чтоб можно было выбрать какую конкретно версию ставить.
Собственно гугл меня наткнул на вот такое(https://docs.ansible.com/ansible/latest/user_guide/playbooks_prompts.html)
В принципе выглядит почти как надо, но по хорошему хотелось бы видеть диалог вида "Нажмите 1 для установки ПО.1 Нажмите 2 для установки ПО.2"
Такое возможно ?
Dmitry
Dmitry
Dmitry
Dmitry
https://asciinema.org/a/84824
Timur
Dmitry
Timur
Для описанной задачи никакой баш не нужен
Timur
http://www.mydailytutorials.com/user-inputs-with-ansible-prompt-with-examples/
Dmitriy
George
сделайте набор стикеров Ansible-ready
Sergei
ничоси, капчу прикрутили
Sergei
привет , бандиты, вопрос. Хочу в хендлеры запихать блок, ансиболь его игнорирует. Это типа не солидно так делать?
George
в смысле?
Damir
Павел П.
А вот ещё фигня на 2.8.5: запускаю поейбук, все ок, и так раз пять. Запускаю шестой раз - и с минуту ничего не происходит, он тупо ничего не делает и только потом начинает выполнение. Параллельно на сервере ничего не происходит
Dmitriy
Damir
Думаю имелось ввиду, присутствует ли такая строка в плейбуке, gather_facts: no/yes
Dmitriy
Павел П.
Да, есть сбор фактов в этом плейбуке. Т.е. он по факту начинает сбор фактов, и только потом в консоли я вижу первую строчку вывода
PLAY [all] **
TASK [Gathering Facts] *
?
Павел П.
Я ожидал что эта минута ожидания сбора фактов будет уже после второй строчки пока таска и выполняется
Dmitriy
если често, то так глубоко логику я не знаю, я просто порекоммендовал то, с чего бы начал я :) отбросить лишнее чтоб добраться до истины
Павел П.
В общем дело не в том что долго из-за фактов, а в том что после ввода команды и перед выводом первой строчки вывода с минуту ничего не происходит вообще. И это воспроизводится нерегулярно.
Damir
А на каком таске у вас тупит выполнение? Есть что интересное verbose mode?
Павел П.
На 90% уверен что проблема локальна, но вдруг кто тоже сталкивался и есть что-то не очевидное.
Damir
А по dns/ssh нет проблем с коннективити?
Damir
В линуксах есть известная фича useDNS в sshd_config
Damir
что-то типо slow ssh login connection
Павел П.
У хоста явно прописан ansible_ssh_host ansible_ssh_port
Проблем с коннектами не замечено за долгое время до
Damir
Попробуйте добавить глобально в cfg файл, механизм кэширования в ансибл: gathering - explicit/smart
Павел П.
Отделение Bereke Bank
Alex
> В линуксах есть известная фича useDNS в sshd_config
это еще ладно, вот у AWS есть неприятная штука, они не прописывают ClientAliveInterval. Поэтому долгие таски отваливаются
Alex
а вот гугл сам добавляет
# Google Compute Engine times out connections after 10 minutes of inactivity.
# Keep alive ssh connections by sending a packet every 2 minutes.
ClientAliveInterval 120
Anonymous
Ребят, помогите плез, мне нужен двойной loop, или двойной with_items, я по доке чот ищу не могу найти
Aleksey
можно сделать отдельный файл с таской у которой loop, и этот файл инклудить тоже с лупом
Отделение Bereke Bank
Timur
Timur
А то новички часто излишние сложности придумывают
Anonymous
Alexander
Какие могут быть варианты?
Anonymous
Damir
Павел П.
Как успехи?
пока результатов нет, запусков мало
Timur
Павел П.
Timur
Тогда смотрите вывод с дебагом -vvvvv
Timur
Там видно, на каком этапе идет задержка
Damir
Павел П.
ага. до первого вывода vvvv с версиями питона и указания конфиг файла эта минута проходит
Alexander
Local_facts
А как правильно туда переменную засунуть, которую я сохраняю через register?
Anonymous
Anonymous
ini_file – Tweak settings in INI files — Ansible Documentation
https://docs.ansible.com/ansible/latest/modules/ini_file_module.html
Anonymous
Вот тут в примерах посмотри
Павел П.
Как успехи?
смена smart на explicit не помогла - 5 раз моментально начал выполняться, (запускал один за другим) на 6й раз - жду минуту
Dmitriy
http://www.mydailytutorials.com/user-inputs-with-ansible-prompt-with-examples/
немного запутался, для простоты сейчас упростил задачу нажмите 8 для установки mc, 9 для htop
что сейчас есть (https://pastebin.com/WxJrC8Kw)
переменную получаю, а как теперь в зависимости от значения переменной выполнять действие(в данном случае если нажали 8 или ничего то ставим MC, а если 9 то htop ?
Damir
Damir
Как вариант можно занятся тюнингом ssh сессий, посмотреть в сторону мультиплексирования сессий или включения конвейнерного режима в Ансибл или изменить значение по умолчанию параллелизма выполнения тасков
Павел П.
ага. Спасибо за советы, не критично и посмотрим уже фоново на всё это дело.
Павел П.
еще мысль: была б проблема с ssh - вываливалось бы с connect_timeout = 30
Alexander
Local_facts
Я прочитал только про добавление дополнительных переменных для слейвов