У меня есть группа хостов с переменными хоста, как показано ниже
[test:children]
test1
test2
test3
[test:vars]
clean_images=true
У меня есть задачи, определенные в роли, показанной ниже
- name: clean docker images
template:
dest: "/etc/systemd/system/{{ item.name }}"
with_items:
- { name: "{{ service_name }}.service" }
- name: start service
systemd:
name: "{{ service_name }}.service"
state: started
enabled: yes
when: hostvars['test'].clean_images is defined
Это простые задачи,где я очищаю образы докеров в зависимости от хоста.У меня есть книга игр, которая выполняет эту роль в другом наборе групп хостов [test_services].Я хочу, чтобы задача - name: start service запускалась, если она сталкивается с какой-либо из групп хостов, определенных в [test: children] .Чтобы проверить, что я добавил переменную clean_images = true в группу test для выполнения проверки условия
Но оператор при у меня естьприведенное выше дает мне ошибку
fatal: [xx.xx.xx.xx]: FAILED! => {"msg": "The conditional check 'hostvars['test'].clean_images is defined' failed. The error was: error while evaluating conditional (hostvars['test'].clean_images is defined): \"hostvars['test']\" is undefined\n\nThe error appears to have been in 'main.yml'
У меня проблема с построением этого условного оператора с использованием , когда , любая помощь будет отличной.