Size: a a a

2021 March 15

VZ

Vladimir Zhurkin 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?
Лучше положить отдельно и не генерировать .
источник

VZ

Vladimir Zhurkin in Ansible
Если вам нужен будет другой файл ? или два файла на машине ?
источник

E

Elenhil in Ansible
Yerzhan Zhiyentayev
не очень понял момент с "есть всегда". при свежей установке openvpn он же отсутствует
там хитрая система - пб раскатывается на уже существующий опенвпн (который отдельно ставится и заворачивается в ажурный образ), и должен перегенерить этот секрет
источник

VZ

Vladimir Zhurkin in Ansible
ну так делайте группу в инвентори и раскатывайте
источник

E

Elenhil in Ansible
Vladimir Zhurkin
Если вам нужен будет другой файл ? или два файла на машине ?
какой другой файл? два файла точно не нужны будут никогда
источник

E

Elenhil in Ansible
Vladimir Zhurkin
ну так делайте группу в инвентори и раскатывайте
Так и раскатываю
источник

VZ

Vladimir Zhurkin in Ansible
ну и в чем проблема то ?
источник

VZ

Vladimir Zhurkin in Ansible
кладем в files / раскатываем
источник

E

Elenhil in Ansible
Vladimir Zhurkin
ну и в чем проблема то ?
В моем вопросе выше
источник

E

Elenhil in Ansible
Vladimir Zhurkin
кладем в files / раскатываем
много динамических енвайронментов, не вариант иметь их статичными
источник

E

Elenhil in Ansible
вопрос именно в генерации
источник

VZ

Vladimir Zhurkin in Ansible
ну делайте на  динамику
источник

E

Elenhil in Ansible
вопрос вообще, "как сделать чтобы шелл запускался только при первом запуске, а в последующие разы - нет" кроме вариантов отсюда: https://t.me/pro_ansible/184434
источник

VC

Vladimir Chernyshev in Ansible
Elenhil
много динамических енвайронментов, не вариант иметь их статичными
сделайте файловый флаг какой-то на хосте:что файл уже перегенерирован
источник

E

Elenhil in Ansible
Vladimir Chernyshev
сделайте файловый флаг какой-то на хосте:что файл уже перегенерирован
да, этот вариант тоже думал, спасибо
источник

Г

Григорий in Ansible
Всем привет
Подскажите, как быть
default фильтр рабоатет, если переменная не задана, но не работает, если ключ в словаре не задан
можно как-то его заставить работать с отстутствующим ключом?)
источник

VC

Vladimir Chernyshev in Ansible
Elenhil
да, этот вариант тоже думал, спасибо
так вон даже в осях делают типа ~/.sudo_as_admin_successfu
источник

Г

Григорий in Ansible
Григорий
Всем привет
Подскажите, как быть
default фильтр рабоатет, если переменная не задана, но не работает, если ключ в словаре не задан
можно как-то его заставить работать с отстутствующим ключом?)
а, почитал доку повнимательнее и пошел повышать версию ансибла, всем спасибо)
источник

L

Linko22 а8з+ in Ansible
shadow
никакой, при запуске ansible добавьте опцию -vvv
from ansible.utils.display import Display
from ansible.module_utils._text import to_text

Пришлось добавить это, ещё не понятно, как завести method_name
источник

s

shadow in Ansible
Linko22 а8з+
from ansible.utils.display import Display
from ansible.module_utils._text import to_text

Пришлось добавить это, ещё не понятно, как завести method_name
обвертка выше это из task_queue_manager.py , т.е. там уже есть этот код и необходимые импорты
источник