使用ansible module vmware\u guest创建多个虚拟机

使用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.

尝试使用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.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