citius
А вообще берешь из документации пример vars_plugin и пишешь импорт переменных откуда угодно.
citius
@tgadiev @CHIP0K @ag0n1k https://github.com/imcitius/ansible_vars_consul обещанный вчера скрипт.
Вот примерно возле того поста посмотри обсуждение
Anonymous
Там каеой то оч куцый пример:))
https://docs.ansible.com/ansible/latest/dev_guide/developing_plugins.html#vars-plugins
Anonymous
https://github.com/ansible/ansible/blob/devel/lib/ansible/plugins/vars/host_group_vars.py
Anonymous
Там каеой то оч куцый пример:))
документация + пример. см. две ссылки выше
Navern
документация + пример. см. две ссылки выше
Спс, уже видел:) надеялся на чтото чутка подробнее. Буду разбираться
Dmitriy
Всем доброго времени суток Есть задача сделать единый playbook для установки разных версий ПО(того же java), чтоб можно было выбрать какую конкретно версию ставить. Собственно гугл меня наткнул на вот такое(https://docs.ansible.com/ansible/latest/user_guide/playbooks_prompts.html) В принципе выглядит почти как надо, но по хорошему хотелось бы видеть диалог вида "Нажмите 1 для установки ПО.1 Нажмите 2 для установки ПО.2" Такое возможно ?
Anonymous
Спс, уже видел:) надеялся на чтото чутка подробнее. Буду разбираться
плагин можно скопировать к себе в "проект" и "потрогать". подробности https://docs.ansible.com/ansible/latest/dev_guide/developing_locally.html
Dmitriy
Зачем, если есть extra vars, которые можно указать при запуске ансибла
вы имеете ввиду (--extra-vars '{"version":"1.2.3") ? да, такой вариант я видел, спасибо, кажется что селектор был бы удобнее...ну мол есть вот такие версии, выбирай что нужно ставить.
Dmitry
https://asciinema.org/a/84824
Dmitriy
https://asciinema.org/a/84824
спасибо, в принципе баш я знаю, думаю написать можно :)
Dmitry
Все так
Timur
Для описанной задачи никакой баш не нужен
Timur
http://www.mydailytutorials.com/user-inputs-with-ansible-prompt-with-examples/
Dmitriy
http://www.mydailytutorials.com/user-inputs-with-ansible-prompt-with-examples/
да, спасибо, как раз "на баше" не хотелось бы(при всей моей любви к башу), почитаю.
Dmitriy
😂😂😂 сохраню себе
George
сделайте набор стикеров Ansible-ready
Sergei
ничоси, капчу прикрутили
Sergei
привет , бандиты, вопрос. Хочу в хендлеры запихать блок, ансиболь его игнорирует. Это типа не солидно так делать?
George
в смысле?
Павел П.
А вот ещё фигня на 2.8.5: запускаю поейбук, все ок, и так раз пять. Запускаю шестой раз - и с минуту ничего не происходит, он тупо ничего не делает и только потом начинает выполнение. Параллельно на сервере ничего не происходит
Павел П.
а вы сбор фактов отключили?(ну мало ли) ...
В каком месте? Не на конфиг файл ли намекаете?
Damir
Думаю имелось ввиду, присутствует ли такая строка в плейбуке, gather_facts: no/yes
Павел П.
Да, есть сбор фактов в этом плейбуке. Т.е. он по факту начинает сбор фактов, и только потом в консоли я вижу первую строчку вывода PLAY [all] ** TASK [Gathering Facts] * ?
Павел П.
Я ожидал что эта минута ожидания сбора фактов будет уже после второй строчки пока таска и выполняется
Dmitriy
если често, то так глубоко логику я не знаю, я просто порекоммендовал то, с чего бы начал я :) отбросить лишнее чтоб добраться до истины
Павел П.
В общем дело не в том что долго из-за фактов, а в том что после ввода команды и перед выводом первой строчки вывода с минуту ничего не происходит вообще. И это воспроизводится нерегулярно.
Damir
А на каком таске у вас тупит выполнение? Есть что интересное verbose mode?
Павел П.
А на каком таске у вас тупит выполнение? Есть что интересное verbose mode?
Ни на каком, в том и дело. Вбил команду с vvvv, нажал энтер, минуту ничего не происходит, потом начинается таска сбора фактов и остальные. В вербоузе ничего особенного, вывод абсолютно такой же как и прошлые 5 запусков когда все начинало выполняться моментально
Павел П.
На 90% уверен что проблема локальна, но вдруг кто тоже сталкивался и есть что-то не очевидное.
Damir
А по dns/ssh нет проблем с коннективити?
Damir
В линуксах есть известная фича useDNS в sshd_config
Damir
что-то типо slow ssh login connection
Павел П.
У хоста явно прописан ansible_ssh_host ansible_ssh_port Проблем с коннектами не замечено за долгое время до
Damir
Попробуйте добавить глобально в cfg файл, механизм кэширования в ансибл: gathering - explicit/smart
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
Aleksey
with_nested не твой случай? https://docs.ansible.com/ansible/2.4/playbooks_loops.html#nested-loops
не очень свежий пример, тогда уж вот актуальный вариант - https://docs.ansible.com/ansible/latest/user_guide/playbooks_loops.html#with-nested-with-cartesian декартово произведение двух списков
Timur
А то новички часто излишние сложности придумывают
Anonymous
А то новички часто излишние сложности придумывают
Не, не сложности, там прост по-другому никак, а помню, что типо уже как-то делала, и забыла как ))) with_nested крч))))
Alexander
Можно из ansible запихнуть переменную в env, чтобы она виделась после исполнения плейбука?
Я забыл учесть момент: плейбук исполняется на слейве. Нужно вынести знаечение переменной из слейва на мастер, где запускается плейбук
Alexander
Какие могут быть варианты?
Павел П.
Как успехи?
пока результатов нет, запусков мало
Timur
Тогда смотрите вывод с дебагом -vvvvv
Timur
Там видно, на каком этапе идет задержка
Павел П.
ага. до первого вывода vvvv с версиями питона и указания конфиг файла эта минута проходит
Alexander
Local_facts
А как правильно туда переменную засунуть, которую я сохраняю через register?
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
смена smart на explicit не помогла - 5 раз моментально начал выполняться, (запускал один за другим) на 6й раз - жду минуту
Очень странно что именно на 6й раз происходит зависание, ощущение что Ансибл тут ни при чем...
Damir
Как вариант можно занятся тюнингом ssh сессий, посмотреть в сторону мультиплексирования сессий или включения конвейнерного режима в Ансибл или изменить значение по умолчанию параллелизма выполнения тасков
Павел П.
ага. Спасибо за советы, не критично и посмотрим уже фоново на всё это дело.
Павел П.
еще мысль: была б проблема с ssh - вываливалось бы с connect_timeout = 30
Alexander
Local_facts
Я прочитал только про добавление дополнительных переменных для слейвов