Valeriy
Да , python не обязателен, вы правы , если использовать raw модуль. При использовании connection: docker подключение по api к демону докера идет с контролл хоста , а не с хоста в отношении которого запущен плейбук и на котором работают контейнеры. А это совсем другая и не очень интересная история .
inqfen
ну, с вашими требованиями быстрее написать модуль, тем более если все будет заключаться в выполнении команды он будет небольшой
inqfen
это нужно далеко не всем, поэтому готового и нет
Valeriy
Модуль это слишком) Хотя посмотреть что там в коде docker connection plugin наверное стоит, может его можно заставит подключаться не с контролл хоста . А пока обойдусь костылями с контейнерами и агентом или просто шелл на хосте с docker exec ))
Sheridan
Утра, камрады. Подскажите, есть ли возможность определить наличие файла в шаблонах роли? Хотелось бы фильтра например или лукап какой. delegate_to и local_action не подходит, оно хочет полный путь к файлу...
Lamobot
Есть переменная role_path
https://docs.ansible.com/ansible/latest/reference_appendices/special_variables.html
Есть lookup'ы разные
К примеру https://docs.ansible.com/ansible/latest/plugins/lookup/fileglob.html
Sheridan
Похоже, вот такое срабатывает:
- name: Есть ли сгенерированные сертификаты?
set_fact:
f_root_cert_filename: "{{ v_root_cert_filename }}"
f_host_cert_filename: "{{ v_host_cert_filename }}"
f_root_cert_exists: "{{ lookup('file', v_root_cert_filename, errors='ignore') != '' }}"
f_host_cert_exists: "{{ lookup('file', v_host_cert_filename, errors='ignore') != '' }}"
vars:
v_root_cert_filename: "certificates/{{ target_instance }}/root.{{ primary_domain }}.crt"
v_host_cert_filename: "certificates/{{ target_instance }}/{{ certificate.hostname }}.{{ primary_domain }}.crt"
Timur
Timur
Sheridan
потому что "файлы роли" не так понятно что имеется в виду именоо role//files/ а не tasks/aaa.yaml например. А шаблоны - однозначно воспринимается как нечно не относящееся к коду. только поэтому )
Sergey
Sheridan
если нет - стартует кусок роли, который генерирует сертификаты на одном из хостов
Nick
подскажите, коллеги
раньше (до v2.6 включительно) такая конструкция
- name: Check nginx config
command: /usr/sbin/nginx -t
register: nginx_check
ignore_errors: True
- name: Revert config if needed
command: git reset --hard {{ latestcommit.stdout }} chdir=/etc/nginx/
when: nginx_check|failed
работала
теперь (v2.9) выдает во такое
"msg": "The conditional check 'nginx_check|failed' failed. The error was: template error while templating string: no filter named 'failed'. String: {% if nginx_check|failed %} True {% else %} False {% endif %}
что там поломали? )
Alex
еще в 2.7 result | test был deprecated
Sergey
Sheridan
Sergey
Sergey
а генерятся они тоже в случанйое место? O_o
Sergey
это канал пр оаниме, или всё-таки про IaaC?
Timur
Nick
доброе, да ) вот 3 года назад роль написали - она и работала )
как теперь это должно выглядеть, подскажете?
Timur
Timur
Автоматизация должна быть в нужном месте
Timur
А автоматизировать git reset при единичном фейле теста конфига - это вообще что-то с чем-то 😀
Николай
Nick
Vladislav 👻
Помогите с jinja и yaml, есть переменная
vars:
var1:
- test1
var2:
- test2
- test3
Есть темплейт на yaml конфиг:
config:
{{ vars }}
Должно быть вот так:
config:
var1:
- test1
var2:
- test2
- test3
Vladislav 👻
ident и nice_to_yaml что-то не спасают...
Timur
А что получается?
Vladislav 👻
лучшее, что смог добиться, это
config:
var1:
- test1
var2:
- test2
- test3
Iw@n
Добрый день, подскажите пожалуйста, при запуске плейбука ansible ругается на win_stat. Мне кажется, что его нужно ставить как отдельный плагин, я прав?
Iw@n
ERROR! 'win_stat' is not a valid attribute for a Play The error appears to be in '/etc/ansible/playbook/app-playbook.yml': line 33, column 3, but may be elsewhere in the file depending on the exact syntax problem. The offending line appears to be: - name: "Check for existing chocolatey install." ^ here
Iw@n
Vscode не ругается на синтаксис.
Iw@n
Timur
Vladislav 👻
я могу конечно через цикл сделать, но это хорошо, когда структура известна на количество вложенностей, хотелось бы более унифицировано переносить yaml из переменной в темплейт как есть
Яша
возможно ли результат отдельного таска из плэйбука записать в отдельный файл? если да, то как? пока не нашел
Timur
Timur
Яша
Яша
отступов не хватает вроде как
Timur
Timur
Timur
Зачем вообще такой странный таск понадобился?
Iw@n
отступов не хватает вроде как
Два пробела. Включена проверка, было бы подчёркивание, красное потому что ещё одно расширение цветом разные отступы выделен
Яша
Vladislav 👻
Яша
Timur
Яша
UglyKoyote
Яша - да тут проще, надо сдвигаться относительно tasks:)
Яша
Яша
- под первой S
Iw@n
Iw@n
Чтобы дальше в условии проверять
Timur
UglyKoyote
кстати по форматированию кода.. может кто юзает какой плагин к виму?
Timur
Зачем вам проверять условие наличия шоколада и ставить его по этому условию, если это и так делается самим модулем шоколада?
Timur
UglyKoyote
да не всегда возможность есть его поставить :( особенно на стороне заказчика
Яша
Timur
Яша
только хотел написать про хардкор)))
Timur
Iw@n
Timur
Если шоколад не установлен, то при первом вызове модуля шоколада он устанавливается самим модулем
Timur
Что именно в этом предложении непонятного?
Iw@n