我有部署vitrual机器的playbook。我想延迟运行playbook直到vm获取ip-address。我尝试make循环但是有错误。
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
{“failed”: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。 \”%} True {%else%} False {%endif%}“}
答案 0 :(得分:3)
您应该选择:
until: vsphere_facts.ansible_facts.hw_eth0.ipaddresses[0] | match("192.168.250.")
直接比较(使用==
)无法处理*
等通配符。