Max
Еще не приехало на CentOS.
а почему работаете без virtualenv?
DiNGeR
а почему работаете без virtualenv?
Наверно потому что пришлось гуглить что это такое. Ну и то что это не совсем линух, а коробочное решение.
Max
в принципе это усложняет тесты обновлений ансибла.
Max
в виртуаленвой можно тестировать несколько версий. без придется поднимать отдельные вмки.
Max
или контейнера
Max
но не критично.
Max
т.е. этого там вообще не должно быть.
DiNGeR
Я немного неясно выразился может, не совсем линух на клиентах. Сервер с ansible обычный CentOS.
DiNGeR
т.е. этого там вообще не должно быть.
Там - это в секции, или в инвентори вообще?
Max
gather_facts - емнип - не переменная. поэтому не должна сидеть в инвентаре
Max
может быть ее можно пхнуть под vars:
Max
но потом надо вызывать в плеях.
Vladislav 👻
Еще не приехало на CentOS.
что значит не приехало? рекомендованная установка через пип же вроде как
DiNGeR
что значит не приехало? рекомендованная установка через пип же вроде как
Я конечно каюсь, доку читал одним глазом. Но сейчас заглянул: "If you are wishing to run the latest released version of Ansible and you are running Red Hat Enterprise Linux (TM), CentOS, Fedora, Debian, or Ubuntu, we recommend using the OS package manager."
DiNGeR
Покажите инвентарь
До экспериментов с gather_facts: no?
DiNGeR
Покажите инвентарь
Инвентарь до опытов: https://pastebin.com/Hrnh0P8z
cent
Привет всем! Знаю что дикий костыль, но все же кто-то знает стандартную фичу как перезаписать переменную для конкретной роли прямо в плейбуке? - role: some vars_override: some: some2
Alexander
Как засунуть ansible_private_key_file в vault и пользоваться им не имея его на хосте без vault'а?
Alexander
вот так сделал
Не понимаю, это он plaintext'ом там лежит?
Vladislav 👻
Не понимаю, это он plaintext'ом там лежит?
в файле обычный приват ключ пропущенный через vault
Timur
В смысле?
В смысле, переменную для роли можно указать так, как я показал
Alexander
в файле обычный приват ключ пропущенный через vault
openstack_rsa - это через vault? Что-то не понял
Timur
Может быть ``` - role: some vars: some: some2 ``` ?
Нет. Просто - role: some somevar: somevalue
Alexander
А почему module copy знает, как его расшифровывать?
Alexander
Вообще, я глобально хотел, не для плейбука
Vladislav 👻
потому что "знает" из коробки
Alexander
Я вообще хотел бы что-то в ansible.cfg прописать, и чтобы это работало для всего. Т.е., чтобы ничего не менять, никаких плейбуков и ролей, но чтобы можно было ключ не хранить на хосте, а только vault_key_file
cent
Нет. Просто - role: some somevar: somevalue
Да, действительно, можно и так указывать. Но не суть. Проблема то не исчезает. Если ansible-playbook -e что-то передано, то оно перезапишет эту переменную
Alexander
Универсально, чтобы. А для каждого плейбука это устанешь писать.
cent
Ну и?
Ну, и мне нужно перезаписать то, что передано через ansible-playbook -e
Vladislav 👻
А почему плохая? Типа ключ в репе?
ага а так, в ansible.cfg можете прописать пасс на vault, либо передовать параметром запуска и вперед раскатывать репу
Timur
Ну, и мне нужно перезаписать то, что передано через ansible-playbook -e
Это невозможно. Через -e передаются extra vars. У них высший приоритет
Timur
https://docs.ansible.com/ansible/latest/user_guide/playbooks_variables.html#variable-precedence-where-should-i-put-a-variable
Alexander
ага а так, в ansible.cfg можете прописать пасс на vault, либо передовать параметром запуска и вперед раскатывать репу
Я почему задумался - коллеги пишут мутные плейбуки, с разным именем одного и того же ключа. Причём ключ на хосте должен лежать. И это ты такой как дебил ходишь и переименовываешь. Задумался об универсальном решении. Наверное, правильней будет просто переправить вручную и попросить больше так не делать ))
Timur
command line -e extra vars always winning
Alexander
ага а так, в ansible.cfg можете прописать пасс на vault, либо передовать параметром запуска и вперед раскатывать репу
А в своих, я, собственно, так и делаю. Передаю параметром vault_key_file. Но в ansible.cfg лежит путь к ssh ключу, который лежит на хосте.
cent
Да ладно?) Поэтому я и спрашиваю хак)))
Сорян за сарказм, увидел что давно уже через set_fact нельзя перезаписывать.
DiNGeR
Вернуcь к своему вопросу про отключение сбара фактов на группе хостов. Ansible ведь умеет рулить не только линуксом, но и сетевыми девайсами к примеру. Есть ведь продукты построенные на busybox и т.д. Может есть еще варинт "сказать" анзиблу не собирать факты, кроме как через gather_facts: no?
DiNGeR
а что не так с gather_facts: no?
Как его прикрутить к группе хостов? А не к playbook/role
Kirill
Как можно добавить несколько переменных в роли(<task>/main.yml)?
Kirill
объявить vars в начале файла?
Константин
roles/x/vars/main.yml ?
Либо roles/x/defaults/main.yml
Timur
Либо roles/x/defaults/main.yml
Это разные вещи
Timur
Поведение переменных из папок vars и defaults принципиально разное
Константин
Поведение переменных из папок vars и defaults принципиально разное
А в чем разница, если не сложно объяснить? Не нашел такой информации в доке, пока что использую defaults
John
кажется идемпотентность не всегда работает в ансибле. юзаю модуль vyos_interface в варсах был указан один адрес интерфейса. После применения адрес изменили, а ансибл прописал второй адрес. То что на интерфейсе остался и прежний адрес не очевидно мне было(
Kirill
Какого рода переменных?
Массив словариков
Timur
А в чем разница, если не сложно объяснить? Не нашел такой информации в доке, пока что использую defaults
У дефолтов самый низкий приоритет. Эти параметры роли могут быть легко перезаписаны на любом уровне: как в плейбуке, так и в инвентаре
Timur
В дефолты заносятся переменные, которые могут быть произвольно переопределены пользователем
Timur
В vars кладутся переменные с более высоким приоритетом. Их просто так не перезапишешь. Туда кладут обычно служебные параметры, произвольное изменение которых не предполагается
Timur
Массив словариков
В чем именно суть проблемы?
Timur
Спасибо большое, теперь понял
Как хороший пример, в vars кладутся разные наборы дефолтных значений переменных для разных окружений. Например, пути к приложению для Linux и для Windows.
Timur
А в дефолтах параметры ссылаются на переменные из vars
Константин
Хорошо, значит надо переписать свои переменные Я просто диплом пишу на ансибле, недавно начал изучать
Timur
В итоге мы получаем роль, которая имеет разные дефолтные параметры в зависимости от окружения, но которые при этом легко переопределить в плейбуке или инвентаре
Sergey
диплом на ансибле звучит как ПЗ на ансибле
Oleksandr
а что такое ПЗ
Sergey
Пояснительная Записка к дипломному проекту
Sergey
дока