Size: a a a

2021 March 15

RT

Ruslan Tyutin in Ansible
гуд!
источник

TG

Timur Gadiev in Ansible
Ruslan Tyutin
спрошу по другому, можно тут вывести что rsync не установлен и сейчас ставится
Вы хотите странного
источник

TG

Timur Gadiev in Ansible
Декларативность идёт лесом?
источник

E

Elenhil in Ansible
Ruslan Tyutin
Гайз всем привет. Нужна Ваша помощь . Хочу вывести сообщение что rsync не установлен и будет сейчас установлен. Это можно как-то сделать в том же таске?
на основании личного опыта - всем будет плевать на это сообщение
источник

E

Elenhil in Ansible
если у вас рсинк будет ставиться - у вас будет таска желтая
источник

YZ

Yerzhan Zhiyentayev in Ansible
Elenhil
на основании личного опыта - всем будет плевать на это сообщение
источник

E

Elenhil in Ansible
ну и ожидать что кто-то стабильно будет сидеть и пырить как оно будет ставиться - довольно наивно
источник

L

Linko22 а8з+ in Ansible
А, подскажите, пожалуйста, Может кто знает. При обновлении ansible с 2.3 на 2.9/2.10 callback_plugin выдаёт ошибку

[WARNING]: Failure using method (v2_playbook_on_play_start) in callback plugin (<ansible.plugins.callback.notify_ted.CallbackModule object at 0x7fe85f750dd8>): 'DataLoader' object has no attribute 'roles'

При попытке полностью переписать плагин с нуля используя текущий API всё равно получается ошибка о том, что нет аттрибута roles. Дело в том, что я его вообще ни где не вызываю, и описания о том, что он должен быть где то обозначен тоже нет. Попытки ковыряния в исходниках ansible тоже ни к чему не привели, там тоже нет упоминания о roles.
Ошибка вылезает в этой строке

variables = variable_manager.get_vars(play.get_loader(), play)

Конкретно что тут я пытаюсь сделать. При запуске
def v2_playbook_on_start(self, playbook):
Мне надо получить список хостов, к которому должен примениться плейбук.
источник

L

Linko22 а8з+ in Ansible
С другой стороны, к коду сильной привязки нет, мне бы подошел любой способ получить список хостов в этой функции.
источник

s

shadow in Ansible
Linko22 а8з+
А, подскажите, пожалуйста, Может кто знает. При обновлении ansible с 2.3 на 2.9/2.10 callback_plugin выдаёт ошибку

[WARNING]: Failure using method (v2_playbook_on_play_start) in callback plugin (<ansible.plugins.callback.notify_ted.CallbackModule object at 0x7fe85f750dd8>): 'DataLoader' object has no attribute 'roles'

При попытке полностью переписать плагин с нуля используя текущий API всё равно получается ошибка о том, что нет аттрибута roles. Дело в том, что я его вообще ни где не вызываю, и описания о том, что он должен быть где то обозначен тоже нет. Попытки ковыряния в исходниках ansible тоже ни к чему не привели, там тоже нет упоминания о roles.
Ошибка вылезает в этой строке

variables = variable_manager.get_vars(play.get_loader(), play)

Конкретно что тут я пытаюсь сделать. При запуске
def v2_playbook_on_start(self, playbook):
Мне надо получить список хостов, к которому должен примениться плейбук.
                except Exception as e:
                   display.warning(u"Failure using method (%s) in callback plugin (%s): %s" % (to_text(method_name), to_text(callback_plugin), to_text(e)))
                   from traceback import format_tb
                   from sys import exc_info
                   display.vvv('Callback Exception: \n' + ' '.join(format_tb(exc_info()[2])))
источник

s

shadow in Ansible
ansible не нравится метод v2_playbook_on_play_start в вашем кастомном callback_plugin
источник

s

shadow in Ansible
более подробно можно посмотреть Callback Exception:
источник

s

shadow in Ansible
через -vvv
источник

L

Linko22 а8з+ in Ansible
shadow
                except Exception as e:
                   display.warning(u"Failure using method (%s) in callback plugin (%s): %s" % (to_text(method_name), to_text(callback_plugin), to_text(e)))
                   from traceback import format_tb
                   from sys import exc_info
                   display.vvv('Callback Exception: \n' + ' '.join(format_tb(exc_info()[2])))
А display - это какой модуль надо импортрировать?
источник

s

shadow in Ansible
Linko22 а8з+
А display - это какой модуль надо импортрировать?
никакой, при запуске ansible добавьте опцию -vvv
источник

E

Elenhil in Ansible
господа. Вопрос.
есть shell который генерит файл
- name: generate tls-auth key
 become: yes
 command: openvpn --genkey --secret ta.key
 args:
   chdir: "{{openvpn_key_dir}}"
   creates: ta.key
как можно сделать это место идемпотентным? Чтобы каждый запуск ансиболи файл не перегенерился?
пока что вижу пару вариантов:
1) чекать что он уже есть и если есть - не запускать ( не очень варик, т.к. он там есть всегда)
2) класть сгенеренный файл в secretmanagement( hashi vault) и тащить оттуда

может есть что-то более ansible-way?
источник

YZ

Yerzhan Zhiyentayev in Ansible
Elenhil
господа. Вопрос.
есть shell который генерит файл
- name: generate tls-auth key
 become: yes
 command: openvpn --genkey --secret ta.key
 args:
   chdir: "{{openvpn_key_dir}}"
   creates: ta.key
как можно сделать это место идемпотентным? Чтобы каждый запуск ансиболи файл не перегенерился?
пока что вижу пару вариантов:
1) чекать что он уже есть и если есть - не запускать ( не очень варик, т.к. он там есть всегда)
2) класть сгенеренный файл в secretmanagement( hashi vault) и тащить оттуда

может есть что-то более ansible-way?
openssl-модули не умеют в этот формат?
источник

E

Elenhil in Ansible
Yerzhan Zhiyentayev
openssl-модули не умеют в этот формат?
я не нашел. Там какая-то склейка из блоуфиша и еще чего-то
источник

E

Elenhil in Ansible
обычный openssl по карйней мере не умеет
источник

YZ

Yerzhan Zhiyentayev in Ansible
Elenhil
господа. Вопрос.
есть shell который генерит файл
- name: generate tls-auth key
 become: yes
 command: openvpn --genkey --secret ta.key
 args:
   chdir: "{{openvpn_key_dir}}"
   creates: ta.key
как можно сделать это место идемпотентным? Чтобы каждый запуск ансиболи файл не перегенерился?
пока что вижу пару вариантов:
1) чекать что он уже есть и если есть - не запускать ( не очень варик, т.к. он там есть всегда)
2) класть сгенеренный файл в secretmanagement( hashi vault) и тащить оттуда

может есть что-то более ansible-way?
не очень понял момент с "есть всегда". при свежей установке openvpn он же отсутствует
источник