1- name: Create VMs with the poweredoff state 2 vmware_guest: 3 hostname: "{{ vcenter_hostname }}" 4 username: "{{ vcenter_username }}" 5 password: "{{ vcenter_password }}" 6 datacenter: "{{ dc1 }}" 7 validate_certs: no 8 folder: '{{ f0 }}' 9 name: 'test_vm1' 10 state: poweredoff 11 guest_id: debian8_64Guest 12 disk: 13 - size_gb: 1 14 type: thin 15 datastore: '{{ ds2 }}' 16 hardware: 17 memory_mb: 128 18 num_cpus: 1 19 scsi: paravirtual 20 cdrom: 21 type: iso 22 iso_path: "[{{ ds1 }}] fedora.iso" 23 networks: 24 - name: VM Network 25 26- name: ensure that VM1 are not flagged as templates 27 vmware_guest: 28 validate_certs: False 29 hostname: "{{ vcenter_hostname }}" 30 username: "{{ vcenter_username }}" 31 password: "{{ vcenter_password }}" 32 datacenter: "{{ dc1 }}" 33 folder: "{{ virtual_machines[1].folder }}" 34 name: "{{ virtual_machines[1].name }}" 35 state: present 36 is_template: False 37 register: no_template_initial 38 39- debug: var=no_template_initial 40 41- name: ensure no changes were made 42 assert: 43 that: 44 - not (no_template_initial is changed) 45 46- name: convert VM1 to template 47 vmware_guest: 48 validate_certs: False 49 hostname: "{{ vcenter_hostname }}" 50 username: "{{ vcenter_username }}" 51 password: "{{ vcenter_password }}" 52 datacenter: "{{ dc1 }}" 53 folder: "{{ virtual_machines[1].folder }}" 54 name: "{{ virtual_machines[1].name }}" 55 state: present 56 is_template: True 57 register: convert_to_template 58 59- debug: var=convert_to_template 60 61- name: ensure that changes were made 62 assert: 63 that: 64 - convert_to_template is changed 65 66- name: make double sure that VM1 is template 67 vmware_guest: 68 validate_certs: False 69 hostname: "{{ vcenter_hostname }}" 70 username: "{{ vcenter_username }}" 71 password: "{{ vcenter_password }}" 72 datacenter: "{{ dc1 }}" 73 folder: "{{ virtual_machines[1].folder }}" 74 name: "{{ virtual_machines[1].name }}" 75 state: present 76 is_template: True 77 register: still_templates 78 79- debug: var=still_templates 80 81- name: ensure that no changes were made 82 assert: 83 that: 84 - not (still_templates is changed) 85 86# To avoid the follow error of vcsim: VirtualMachine:vm-67 does not implement: MarkAsVirtualMachine 87- when: vcsim is not defined 88 block: 89 - name: convert template back to VMs 90 vmware_guest: 91 validate_certs: False 92 hostname: "{{ vcenter_hostname }}" 93 username: "{{ vcenter_username }}" 94 password: "{{ vcenter_password }}" 95 datacenter: "{{ dc1 }}" 96 folder: "{{ virtual_machines[1].folder }}" 97 name: "{{ virtual_machines[1].name }}" 98 state: present 99 is_template: False 100 register: revert_to_vm 101 - debug: var=revert_to_vm 102 - name: ensure that changes were made 103 assert: 104 that: 105 - revert_to_vm is changed 106