Alexey
С виду упростить (но как бывает, по факту может и усложнить задачу)
Alexey
Ну и что бы понять и знать конечно ))
username
Alexey
Спасибо, приму на заметку, а так что бы знать для себя?
username
Смотря с каким инвентори запускаете, если там все хосты то на все и пойдёт,
Alexey
Понятно, значит вообще не пригодно.. Спасибо, буду читать про роли..
Maksim
Нужно в Meta прописать зависимость от роли, но с одним примечанием. Эта роль должна выполняться, если переменная в определенном значении. Как это можно сделать?
Div
добрый день, коллеги. я к вам с дурацким вопросом. как адаптировать регекс вида ((?:\w+-?)+)-\* для фильтра regex_findall ?
в голом виде я получаю сообщение :
- debug:
msg: "{{ pkgs | regex_findall('((?:\w+-?)+)-\*')}}"
^ here
Sergey
Max
какой тру способ управлять IP параметрами адресс маска гейт и т.д. ?
Dmitry
А кто скажет что они хотели скзаать этим коментом
# Example that prints two lines of messages, but only if there is an environment value set
- debug:
msg:
- "Provisioning based on YOUR_KEY which is: {{ lookup('env', 'YOUR_KEY') }}"
- "These servers were built using the password of '{{ password_used }}'. Please retain this for later use."
Timur
Dmitry
Dmitry
там в примерах
Timur
Timur
Если не задано - то в строке будет пустое место
Timur
Но сформулировано криво, согласен
Aleksey
Aleksey
Думаю тут минимум по 4
Aleksey
Выпилить всё из ядра
Aleksey
Нда
Lev
Выпилить всё из ядра
думаю они пошли по пути Ansible(посмотри тот же packer да и в целом hashicorp). выкинуть все из ядра и расширять плагинами. Меньше кода в ядре - меньше кодовая база - проще ревьюить итд. не тебе же это объяснять)
Alexey
Всем доброго дня, подскажите не могу найти как через Ansible добавить статический маршрут через интерфейс, что то типа такого:
239.192.0.0/16 dev bond0.800
Андрей
если хочешь совсем костыль, можно через shell:
Alexey
даа.. или файлом но это не совсем то чего бы хотелось...
Sergey
Maksim
Подскажите, как мне в handlers занести 2 таска с одинаковыми названиями ( чтобы их из notify вызывать), но с разными условиями
Maksim
- name: nginx-admin was configured
service:
name: nginx
state: reloaded
enabled: yes
when: ssl.enabled
- name: nginx-admin was configured
service:
name: openresty
state: restarted
enabled: yes
when: not ssl.enabled
Так не работает, делает проверку по первому таску, говорит что false и дальше нре идет
Div
а не проще убрать условия в хэндлерах и приклеить их к таскам?
Vladislav 👻
А расскажите, у кого какие практики по значению ansible_managed?
Есть где-то список переменных, которые можно там использовать?
Vladislav 👻
Я так понимаю, только это...
# Format of string {{ ansible_managed }} available within Jinja2
# templates indicates to users editing templates files will be replaced.
# replacing {file}, {host} and {uid} and strftime codes with proper values.
#
#ansible_managed = Ansible managed: {file} modified on %Y-%m-%d %H:%M:%S by {uid} on {host}
# {file}, {host}, {uid}, and the timestamp can all interfere with idempotence
# in some situations so the default is a static string:
#
#ansible_managed = Ansible managed
Timur
Stefan
господа, проясните такой момент
ансибл умеет делать так?
{% for alias in aliases.administrator, aliases.postmaster %}
ALIASES: '{{ alias.name }}'
{% endfor %}
сами переменные выглядят так:
aliases:
administrator:
- name: 'administrator:mtu_hd@domain.com;'
postmaster:
- name: 'postmaster:mtu_hd@domain.com;'
а то ругается:
"AnsibleUndefinedVariable: 'list object' has no attribute 'name'"}
Stefan
если одно что-то оставлю, то работает..
Sergey
Stefan
куда копнуть можно?
Sergey
{% for alias in (aliases['administrator'] + aliases['postmaster']) %}
не надо копать, достаточно просто сделать то, что я выше написал
Stefan
[IPT] Dmitry
а как-то можно более сразу выводить всегда stdout из shell вместо дополнительного task с debug msg?
Alex
[IPT] Dmitry
можно пример?
я имею ввиду, что-то типа
- name: some shell
shell: "echo some_stdout"
stdout: true
вместо
- name: some shell
shell: "echo some_stdout"
register: shell_result
- name: print shell stdout
debug:
msg: "{{ shell_result.stdout }}"
[IPT] Dmitry
в общем, хотелось бы любой более элегантный вариант
Vladislav 👻
ansible -m shell -a?
Vladislav 👻
или вам надо 100500 в stdout? o_0
[IPT] Dmitry
все наверно уже пьяны 😁 блин, вопрос вроде явный и понятный 🤔
Vladislav 👻
ну просто в таске это избыток, есть -v, есть дебаг, более того, есть тег под дебаг
[IPT] Dmitry
кому избыток, а кому норм. у меня там вложенная идемпотентность, хочу всегда знать что там
Sergey
ansible 2.9 может в loop через списки, в которых есть списки хешей?
inqfen
каких хешей?
Sergey
в доке вот смотрю
https://docs.ansible.com/ansible/latest/user_guide/playbooks_loops.html#iterating-over-a-simple-list - это список
https://docs.ansible.com/ansible/latest/user_guide/playbooks_loops.html#iterating-over-a-list-of-hashes - список с хешами
я хочу вложить второе в первое, но луп не хочет брать)
inqfen
А, список словарей
inqfen
Ты пальцем лучше код покажи
Sergey
- name: Deploy file_sd rules
template:
src: "{{ item.src }}"
dest: "{{ item.dest }}"
loop:
- "{{ file_sd_configs }}"
- "{{ prometheus_rules }}"
- "{{ grafana_configs }}"
с with_items это работало, я просто на loop перевожу
Sergey
сам словарь задан через инклюд ямла с переменными
Sergey
а получаю "The task includes an option with an undefined variable. The error was: 'list object' has no attribute 'dest'
Vladislav 👻
точно можно через инклуд, но я все равно не понял, зачем так сложно
inqfen
dict2items
inqfen
Типа
"{{ file_sd_configs | dict2items }}"
Sergey
Sergey
Sergey
Alexey
А можете помочь новичку пожалуйста.. чисто косметический вопрос, есть переменная:
nginx_http_log_format: |
'$remote_addr - $remote_user [$time_local] "$request"'
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"'
Выводится вот так:
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
А хотелось бы что бы было так:
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
Ivan
Alexey
Alexey
Alexey
Sergey
https://yaml.org/spec/1.2/spec.html#id2760395
Alexey
Спасибо покурю)
Tadeusz
правильно ли я понимаю что модуль git не умеет commit/push? только костылить через shell ?
Отделение Bereke Bank
А зачем? 🤔
Tadeusz
ну вот есть такой кейс )
Tadeusz
да, костыльно-каличный, но надо
Timur
Tadeusz
а можно пример?