Ansible在执行创建VM的角色之前尝试连接到VM IP

Ansible在执行创建VM的角色之前尝试连接到VM IP,ansible,vmware,orchestration,Ansible,Vmware,Orchestration,我正在尝试开发一个Ansible脚本来生成VM。我编写了一个myvm角色,其中包含编排vmware\u guest的脚本。此脚本包含vmware\u guest所需的对:localhost的委托 然后,我将我的新虚拟机添加到主机,并将以下内容添加到主机: 和扩展的site.yml,包括: 现在,当我跑步时: ansible playbook site.yml-i主机-限制myvm1 它失败于: 致命:[myvm1]:无法访问!=>{更改:false,msg:无法通过ssh连接到主机:连接重置19

我正在尝试开发一个Ansible脚本来生成VM。我编写了一个myvm角色,其中包含编排vmware\u guest的脚本。此脚本包含vmware\u guest所需的对:localhost的委托

然后,我将我的新虚拟机添加到主机,并将以下内容添加到主机:

和扩展的site.yml,包括:

现在,当我跑步时:

ansible playbook site.yml-i主机-限制myvm1

它失败于:

致命:[myvm1]:无法访问!=>{更改:false,msg:无法通过ssh连接到主机:连接重置192.168.10.13端口22\r\n,无法访问:true}

ansible似乎在读取创建虚拟机的实际角色之前尝试连接到虚拟机ip,并将其委托给本地主机。但是,向site.yml添加“delegate_to”失败

如何修复Ansible脚本以正确生成VM

在剧本中添加事实:错误

- hosts: myvms
  gather_facts: false
  roles: 
    - myvm

默认情况下,Ansible连接到目标计算机并运行收集数据事实的脚本。

但vm是在角色内部创建的。wait_for将等待vm可用。但是,除非执行该角色,否则它将永远不可用。
- hosts: myvms
  roles: 
    - myvm
- hosts: myvms
  gather_facts: false
  roles: 
    - myvm