我正在将Ansible与dynamic inventory plugin一起用于在libvirt中构建一些虚拟机。创建机器之后,我需要等待它们获取IP地址。我不能简单地做到这一点:
- wait_for_connection:
因为创建虚拟机后,它们将立即没有IP地址。我需要做的是:
- name: wait until node has acquired an address
meta: refresh_inventory
until: ansible_host|ipaddr
retries: 30
delay: 1
- name: wait until node has finished booting
wait_for_connection:
也就是说,我需要等到每个主机的清单信息在ansible_host
中包含一个地址。不幸的是,以上任务无效:仅执行一次并继续。
我可以硬编码一个延迟:
- pause:
seconds: 30
但是我很乐意在这里进行更积极的检查,以避免不必要的延误(如果花费的时间比预期的长,那么会出现问题)。>>
我正在将Ansible与动态清单插件配合使用,以在libvirt中构建一些虚拟机。创建机器之后,我需要等待它们获取IP地址。我不能简单地做到这一点:-...
稍微摆弄一下之后,这就是我最终要做的事情: