我正在尝试开发Ansible脚本来生成VM。我写了一个myvm
角色,其中包含编排vmware_guest
的脚本。此脚本包含delegate_to: localhost
vmware_guest
所需的hosts
。
然后,我将我的new-to-vm添加到主机,并将以下内容添加到[myvms]
myvm1
:
site.yml
并将- hosts: myvms
roles:
- myvm
扩展为:
ansible-playbook site.yml -i hosts --limit myvm1
现在,当我跑:
switch(optionIssues){
case 1 : healthIssues = "Dental Problem";break;
case 2 : healthIssues = "Respiratory Diphtheria";break;
case 3 : healthIssues = "Mosquitoes Infections";break;
default : break;
}
它失败了:
致命:[myvm1]:无法接受! => {“已更改”:false,“msg”:“无法通过ssh连接到主机:连接重置为192.168.10.13端口22 \ r \ n”,“无法访问”:true}
似乎ansible尝试连接到vm ip,然后再读取创建vm的实际角色,该角色委托给localhost。但是,将“delegate_to”添加到site.yml会失败。
如何修复我的Ansible脚本以便为我正确生成VM?
答案 0 :(得分:1)
将gather_facts: false
添加到游戏中。
- hosts: myvms
gather_facts: false
roles:
- myvm
默认情况下,Ansible连接到目标计算机并运行收集数据(事实)的脚本。