如何在剧本中做等待元素
How to do waiting elements in playbook
我有创建虚拟机的剧本。我需要等待什么时候会出现网络。元素不存在怎么办?
部分我的剧本:
- ovirt_nics_facts:
vm: "{{ vm }}"
auth: "{{ ovirt_auth }}"
register: nics_facts
until: (ovirt_nics[0].reported_devices[0].ips[0].address is search("10.10.20.")) or
(ovirt_nics[0].reported_devices[0].ips[0].address is search("192.168.250."))
retries: 20
delay: 60
错误:
fatal: [localhost]: FAILED! => {"msg": "The conditional check 'ovirt_nics[0].reported_devices[0].ips[0].address is defined' failed. The error was: error while evaluating conditional (ovirt_nics[0].reported_devices[0].ips[0].address is defined): list object has no element 0"}
我决定麻烦了:
- name: add vm to temporary inventory
block:
- ovirt_nics_facts:
vm: "{{ vm }}"
auth: "{{ ovirt_auth }}"
register: nics_facts
until: ovirt_nics[0].reported_devices|length > 0
retries: 20
delay: 60
我有创建虚拟机的剧本。我需要等待什么时候会出现网络。元素不存在怎么办?
部分我的剧本:
- ovirt_nics_facts:
vm: "{{ vm }}"
auth: "{{ ovirt_auth }}"
register: nics_facts
until: (ovirt_nics[0].reported_devices[0].ips[0].address is search("10.10.20.")) or
(ovirt_nics[0].reported_devices[0].ips[0].address is search("192.168.250."))
retries: 20
delay: 60
错误:
fatal: [localhost]: FAILED! => {"msg": "The conditional check 'ovirt_nics[0].reported_devices[0].ips[0].address is defined' failed. The error was: error while evaluating conditional (ovirt_nics[0].reported_devices[0].ips[0].address is defined): list object has no element 0"}
我决定麻烦了:
- name: add vm to temporary inventory
block:
- ovirt_nics_facts:
vm: "{{ vm }}"
auth: "{{ ovirt_auth }}"
register: nics_facts
until: ovirt_nics[0].reported_devices|length > 0
retries: 20
delay: 60