Anonymous
понял Спасибо! Пошел тестировать
Timur
Что-то типа: - name: GET instances list ec2_instance_facts: filters: "tag:Name": '{{ inst }}' register: ec2_sets
Точнее: - name: GET instances list ec2_instance_facts: filters: "tag:Name": '{{ inst }}' register: ec2_sets - debug: msg: 'Public ip: {{ item.public_ip_address}}' with_items: '{{ ec2_sets.instances }}'
Alexander
Что-то типа: - name: GET instances list ec2_instance_facts: filters: "tag:Name": '{{ inst }}' register: ec2_sets
А можно ли как-нибудь просто посмотреть, что у меня inventory собирает? Там же есть уже вся эта инфа.
Alexander
Я уже
Alexander
- name: inventory vars debug: msg: "{{ hostvars[item].ec2_dns_name }}" with_items: "{{ groups['tag_Name_mytag'] }}"
Alexander
Теперь мне бы сплющить это в строку
Aleksey
/help@ansible_ru_bot
Timur
/help@ansible_ru_bot
Aleksey
А, ну низзя значит низзя
Timur
Теперь мне бы сплющить это в строку
Что именно сплющить в строку?
Alexander
Что именно сплющить в строку?
Вот эти DNS имена, которые я получаю, я их хочу в connection_string вставить.
Timur
Какой connection_string? Чтобы что?
Alexander
Это неважно, важно, что мне нужен этот список строкой в переменную вставить.
Alexander
Да, спасибо, я посмотреть не успел ещё.
Kirill
для того чтоб заработал delegate_to: localhost надо что-то особенное сделать в инвенторях?
Constantin
для того чтоб заработал delegate_to: localhost надо что-то особенное сделать в инвенторях?
нет, главное, чтобы если у вас для всех тасков стоит в начале плэйбука become: yes, для этого он был выключен, если он вам явно не нужен
V 🏴‍☠️
Добра
V 🏴‍☠️
Что-то я нагуглить не могу, подскажите, может кто знает, как сделать, чтоб плейбук выполнялся последовательно по хостам? Надо чтоб так запускался на хосте, выполнялся полностью и только потом шёл к другому хосту из инвентори
simplemice.eth
;)
Ivan
serial: в общем
V 🏴‍☠️
Ну я понял, да
V 🏴‍☠️
Ещё раз спасибо
Ivan
serial: в общем
Я просто tl:dr для себя сделал :)
Div
доброго дня, коллеги. прошу помощи в дебаге hostvars. в файле inventory у меня две группы хостов : целевой сервер и группа хостов для добавления на сервер. при попытках получить ansible_fqdn из hostvars получаю ответ что такой переменной нет. при дебаге самой переменой hostvars в вариантах hostvars[item] и hostvars[inventory_hostname] вижу только переменные с целевого сервера т.е. в hostvars нет фактов собранных с целевых хостов. для инфо : пробовал исполнять роль на awx 1.0.72 с ансиблем 2.6.2 и из ансиблей 2.6.4 и 2.7 из virtualenv.
Div
я хочу добавить группу хостов на сервер мониторинга.
Navern
я хочу добавить группу хостов на сервер мониторинга.
Как это выглядит? какая то криптофраза
Div
думаю, что я где то просто налажал и роль собирает факты только с первой группы(т.е. с сервера)
Zhyhanov
Ребят, а если мне нужно одну из таск выполнить на одном только хосте. Если я укажу в самой таске параметр hosts с помощью переменой, будет ли это верно ?
Anton
—limit
Kirill
Или -l
Zhyhanov
та лиминт то понятно, я хочу что бы у меня в роли одна из таск выполнялась на одном хосте всегда
Zhyhanov
ну например есть tasks/create_admin_user.yml и ее нужно выполнить только на мастер ноде например. И в defaults/main.yml я передам в переменую кто будет мастер
Zhyhanov
спасибо я уже разобрался. Я это и так задал. Меня интересовал как запускать task на определнном хосте. Но сделал через when.
Sergey
Кто подскажет где прочитать про jinja2 условия с множеством элементов? пример есть 8 хостов, по 2 хоста на каждой среде с суффиксом 1 или 2 мне нужен j2 шаблон который будет менять одно значение в конфиге в зависимости от имени хоста пример perf1 stage1 prod1 rc1 должны брать значение 100 perf2 stage2 rc2 prod2 брать значение 101 {% if ansible_hostname == "perf-proxysql1" or "rc-proxysql1" or "prod-proxysql1" or "stage-proxysql1" %} priority 100 {% else %} priority 101 {% endif %} не работает
Sergey
чет мне кажется я напутал с or
Vladislav 👻
Подскажите, а куда можно пихнуть файлы для хостов/групп? С переменными все понятно, а вот как бы SSL серты с ключами раскидать?
matt
хранить их в ansible-vault как обычные переменные
Vladislav 👻
как переменные? о_0
matt
Constantin
Приватный ключ в чате?
Tadeusz
ыыы
V 🏴‍☠️
Tadeusz
кусок)
Constantin
Ну собери его
Я не настолько скиловый, но вроде это бэд практис
matt
Приватный ключ в чате?
ну там ещё 3кб остатка
Vladislav 👻
а добавлять руками? просто хотелось бы автоматизировать сей процесс 🤔
matt
што
Vladislav 👻
хотя, если учесть, что я все равно делаю реквест и руками качаю, наверно можно сразу и в переменную загнать
V 🏴‍☠️
Подскажите, а куда можно пихнуть файлы для хостов/групп? С переменными все понятно, а вот как бы SSL серты с ключами раскидать?
Вообще у меня такая штука используется. Есть fabio, consul и vault. Сервис при запуске регается в консуле, фабио забирает данные о сервисе из тегов, потом лезет в вольт и забирает из вольта сертификаты, которые сам же и генерит. TTL у сертов минимальный
V 🏴‍☠️
fabio - это реверс прокси
Vladislav 👻
интересное решение, консул я через месяц где-то планировал внедрять
V 🏴‍☠️
Ну тут конечно много всего, полная связка включает docker, nomad, consul, vault, fabio, ansible
V 🏴‍☠️
И gitlabCI
Victor
хотя, если учесть, что я все равно делаю реквест и руками качаю, наверно можно сразу и в переменную загнать
Но ведь можно все делать плейбуком, и ключ с реквестом на целевой машине, и подпись и деплой.
Victor
И нихера не хранить
Vladislav 👻
не могу так, я нас своя политика по выпуску сертов
Victor
На флешках сертификаты передаете?
Vladislav 👻
https://stackoverflow.com/questions/3790454/in-yaml-how-do-i-break-a-string-over-multiple-lines/21699210#21699210
Vladislav 👻
а почему вертикальная черта, а не знак больше?
Vladislav 👻
а не, все верно, туплю
Victor
потому что знак больше это в одну строку загонит разделив пробелами
Vladislav 👻
что-то не пойму, у меня ансибл ругается на такую переменную
Vladislav 👻
а все, разобрался
Victor
Павел П.
Добрый вечер, вопрос по (интерфейсу?) AWX возник. Возможно ли выполнять job'ы только на группах серверов? Заходя в Templates вижу выбор только Inventory, который в идеале хотелось бы иметь один, а разбивать хосты на группы. Но выбора групп хостов в интерфейсе не вижу, и это сбивает с толку.
Павел П.
Alexander
подскажите, плз, а в каком формате вы передаёте extra_vars через tower_cli? столкнулся с tower_cli.exceptions.TowerCLIError: failed to parse some of the extra variables.
Alexander
делал как-то так get_resource('job_template').create(**jt), jt = {'extra_vars': yaml.safe_dump(some_dict_with_my_extra_vars), ...}
Alexander
1.) extra_vars = yaml.safe_dump(some_dict) 2.) extra_vars = json.dumps(some_dict) 3.) extra_vars = some_dict - эти варианты тоже не сработали