Size: a a a

ansible — русскоговорящее сообщество

2021 August 10

ДС

Дмитрий Стародубцев... in ansible — русскоговорящее сообщество
Коллеги, добрый день.

Подскажите, как правильно выцепить нужные данные из модуля setup. Я хочу взять основной IP, маску и шлюз, чтобы потом их подставлять в j2 шаблон.
Пытался вот так с разными вариациями ' и []:
ansible exch_haproxy -m setup -a "{{ [ansible_facts][ansible_all_ipv4_addresses] }}" -u stb -K

Если выполнять просто ansible_facts, то всё норм. Но когда пытаюсь выделить что-то более конкретное, то выдает ошибку:
   "msg": "The task includes an option with an undefined variable. The error was: 'ansible_all_ipv4_addresses' is undefined"
либо
   "msg": "The task includes an option with an undefined variable. The error was: list object has no element AnsibleUndefined"
источник

IY

Ilya Yakimavets in ansible — русскоговорящее сообщество
Ковычки, это же обращение к элементу дикта
источник

ДС

Дмитрий Стародубцев... in ansible — русскоговорящее сообщество
"msg": "The task includes an option with an undefined variable. The error was: 'list object' has no attribute 'ansible_all_ipv4_addresses'"
источник

IY

Ilya Yakimavets in ansible — русскоговорящее сообщество
Убрать квадратные скобки вокруг ansible_facts?
источник

ДС

Дмитрий Стародубцев... in ansible — русскоговорящее сообщество
ansible exch_haproxy -m setup -a "{{ 'ansible_facts'['ansible_all_ipv4_addresses'] }}"
   "msg": "The task includes an option with an undefined variable. The error was: 'str object' has no attribute 'ansible_all_ipv4_addresses'"

ansible exch_haproxy -m setup -a "{{ ansible_facts['ansible_all_ipv4_addresses'] }}"
   "msg": "The task includes an option with an undefined variable. The error was: 'dict object' has no attribute 'ansible_all_ipv4_addresses'"
источник
2021 August 11

Vs

Vladislav support.od... in ansible — русскоговорящее сообщество
А подскажите, у ansible.cfg есть символ переноса строк? на \ - ругается :(
источник

Vs

Vladislav support.od... in ansible — русскоговорящее сообщество
Можно ли как-то приглушить  отображение

...
   "ansible_facts": {
       "discovered_interpreter_python": "/usr/bin/python3"
   },
...

?
источник

AN

Alexandr Novoselov in ansible — русскоговорящее сообщество
Задать путь к питону явно в инвентори
источник

Vs

Vladislav support.od... in ansible — русскоговорящее сообщество
Для каждого хоста в группе? Рилли?
источник

AN

Alexandr Novoselov in ansible — русскоговорящее сообщество
ну вы же задаете адреса в инвентори
https://docs.ansible.com/ansible/latest/reference_appendices/interpreter_discovery.html
источник
2021 August 12

M

Mikhail in ansible — русскоговорящее сообщество
Так вроде параллельно и выполняется на нескольких хостах. (forks задает количество, по умолчанию 5) Просто следующий таск не начинается, пока предыдущий таск не завершиться на всех хостах (это можно изменить используя strategy=free).
источник

M

Mikhail in ansible — русскоговорящее сообщество
Удостовериться в этом можно командой
ansible all -m shell -a 'date;sleep 10;date' -v
источник

AT

And True in ansible — русскоговорящее сообщество
Спасибо
источник
2021 August 13

D

Danethz in ansible — русскоговорящее сообщество
Приветствую!
Поделитесь, плиз, опытом использования ансибл:
1. Есть некая роль, которая, к примеру, обновляет mdatp на обслуживаемых серверах до последней версии. Как вы запускаете эту роль - руками, cron или какой-то внешний сервис передаёт команду?
2. Как собираете логи об ошибках, в случае автоматизации пункта 1?
3. Как обновляете файл hosts? Если в сети/облаке появились новые сервера, которые надо привести к необходимому состоянию.
4. Если есть плэйбук, создающий вм где-то в облаке, как автоматически добавить эту вм в какой-либо hosts?
Чувствую, что асимбл в соло не совсем удобен и шикарен в связке с чем-либо.Но могу ошибаться, разумеется.
В какую сторону читать? Какие актуальные best practice?
Пасиб заранее за инфу ))
источник

ВБ

Владимир Будыльников... in ansible — русскоговорящее сообщество
1) Github actions/gitlab ci/jenkins/... с запуском при мерже в мастер и постепенной раскаткой на 1 хост, потом 10%, потом 40%, 60%, 90%, 100% (ansible serial, если правильно помню) с проверкой работоспособности
2) см. п.1
3) etc host - плохая практика, тебе нужен service discovery. Для добавления в файл можно использовать модуль lineinfile
4. service discovery
источник

D

Danethz in ansible — русскоговорящее сообщество
Спасибо!
источник
2021 August 16

БТ

Беглый Тапок... in ansible — русскоговорящее сообщество
Господа, есть задача сменить DNS1 в настройках определенного сетевого интерфейса с помощью ansible. Помогайте, заустал уже в поисках ответа
источник

БТ

Беглый Тапок... in ansible — русскоговорящее сообщество
целевая OS = CentOS7
источник

C

CHIP in ansible — русскоговорящее сообщество
lineinfile?
источник

I

Ilgiz in ansible — русскоговорящее сообщество
Меняешь /etc/resolv.conf и алга
источник