inqfen
Может этот members когда-то был нужен, но его забыли выпилить
Gunnery
Поэтому код надо комментировать
ну не базовые же вещи, типа - cd - это change directory и подобное
inqfen
inqfen
а это особенность чего-то там через 4 таски
inqfen
А в случае members - как раз таки надо было комментить что это и зачем
inqfen
Вот сейчас угадывать нужно
Tony
Пропиши для группы, а вновь напиленный хост кидай в группу. В след. плее, который должен крутить эту машинку по всякому, напскай ансибл на группу.
ага, я добавил add_hosts Но похоже читаю из него неправильно или еще что, он пытается подключиться не туда похоже https://pastebin.com/VrNdb7vL Пока не пойму что ему не нравится еще
Sergey
ага, я добавил add_hosts Но похоже читаю из него неправильно или еще что, он пытается подключиться не туда похоже https://pastebin.com/VrNdb7vL Пока не пойму что ему не нравится еще
Я не понял, а где у тебя нормальный плей с этой группой? Что за delegate_to? Этого не должно ничего быть, это bad practice, не надо Ansible переписывать на Ansible.
Anonymous
https://github.com/ansible/ansible/pull/69376/files
Anonymous
а как передать данные в binary, а не base64
Vladimir
Друзья, помогите найти решение
Vladimir
В поейбуке делаю инклуд папки с vars'ами include_vars: dir: vars extensions: - yml - yaml
Vladimir
Каждый файл определяет переменную "name" Дальше мне надо создавать файлы по одному шаблону, но разными именами, в зависимости от этой переменной - name: copy add rule template: src=templates/add_rules.j2 dest=/etc/firewall.d/{{ name }}.sh Но он, почему-то, делает один скрипт и идет дальше
Vladimir
Тут надо какой-то цикл применять? Как это сделать?
Alex
> Каждый файл определяет переменную "name" зачем?
Vladimir
Чтобы по одному шаблону создавались несколько файлов
Vladimir
У каждого файла свое название
Vladimir
Каких?
Отделение Bereke Bank
Это не обязательно
Отделение Bereke Bank
Отделение Bereke Bank
Да. Кавычки там нужны были бы еслиб эта херобора {{}} начинала или заканчивала бы строку
Vladimir
У меня создался скрипт с ковычками в названии
Vladimir
Не катит
Vladimir
google:ansible loop
Ну а чо в лупе то писать?
Vladimir
loop: "{{ lookup('file', "ansible_included_var_files") }}"
Vladimir
Типа такого?
Vladimir
Не робит
Pit
ну как-то почитай там, разберись как переменные работают
M
Всегда пихаю, а там как повезет
M
Они такие же люди и они тоже могут ошибаться
M
А показать
Anonymous
Коллеги, а ансибл умеет netplan ? А то что то не гуглиться. Везде костыли
George
Умеет, в костылях)
Anonymous
Костыли я и сам умею) думал а вдруг
Grek 🇺🇦
В nmcli умеет
Oleg Y.
Да. Кавычки там нужны были бы еслиб эта херобора {{}} начинала или заканчивала бы строку
а есть какой-то исчерпывающий список, когда кавычки по синтаксису не нужны? Просто "пихать кавычки на всякий случай" - очень распространенный кейс для Ansible, я хочу чуть лучше разобраться.
Отделение Bereke Bank
Как велит душа 😂
Oleg Y.
такое... Кстати для себя я пока остановился на этом style guide - https://github.com/whitecloud/ansible-styleguide#quotes (и вообще весь подход в документе мне нравится).
Anonymous
В nmcli умеет
Спасибо. Посмотрю
Anonymous
а не какой-то заметке в github
Oleg Y.
согласен. Но мне всегда было интересно знать, почему те или иные правила важны и почему всё так, а не эдак.
Anonymous
линт пишет описание
Anonymous
вроде этого достаточно
Oleg Y.
за сим пойду прикручу линт. Давно пора.
Anonymous
👍
Vladimir
Как лупу прикрутить, чтобы переменные переопределились несколько раз?
Vladimir
google:ansible loop
Расскажи подробнее пожалуйста, как это сделать?
inqfen
Загуглить?
inqfen
Все есть в документации с примерами
inqfen
https://docs.ansible.com/ansible/latest/user_guide/playbooks_loops.html
Damir
В поейбуке делаю инклуд папки с vars'ами include_vars: dir: vars extensions: - yml - yaml
Кровь глаза, уверены что нужно инклудить именно папку c варсами?
Damir
Так делать нельзя, это плохой пример плэйбука, я бы определял через переменную, как-то так include_vars: "{{ ansible_os_family }}.yml"
Damir
А вместо лупа, стоит использовать обвязку with_items, судя по контексту это то что вам нужно: with_items: "{{ targer_servers }}"
Vladimir
Так делать нельзя, это плохой пример плэйбука, я бы определял через переменную, как-то так include_vars: "{{ ansible_os_family }}.yml"
Вот так? - name: Add offices networks. include_vars: "{{ item }}.yml" with_item: - vars/first_office_networks - vars/second_office_networks
Vladimir
Не работает
Vladimir
This error can be suppressed as a warning using the "invalid_task_attribute_failed" configuration
Vladimir
Т.е. у меня несколько файлов, в которых определяются переменные. Переменные в каждом файле одинаковые (в этом и трудность) Т.е. мне видится вариант, запилить цикл, по которому будет инклюдиться один файл с переменными, прогоняться плейбук, инклюдиться ворой файл с переменными, снова прогоняться плейбук и т.д.
Vladimir
Одинаковые переменные - это принципиальная необходимость
Vladimir
В puppet'e такие задачи решают дефайны. Там с этим просто.
Maksim
Коллеги, подскажите по модулю win_certificate_store Устанавливаю сертификат в iis, получаю thumbprint в переменную дебага, далее хочу забиндить сертификат к сайту с использованием этой переменной, но не догоняю как =(
Lamobot
https://docs.ansible.com/ansible/latest/user_guide/playbooks_variables.html#defining-variables-in-files
Vladimir
А в чем проблема прогнать дважды плейбук? Перед каждым прогоном нужные переменные заинклюдить?
Когда всего два файла с переменными - проблем ни каких. А если их больше пяти, то уже начинаются проблемы.
Vladimir
Ладно. Буду думать другую логику. Всем спасибо.
Sergey
Ладно. Буду думать другую логику. Всем спасибо.
Ну в общем да, Ансибл своим дизайном предписывает лучшие практики, если тебе приходится как-то через сильное нехочу что-то делать - у тебя что-то не так.
Lamobot
Когда всего два файла с переменными - проблем ни каких. А если их больше пяти, то уже начинаются проблемы.
Как уже сказали, что-то здесь не так :) Можно попробовать через include_tasks в цикле. И через args передавать имя файла с переменными...
Vladimir
Попробую, спасибо
Vladimir
Какая задача вообще решается?
По шаблону формируются куча скриптов с разными переменными.
Maxim
Ну в общем да, Ансибл своим дизайном предписывает лучшие практики, если тебе приходится как-то через сильное нехочу что-то делать - у тебя что-то не так.
спорноватое утверждение ;) самый простой пример: есть группы хостов, пускай будут all, db, front, back, bastion есть юзеры, которые тоже делятся на условные группы: admins, developers, dba простецкая и очевидная задача: размещать (включая AllowUsers в sshd_config) юзеров так: - admins: all - developers: [front, back] - dba: db - all users: bastion то есть нужна некоторая роль, которая соберёт всех юзеров из релевантных для хоста групп, создаст их и добавит в sshd_config но тут вам не шеф - массивы/хеши на конверже не мержатся какие тут бескостыльные варианты?
Vladimir
По шаблону формируются куча скриптов с разными переменными.
Переменные одинаковые, но формируются разными командами. Хочется для каждой команды отдельный файл, чтобы удобно этим можно было управлять