Timur
Группы как раз и сделаны в ансибле для того, чтобы не быть жестко привязанными к хостам
Timur
Зачем их имена привязывать к naming convention и динамически генерить?
Timur
Какой в этом смысл?
Timur
Что мешает все нужные вам сервера перед накатыванием роли добавить в группу, на которую эта роль накатывается?
Timur
Это же проще, чем naming convention городить
Timur
Получается, что если чуть-чуть изменится структура инфры или название ваших исходных групп энвов, у вас вся система поломается
Timur
naming convention - это костыль, когда нет других способов нормально хендлить ссылки на нужные объекты и элементы
Womchik
к идемпотентному (без внесения изменений) описанию и контролю за соблюдением состояния экземпляра.
Денис
naming convention - это костыль, когда нет других способов нормально хендлить ссылки на нужные объекты и элементы
А если нужны разные переменные для разных этих окружений? Спрашиваю не спора ради, а понять как лучше
Денис
У меня тоже набор окружений одинаковых, но с кучей переменных, которые хранятся в групварсах
Womchik
group vars?
Timur
The preferred practice in Ansible is to not store variables in the main inventory file. In addition to storing variables directly in the inventory file, host and group variables can be stored in individual files relative to the inventory file (not directory, it is always the file).
Денис
Инклудить разные в зависимости от инвентори?
Timur
Варсы как раз можно подключать динамически по необходимости
Timur
Разные инвентари могут включать разные группы в виде child
Timur
И там же разные наборы переменных
Timur
Соответственно, для наката ролей на другой энв достаточно просто вызвать плейбуку с другим инвентарем - и все
Timur
Ни роли, ни плейбуки менять для этого не нужно
Timur
Основное назначение ролей как раз в том, чтобы их легко и без изменений кода можно было деплоить на разные энвы
Александр
Кто-нибудь использует buildbot для запуска ansible-playbook?
Денис
ну ни роли ни плейбуки я и так не меняю, максимум - приходится добавить новую группу в инвентари с нужными значениями
Денис
но я понял, бест практис - через инклюды, посмотрю в эту сторону
Денис
тогда вопрос, если одни и те же переменные нужны в 3 разных плеях - их надо каждый раз инклудить?
Денис
я как-то пол года назад ковырялся с этим, оказывалось, что они подключаются только для текущего плея
Timur
Переменные можно подключать на разных уровнях
Денис
хотя... я делал через директиву vars_files на уровне hosts, возможно если делать таском через include, то будет норм
Timur
Можно precedence посмотреть в доке. Там все варианты перечислены
Timur
Here is the order of precedence from least to greatest (the last listed variables winning prioritization): command line values (eg “-u user”) role defaults [1] inventory file or script group vars [2] inventory group_vars/all [3] playbook group_vars/all [3] inventory group_vars/* [3] playbook group_vars/* [3] inventory file or script host vars [2] inventory host_vars/* [3] playbook host_vars/* [3] host facts / cached set_facts [4] play vars play vars_prompt play vars_files role vars (defined in role/vars/main.yml) block vars (only for tasks in block) task vars (only for the task) include_vars set_facts / registered vars role (and include_role) params include params extra vars (always win precedence)
Денис
вопрос не про саму перезапись, а про возможность их подключить в одном play, а использовать во всех последующих
Timur
Если нужен совсем железный способ, то есть extra_vars
Timur
--extra-vars "@var_file.yml"
Timur
Из командной строки можно подключить файл с переменными, которые переписывают все нижележащие значения на всех остальных уровнях
Денис
спасибо, попробую
𝚔𝚟𝚊𝚙𝚜
gather_fats: yes - включить сборку жыра в плейбуке
Timur
Старый
кто сталкивался, что модуль копи перенёс данные а таск не завершался?
Александр
Русский речь покинул тебя Хрыч?
Александр
Таск не завершился, но данные перенеслись?
Старый
Таск не завершился, но данные перенеслись?
да, висит исполнение, хотя на самом деле уже все файлы перенесены
Старый
и не заканчивается
Александр
checksum
Александр
SHA1 checksum of the file being transferred. Used to validate that the copy of the file was successful. If this is not provided, ansible will use the local calculated checksum of the src file.
Александр
Проверяет видимо файлики
Старый
150 метров час?
Александр
Я хз, что ты там делаешь, просто предположил, почему может не завершиться процесс.
Александр
Может /dev/zero копирует? )
Александр
lsof что говорит?
Александр
Александр
Vadim
150 метров час?
отчего бы и нет? Смотри sha процессы
Oleg
помогите осмыслить ошибку? The error was: template error while templating string: expected token 'end of statement block', got '='. String: {% if user_status == \"present\" and rabbitmq_user_exists.stdout = 0 %} True {% else %} False {% endif %}\n\n
Oleg
я от него хочу чтобы он выполнял код по двум условиям
Timur
Должно быть: rabbitmq_user_exists.stdout == 0
Oleg
блин точно присвоение проморгал
Александр
Где мои глаза? Точно, двойное равенство. А я на блок среагировал почему-то.
Oleg
это чтобы если present не генерить)
ℭ𝔞𝔯𝔯𝔬𝔩
это чтобы если present не генерить)
не проще было модулем user делать?
Oleg
каким модулем*
Womchik
user
Oleg
это для кролика таска, там вроде нет такого модуля есть https://docs.ansible.com/ansible/latest/modules/rabbitmq_user_module.html
Oleg
он у меня тоже используется, но через него не получишь список юзеров
ℭ𝔞𝔯𝔯𝔬𝔩
а, не системный, понял
Anonymous
Benchmark PostgreSQL With Linux HugePages https://www.percona.com/blog/2018/12/20/benchmark-postgresql-with-linux-hugepages/
Womchik
там про ансибл?
Oleg
сомневаюсь)
𝚔𝚟𝚊𝚙𝚜
Хочу подправить k8s модуль, что бы поддерживал такие переменные как ansible_k8s_host и ansible_k8s_ssl_ca_cert прямо из inventory, по аналогии ansible_kubectl_host и kubectl_ssl_ca_cert для модуля kubectl. Но похоже что подобный подход работает для connection plugins, но не работает с обычными модулями. https://github.com/kvaps/ansible/commit/2811ec9ade3e833c8985f8e0701b1d1b4af23d6e Можно ли как-нибудь обучить ansible-модуль брать параметры из inventory таким же образом как и для connection plugins?
Sashko
есть кто по chef?
Womchik
кхм.
Womchik
/me перечитал название канала
Sashko
Так нет канала по чеф
Vadim
А как правильно писать "чеф" или "сеф"?
Марат
по-чешски - чеф
Sashko
А по нечешски?
Vadim
ааа, тогда сеф наверное по-словацки
Maxim
который стораж