Aleksandr
Sergey
Alex
Alex
6ка до 2023 года будет жить как минимум. Такой вот он суровый ынтерпрайз ;)
Sergey
Alex
tati_v_p
Подскажите пожалуйста, как получить имя файла в директории как переменную в плейбуке?
inqfen
што
inqfen
Имя какого файла в какую директорию?
Timur
Timur
Что вы хотите сделать конкретно?
Ivan
[IPT] Dmitry
- hosts: localhost
vars:
app:
- name: app_name
dir:
- builds
- conf
- logs
conf:
- config.1
- config.2
- config.3
# files:
# - file.1
# - file.2
# - file.3
tasks:
- name: copy app files
debug:
msg: "{{ item.0.name }}/conf/{{ item.1 }}"
when: item.files is defined
with_subelements:
- "{{ app }}"
- files
loop_control:
label:
- "{{ item.0.name }}"
- "{{ item.1 }}"
как правильно сделать?
msg: 'could not find ''files'' key in iterated item
Grek 🇺🇦
Sergey
Grek 🇺🇦
Oleg Y.
а зачем нужна сортировка по экшенам?)
Timur
Timur
Но исходная задача все равно не очень ясна
Timur
Еще можно модулем find список определенных файлов из директории вытащить:
https://docs.ansible.com/ansible/latest/modules/find_module.html
Timur
Timur
Oleg Y.
именно в плейбук, не в роль?
tati_v_p
т.е. в директории есть подходящие и неподходящие названия.
Подходящие сразу обрабатываются в плейбуке, а неподходящие - в другом.
Salem
не проще все в одном сделать?
Salem
если уже это одна задача
Oleg Y.
или каждому плейбуку - свой набор файлов...
Без вызова плейбука из плейбука.
Salem
если каждую else ветку в отдельном плейбуке хендлить...
Timur
Gunnery
Timur
Сама задача доволно странно звучит, если честно
tati_v_p
Gunnery
Timur
tati_v_p
tati_v_p
Timur
А что значит "обработать"? Скопировать куда-то или еще что?
tati_v_p
Timur
Vitaliy
Вопрос:
gather_facts работает для всего playbook или он кеширует значения собранных фактов только на уровне play ?
Т.е. нужно ли мне для каждого play gather_facts: true или достаточно на вернех уровне раз объявить, а потом gather_facts: false ?
Timur
Там есть и выборка по времени, по маске, именам, паттернам и т.п.
Timur
Vitaliy
[IPT] Dmitry
[IPT] Dmitry
может всё таки есть более нормальный способ описания приложения для этого?
Vitaliy
Timur
Vitaliy
точно, дока)
inqfen
Можно сделать сорт оф scm_common
inqfen
Я такого пока не видал
Anastasia
Подскажите, можно ли внутри роли вызвать таску с другим списоком хостов?
то есть, например, инвентори такой:
[test]
127.0.0.1
[test_new]
192.168.0.1
и сначала выполняется задача для test, а после выполняется другая задача для test_new. Кажется, сделать не сложно, но не очень понимаю, как
Sergey
Sergey
Сопоставление хостов и выполняемых тасков/ролей - это уровень плея.
Anastasia
а как можно? Задача решается такая: одним запуском ставить разный софт на разные хосты
Sergey
- hosts: <group1>
tasks:
- ...
- hosts: <group2>
tasks:
- ...
Sergey
Это два плея в одном плейбуке. Запускаются одной командой.
Anastasia
поняла. Спасибо большое!
Sergey
👍
Anton
Ребят, подскажите пожалуйста мне нужно на всех хостах с OS Linux с помощью ansible внести изменения в сетевой интерфейс, а именно добавить строку в конец файла:
DOMAIN=<указать домен окружения> (например: "DOMAIN=stg-kh.btr) В разных окружений будет разный суфикс домена
DOMAIN=stg-kh.btr
DOMAIN=stg-kh.os
и так далее.
Мне под каждое окружение плейбук писать?
---
- hosts: stg-kh.btr
remote_user: root
tasks:
- name: add string file network
echo: "DOMAIN=stg-kh.btr" >> /etc/sysconfig/network-scripts/ifcfg-eth0
- name: restart network
service: name=network state=restarted
Grek 🇺🇦
По хорошему - да. У тебя же разные именования интерфейсов, пути к их конфигам, и разные Нетворк менеджеры могут быть, соответственно и хендлеры разные
Vladislav 👻
Зачем? Там все в одном хватит, только переменные в инвентори раскидывай...
Oleg
Всем привет. Подскажите плиз, куда копать. Необходимо в плейбук добавить выполнение данной команды sudo sed -i.bak '/fi/a #xrdp multiple users configuration \n xfce-session \n' /etc/xrdp/startwm.sh
Использовать модуль shell?
Maksim
Alex
Anton
Anton
так можно?
Андрей
уж лучше это все в host_vars запихнуть, а не писать такие полотна
Fire
Fire
Use handlers, Luke.
Андрей
если нужно добавить строку в интерфейсы, то вообще можно это с помощью https://docs.ansible.com/ansible/latest/modules/lineinfile_module.html сделать