Size: a a a

2021 June 27

L

Lamobot in Ansible
Переслано от Lamobot
Ну хочешь так сделай в assert :))
'groups["your_group"] | map("extract", hostvars, "your_var") | reject("undefined") | length = 1'
И не проще ли разделить сразу группы, вместо var?
источник

i

inqfen in Ansible
Плагин накатай
источник

VZ

Vladimir Zhurkin in Ansible
я не хочу указывать группу =)
источник

i

inqfen in Ansible
И проверяй в нем все свои условия до старта тасков деплоя
источник

VZ

Vladimir Zhurkin in Ansible
плагин чего ?
источник

i

inqfen in Ansible
А мы в каком чате?
источник

VZ

Vladimir Zhurkin in Ansible
в смысле какой ? :)
источник

i

inqfen in Ansible
Для ансибла вестимо
источник

i

inqfen in Ansible
Ну тут логически callback думаю подходит
источник

VZ

Vladimir Zhurkin in Ansible
T_T
источник

L

Lamobot in Ansible
Можно как у тебя в salt в цикле прогонять все тачки и искать переменные, считать сколько там каких а потом сравнивать :)
- set_fact:
   masters: '{{ masters | default(0) + 1 }}'
 when: 'hostvars[item]["your_var"] == "master"'
 loop: '{{ groups["your_group"] }}'
 run_once: yes
- assert:
   that:
     - 'master == 1'
   fail_msg: "You should have one and ONLY ONE master in variables!!!"
 run_once: yes
источник

VZ

Vladimir Zhurkin in Ansible
я не очень понимаю, чем плохо собрать результаты с двух тасков и если они пропущены то ничего не делать ?
источник

i

inqfen in Ansible
Хотя скорее strategy наверное
источник

i

inqfen in Ansible
Тем что результаты живут локально
источник

i

inqfen in Ansible
Так как это локальные действия
источник

VZ

Vladimir Zhurkin in Ansible
а ну да
источник

i

inqfen in Ansible
То что выполняется на контроллере и контролит флоу - это плагины
источник

i

inqfen in Ansible
Ты хочешь имплементировать свою кастомную логику - ну так и сделай это плагином
источник

VZ

Vladimir Zhurkin in Ansible
да я не то что хочу =)
источник

VZ

Vladimir Zhurkin in Ansible
я же не против сделать красиво
источник