У меня есть плейер, в котором размещается витруальная машина. Я хочу, чтобы проигрыватель задерживался, пока vm не получил ip-адрес. Я пытаюсь сделать цикл, но имеет ошибку.Как проверить переменную ipaddresses из результатов vsphere_guest в playbook?
tasks:
- vsphere_guest:
vcenter_hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_user }}"
password: "{{ vcenter_pass }}"
guest: "{{ inventory_hostname }}"
vmware_guest_facts: yes
validate_certs: no
register: vsphere_facts
until: vsphere_facts.ansible_facts.hw_eth0.ipaddresses[0] = "192.168.250.*"
retries: 20
delay: 60
{ "не удалось": true "MSG": "Условный проверка «vsphere_facts.ansible_facts.hw_eth0.ipaddresses [0] = \" 192.168.250. \ "" Ошибка: ошибка шаблона в то время как строка шаблона: ожидаемый токен 'конец блока оператора', полученный '='. Строка: {% if vsphere_facts.ansible_facts.hw_eth0.ipaddresses [0] = \ «192.168.250. \ "%} {% Правда еще%} {Ложные% ENDIF%}"}
Попробуйте '==' вместо '=' ... И это не будет работать из-за '*'. Вам нужно использовать фильтр 'match'. –
@ KonstantinSuvorov yep, '==' работает. Пожалуйста, дайте пример 'match' или укажите URL-адрес, так как я не могу найти – Nikita