使用ansible module vmware\u guest创建多个虚拟机
尝试使用ansible module vmware\u来宾创建多个虚拟机。 我犯了一个错误使用ansible module vmware\u guest创建多个虚拟机,ansible,vmware,Ansible,Vmware,尝试使用ansible module vmware\u来宾创建多个虚拟机。 我犯了一个错误 "msg": "with_dict expects a dict" "failed": true 我正在使用myvars.yml内容,如下所示: --- myvms: violet: - vmhost: violet-vm vmip: 192.168.1.163 yellow: - vmhost: yellow-vm vmip: 192.
"msg": "with_dict expects a dict"
"failed": true
我正在使用myvars.yml内容,如下所示:
---
myvms:
violet:
- vmhost: violet-vm
vmip: 192.168.1.163
yellow:
- vmhost: yellow-vm
vmip: 192.168.1.164
我的任务文件vmspin.yml是:
- name: create the VM
hosts: localhost
connection: local
vars_files:
- myvars.yml
tasks:
- vmware_guest:
hostname: "myhost"
username: "administrator@vsphere.local"
password: "password"
datacenter: dc1
name:
- name: "{{item.value.vmhost}}"
disk:
- size_gb: 4
type: thin
datastore: Datastore1
networks:
- name: VM Network
ip: "{{item.value.vmip}}"
netmask: 255.255.255.0
template: rhel7_base_template
with_dict:
- "{{myvms}}"
register: deploy
任何解决方案都可以说:
with_dict:
- "{{myvms}}"
将包含myvms dict的单个元素的列表传递到查找中
将其替换为:
with_dict: "{{ myvms }}"
我认为您必须删除-在您的变量文件中: 不是: 但是:
我的myvars.yml应该和下面的一样,但问题仍然存在,myvms:violet:vmhost:violet-vm-vmip:192.168.1.163黄色:vmhost:yellow-vm-vmip:192.168.1.164和{{{myvms}}没有帮助。错误保持不变。不可能。您的服务器没有保存更改,或者错误在别处。
myvms:
violet:
- vmhost: violet-vm
vmip: 192.168.1.163
yellow:
- vmhost: yellow-vm
vmip: 192.168.1.164
myvms:
violet:
vmhost: violet-vm
vmip: 192.168.1.163
yellow:
vmhost: yellow-vm
vmip: 192.168.1.164