Ansible 在执行创建 VM 的角色之前尝试连接到 VM IP
Ansible tries to connect to VM IP before executing the role creating the VM
我正在尝试开发 Ansible 脚本来生成虚拟机。我写了一个 myvm
角色,其中包含编排 vmware_guest
的脚本。此脚本包含 vmware_guest
需要的 delegate_to: localhost
。
然后,我将我的 new-to-be-vm 添加到主机,并将以下内容添加到 hosts
:
[myvms]
myvm1
并扩展 site.yml
为:
- hosts: myvms
roles:
- myvm
现在,当我 运行:
ansible-playbook site.yml -i hosts --limit myvm1
它失败了:
fatal: [myvm1]: UNREACHABLE! => {"changed": false, "msg": "Failed to connect to the host via ssh: Connection reset by 192.168.10.13 port 22\r\n", "unreachable": true}
似乎 ansible 在读取创建虚拟机的实际角色之前尝试连接到虚拟机 ip,它委托给本地主机。但是,将 'delegate_to' 添加到 site.yml 会失败。
如何修复我的 Ansible 脚本以便为我正确生成 VM?
加gather_facts: false
出戏
- hosts: myvms
gather_facts: false
roles:
- myvm
Ansible 默认连接到目标机器并运行收集数据(事实)的脚本。
我正在尝试开发 Ansible 脚本来生成虚拟机。我写了一个 myvm
角色,其中包含编排 vmware_guest
的脚本。此脚本包含 vmware_guest
需要的 delegate_to: localhost
。
然后,我将我的 new-to-be-vm 添加到主机,并将以下内容添加到 hosts
:
[myvms]
myvm1
并扩展 site.yml
为:
- hosts: myvms
roles:
- myvm
现在,当我 运行:
ansible-playbook site.yml -i hosts --limit myvm1
它失败了:
fatal: [myvm1]: UNREACHABLE! => {"changed": false, "msg": "Failed to connect to the host via ssh: Connection reset by 192.168.10.13 port 22\r\n", "unreachable": true}
似乎 ansible 在读取创建虚拟机的实际角色之前尝试连接到虚拟机 ip,它委托给本地主机。但是,将 'delegate_to' 添加到 site.yml 会失败。
如何修复我的 Ansible 脚本以便为我正确生成 VM?
加gather_facts: false
出戏
- hosts: myvms
gather_facts: false
roles:
- myvm
Ansible 默认连接到目标机器并运行收集数据(事实)的脚本。