summaryrefslogtreecommitdiff
path: root/test/integration
diff options
context:
space:
mode:
authorGonéri Le Bouder <goneri@lebouder.net>2019-05-16 09:36:48 -0400
committerGonéri Le Bouder <goneri@lebouder.net>2019-05-23 17:40:19 -0400
commit6bb21c3db0bbaaa31aef09b6e5971e83a1f016df (patch)
treefdae4329d2d7ead8a0afdfb7059b93cf7bcecb7f /test/integration
parent4adb7cfb5f5e04aca29c7fd95f52e48901629c86 (diff)
downloadansible-6bb21c3db0bbaaa31aef09b6e5971e83a1f016df.tar.gz
vmware: test-refactoring
- In order to keep the integration with `ansible-test`, we prefer to avoid any interaction with the Ansible inventory file. - split up the prepare_vmware_tests/defaults/main.yml in two configuration files: one for vcsim and one for a real environment - remove all the access to hostvars - directly interact with the ESXi to mount/umount the datastore https://github.com/ansible/ansible/pull/56516 - record the virtual machine folder in the environment configuration - vmware_guest_move: Use https://github.com/ansible/ansible/pull/55237
Diffstat (limited to 'test/integration')
-rw-r--r--test/integration/targets/prepare_vmware_tests/defaults/main.yml25
-rw-r--r--test/integration/targets/prepare_vmware_tests/tasks/init_real_lab.yml23
-rw-r--r--test/integration/targets/prepare_vmware_tests/tasks/init_vcsim.yml36
-rw-r--r--test/integration/targets/prepare_vmware_tests/tasks/main.yml63
-rw-r--r--test/integration/targets/prepare_vmware_tests/tasks/setup_attach_hosts.yml8
-rw-r--r--test/integration/targets/prepare_vmware_tests/tasks/setup_datacenter.yml11
-rw-r--r--test/integration/targets/prepare_vmware_tests/tasks/setup_datastore.yml18
-rw-r--r--test/integration/targets/prepare_vmware_tests/tasks/setup_resource_pool.yml18
-rw-r--r--test/integration/targets/prepare_vmware_tests/tasks/setup_switch.yml9
-rw-r--r--test/integration/targets/prepare_vmware_tests/tasks/setup_virtualmachines.yml44
-rw-r--r--test/integration/targets/prepare_vmware_tests/tasks/teardown.yml70
-rw-r--r--test/integration/targets/prepare_vmware_tests/vars/real_lab.yml40
-rw-r--r--test/integration/targets/prepare_vmware_tests/vars/vcsim.yml25
-rw-r--r--test/integration/targets/vmware_datastore_facts/tasks/main.yml23
-rw-r--r--test/integration/targets/vmware_drs_group/tasks/main.yml8
-rw-r--r--test/integration/targets/vmware_drs_group_facts/tasks/main.yml2
-rw-r--r--test/integration/targets/vmware_drs_rule_facts/tasks/main.yml5
-rw-r--r--test/integration/targets/vmware_dvs_portgroup_facts/tasks/main.yml3
-rw-r--r--test/integration/targets/vmware_dvswitch/tasks/main.yml17
-rw-r--r--test/integration/targets/vmware_dvswitch_pvlans/tasks/main.yml24
-rw-r--r--test/integration/targets/vmware_dvswitch_uplink_pg/tasks/main.yml1
-rw-r--r--test/integration/targets/vmware_guest/tasks/boot_firmware_d1_c1_f0.yml128
-rw-r--r--test/integration/targets/vmware_guest/tasks/check_mode.yml4
-rw-r--r--test/integration/targets/vmware_guest/tasks/clone_customize_guest_test.yml64
-rw-r--r--test/integration/targets/vmware_guest/tasks/clone_with_convert.yml30
-rw-r--r--test/integration/targets/vmware_guest/tasks/disk_mode_d1_c1_f0.yml2
-rw-r--r--test/integration/targets/vmware_guest/tasks/linked_clone_d1_c1_f0.yml61
-rw-r--r--test/integration/targets/vmware_guest/tasks/main.yml125
-rw-r--r--test/integration/targets/vmware_guest/tasks/poweroff_d1_c1_f0.yml4
-rw-r--r--test/integration/targets/vmware_guest/tasks/poweroff_d1_c1_f1.yml6
-rw-r--r--test/integration/targets/vmware_guest_boot_facts/tasks/main.yml4
-rw-r--r--test/integration/targets/vmware_guest_custom_attributes/tasks/main.yml16
-rw-r--r--test/integration/targets/vmware_guest_disk_facts/tasks/main.yml2
-rw-r--r--test/integration/targets/vmware_guest_facts/tasks/main.yml16
-rw-r--r--test/integration/targets/vmware_guest_find/tasks/main.yml8
-rw-r--r--test/integration/targets/vmware_guest_move/tasks/main.yml10
-rw-r--r--test/integration/targets/vmware_guest_powerstate/tasks/main.yml4
-rw-r--r--test/integration/targets/vmware_guest_powerstate/tasks/poweroff_d1_c1_f0.yml2
-rw-r--r--test/integration/targets/vmware_guest_snapshot/tasks/main.yml40
-rw-r--r--test/integration/targets/vmware_guest_snapshot_facts/tasks/main.yml4
-rw-r--r--test/integration/targets/vmware_guest_tools_wait/tasks/main.yml4
-rw-r--r--test/integration/targets/vmware_host/tasks/main.yml29
-rw-r--r--test/integration/targets/vmware_host_facts/tasks/main.yml4
-rw-r--r--test/integration/targets/vmware_host_firewall_facts/tasks/main.yml2
-rw-r--r--test/integration/targets/vmware_host_powermgmt_policy/tasks/main.yml4
-rw-r--r--test/integration/targets/vmware_host_snmp/tasks/main.yml18
-rw-r--r--test/integration/targets/vmware_local_user_facts/tasks/main.yml6
-rw-r--r--test/integration/targets/vmware_portgroup/tasks/main.yml8
-rw-r--r--test/integration/targets/vmware_vm_facts/tasks/main.yml13
-rw-r--r--test/integration/targets/vmware_vm_host_drs_rule/tasks/main.yml7
-rw-r--r--test/integration/targets/vmware_vm_vm_drs_rule/tasks/main.yml2
-rw-r--r--test/integration/targets/vmware_vswitch/tasks/main.yml42
52 files changed, 611 insertions, 531 deletions
diff --git a/test/integration/targets/prepare_vmware_tests/defaults/main.yml b/test/integration/targets/prepare_vmware_tests/defaults/main.yml
deleted file mode 100644
index bb8ef983c1..0000000000
--- a/test/integration/targets/prepare_vmware_tests/defaults/main.yml
+++ /dev/null
@@ -1,25 +0,0 @@
-dc1: DC0
-ccr1: DC0_C0
-ds1: LocalDS_0
-ds2: LocalDS_1
-f0: F0
-switch1: switch1
-dvswitch1: DVS0
-# The ESXi entries in the inventory
-esxi1: "{{ groups['esxi-lab'][0] }}"
-esxi2: "{{ groups['esxi-lab'][1] }}"
-infra:
- datastores:
- LocalDS_0:
- type: nfs
- server: 192.168.123.1
- path: /srv/esx_lab/isos
- ro: true
- LocalDS_1:
- type: nfs
- server: 192.168.123.1
- path: /srv/esx_lab/vms
- ro: false
- vm_list:
- - DC0_C0_RP0_VM0
- - DC0_C0_RP0_VM1
diff --git a/test/integration/targets/prepare_vmware_tests/tasks/init_real_lab.yml b/test/integration/targets/prepare_vmware_tests/tasks/init_real_lab.yml
new file mode 100644
index 0000000000..6a540bba12
--- /dev/null
+++ b/test/integration/targets/prepare_vmware_tests/tasks/init_real_lab.yml
@@ -0,0 +1,23 @@
+---
+- name: load vars
+ include_vars:
+ file: real_lab.yml
+
+- include_tasks: teardown.yml
+
+- when: setup_esxi_instance is not defined
+ block:
+ - include_tasks: setup_datacenter.yml
+ - include_tasks: setup_cluster.yml
+ - include_tasks: setup_attach_hosts.yml
+ when: setup_attach_host is defined
+ - include_tasks: setup_datastore.yml
+ when: setup_datastore is defined
+ - include_tasks: setup_virtualmachines.yml
+ when: setup_virtualmachines is defined
+ - include_tasks: setup_switch.yml
+ when: setup_switch is defined
+ - include_tasks: setup_dvswitch.yml
+ when: setup_dvswitch is defined
+ - include_tasks: setup_resource_pool.yml
+ when: setup_resource_pool is defined
diff --git a/test/integration/targets/prepare_vmware_tests/tasks/init_vcsim.yml b/test/integration/targets/prepare_vmware_tests/tasks/init_vcsim.yml
new file mode 100644
index 0000000000..a73cc8fa53
--- /dev/null
+++ b/test/integration/targets/prepare_vmware_tests/tasks/init_vcsim.yml
@@ -0,0 +1,36 @@
+---
+- name: load vars
+ include_vars:
+ file: vcsim.yml
+
+- name: kill vcsim
+ uri:
+ url: http://{{ vcsim }}:5000/killall
+
+- name: start vcsim (all dressed)
+ uri:
+ url: http://{{ vcsim }}:5000/spawn?cluster=1&folder=1&ds=2
+ register: vcsim_instance
+ when: setup_esxi_instance is not defined
+
+- name: start vcsim (ESXi only)
+ uri:
+ url: http://{{ vcsim }}:5000/spawn?esx=1
+ register: vcsim_instance
+ when: setup_esxi_instance is defined
+
+# - name: get a list of Hosts from vcsim
+# uri:
+# url: http://{{ vcsim }}:5000/govc_find?filter=H
+# register: vcsim_host_list
+
+# - name: get a list of Hosts from vcsim
+# uri:
+# url: http://{{ vcsim }}:5000/govc_find?filter=F
+# register: vcsim_host_folder
+# - debug: var=vcsim_host_folder
+
+- set_fact:
+ vcenter_hostname: "{{ vcsim }}"
+ vcenter_username: "user"
+ vcenter_password: "pass"
diff --git a/test/integration/targets/prepare_vmware_tests/tasks/main.yml b/test/integration/targets/prepare_vmware_tests/tasks/main.yml
index fec7d2e67e..c8d1a89312 100644
--- a/test/integration/targets/prepare_vmware_tests/tasks/main.yml
+++ b/test/integration/targets/prepare_vmware_tests/tasks/main.yml
@@ -1,65 +1,6 @@
---
- when: vcsim is not defined
- block:
- - include_tasks: teardown.yml
-
-- when: vcsim is not defined and setup_esxi_instance is not defined
- block:
- - include_tasks: setup_datacenter.yml
- - include_tasks: setup_cluster.yml
- - include_tasks: setup_attach_hosts.yml
- when: setup_attach_host is defined
- - include_tasks: setup_datastore.yml
- when: setup_datastore is defined
- - include_tasks: setup_virtualmachines.yml
- when: setup_virtualmachines is defined
- - include_tasks: setup_switch.yml
- when: setup_switch is defined
- - include_tasks: setup_dvswitch.yml
- when: setup_dvswitch is defined
-
+ import_tasks: init_real_lab.yml
- when: vcsim is defined
- block:
-
- - name: kill vcsim
- uri:
- url: http://{{ vcsim }}:5000/killall
-
- - name: start vcsim (all dressed)
- uri:
- url: http://{{ vcsim }}:5000/spawn?cluster=1&folder=1&ds=2
- register: vcsim_instance
- when: setup_esxi_instance is not defined
-
- - name: start vcsim (ESXi only)
- uri:
- url: http://{{ vcsim }}:5000/spawn?esx=1
- register: vcsim_instance
- when: setup_esxi_instance is defined
-
- - name: get a list of Hosts from vcsim
- uri:
- url: http://{{ vcsim }}:5000/govc_find?filter=H
- register: vcsim_host_list
-
- - name: get a list of Hosts from vcsim
- uri:
- url: http://{{ vcsim }}:5000/govc_find?filter=F
- register: vcsim_host_folder
- - debug: var=vcsim_host_folder
-
- - name: add the hosts in the inventory
- add_host:
- hostname: '{{ item | basename }}'
- groups:
- - 'esxi-lab'
- with_items: '{{ vcsim_host_list.json }}'
-
- - debug:
- var: vcsim_host_list
-
- - set_fact:
- vcenter_hostname: "{{ vcsim }}"
- vcenter_username: "user"
- vcenter_password: "pass"
+ import_tasks: init_vcsim.yml
diff --git a/test/integration/targets/prepare_vmware_tests/tasks/setup_attach_hosts.yml b/test/integration/targets/prepare_vmware_tests/tasks/setup_attach_hosts.yml
index 5e85803ea0..ee428dc585 100644
--- a/test/integration/targets/prepare_vmware_tests/tasks/setup_attach_hosts.yml
+++ b/test/integration/targets/prepare_vmware_tests/tasks/setup_attach_hosts.yml
@@ -6,11 +6,11 @@
datacenter_name: '{{ dc1 }}'
cluster_name: '{{ ccr1 }}'
esxi_hostname: '{{ item }}'
- esxi_username: '{{ hostvars[item].ansible_user }}'
- esxi_password: '{{ hostvars[item].ansible_password }}'
+ esxi_username: '{{ esxi_user }}'
+ esxi_password: '{{ esxi_password }}'
state: present
validate_certs: no
- with_items: "{{ groups['esxi-lab'] }}"
+ with_items: "{{ esxi_hosts }}"
- name: Disable the Maintenance Mode
vmware_maintenancemode:
@@ -20,4 +20,4 @@
password: "{{ vcenter_password }}"
esxi_hostname: '{{ item }}'
state: absent
- with_items: "{{ groups['esxi-lab'] }}"
+ with_items: "{{ esxi_hosts }}"
diff --git a/test/integration/targets/prepare_vmware_tests/tasks/setup_datacenter.yml b/test/integration/targets/prepare_vmware_tests/tasks/setup_datacenter.yml
index a9f74e080d..7b65516045 100644
--- a/test/integration/targets/prepare_vmware_tests/tasks/setup_datacenter.yml
+++ b/test/integration/targets/prepare_vmware_tests/tasks/setup_datacenter.yml
@@ -6,3 +6,14 @@
datacenter_name: '{{ dc1 }}'
state: present
validate_certs: no
+
+- name: Create a VM folder on given Datacenter
+ vcenter_folder:
+ hostname: '{{ vcenter_hostname }}'
+ username: '{{ vcenter_username }}'
+ password: '{{ vcenter_password }}'
+ datacenter: '{{ dc1 }}'
+ folder_name: '{{ f0 }}'
+ folder_type: vm
+ state: present
+ validate_certs: no
diff --git a/test/integration/targets/prepare_vmware_tests/tasks/setup_datastore.yml b/test/integration/targets/prepare_vmware_tests/tasks/setup_datastore.yml
index e2e0779c23..6a04fc690c 100644
--- a/test/integration/targets/prepare_vmware_tests/tasks/setup_datastore.yml
+++ b/test/integration/targets/prepare_vmware_tests/tasks/setup_datastore.yml
@@ -1,34 +1,33 @@
---
-- debug: var=datastores
- name: Mount NFS (ds1) datastores to ESXi
vmware_host_datastore:
hostname: '{{ item }}'
- username: '{{ hostvars[item].ansible_user }}'
- password: '{{ hostvars[item].ansible_password }}'
+ username: '{{ esxi_user }}'
+ password: '{{ esxi_password }}'
+ esxi_hostname: '{{ item }}' # Won't be necessary with https://github.com/ansible/ansible/pull/56516
datastore_name: '{{ ds1 }}'
datastore_type: '{{ infra.datastores[ds1].type }}'
nfs_server: '{{ infra.datastores[ds1].server }}'
nfs_path: '{{ infra.datastores[ds1].path }}'
nfs_ro: '{{ infra.datastores[ds2].ro }}'
- esxi_hostname: '{{ item }}'
state: present
validate_certs: no
- with_items: "{{ groups['esxi-lab'] }}"
+ with_items: "{{ esxi_hosts }}"
- name: Mount NFS (ds2) datastores on the ESXi
vmware_host_datastore:
hostname: '{{ item }}'
- username: '{{ hostvars[item].ansible_user }}'
- password: '{{ hostvars[item].ansible_password }}'
+ username: '{{ esxi_user }}'
+ password: '{{ esxi_password }}'
+ esxi_hostname: '{{ item }}' # Won't be necessary with https://github.com/ansible/ansible/pull/56516
datastore_name: '{{ ds2 }}'
datastore_type: '{{ infra.datastores[ds2].type }}'
nfs_server: '{{ infra.datastores[ds2].server }}'
nfs_path: '{{ infra.datastores[ds2].path }}'
nfs_ro: '{{ infra.datastores[ds2].ro }}'
- esxi_hostname: '{{ item }}'
state: present
validate_certs: no
- with_items: "{{ groups['esxi-lab'] }}"
+ with_items: "{{ esxi_hosts }}"
- name: The vcenter needs a bit of time to refresh the DS list
vmware_datastore_facts:
@@ -36,6 +35,7 @@
hostname: '{{ vcenter_hostname }}'
username: '{{ vcenter_username }}'
password: '{{ vcenter_password }}'
+ cluster: '{{ ccr1 }}'
register: setup_datastore_datatstore_facts
failed_when: setup_datastore_datatstore_facts.datastores|length != 2
until: setup_datastore_datatstore_facts is succeeded
diff --git a/test/integration/targets/prepare_vmware_tests/tasks/setup_resource_pool.yml b/test/integration/targets/prepare_vmware_tests/tasks/setup_resource_pool.yml
new file mode 100644
index 0000000000..4ebd19d538
--- /dev/null
+++ b/test/integration/targets/prepare_vmware_tests/tasks/setup_resource_pool.yml
@@ -0,0 +1,18 @@
+---
+- name: Add resource pool to vCenter
+ vmware_resource_pool:
+ hostname: '{{ vcenter_hostname }}'
+ username: '{{ vcenter_username }}'
+ password: '{{ vcenter_password }}'
+ datacenter: '{{ dc1 }}'
+ cluster: '{{ cluster_name }}'
+ resource_pool: DC0_C0_RP1
+ mem_shares: normal
+ mem_limit: -1
+ mem_reservation: 0
+ mem_expandable_reservations: yes
+ cpu_shares: normal
+ cpu_limit: -1
+ cpu_reservation: 0
+ cpu_expandable_reservations: yes
+ state: present
diff --git a/test/integration/targets/prepare_vmware_tests/tasks/setup_switch.yml b/test/integration/targets/prepare_vmware_tests/tasks/setup_switch.yml
index 8a86aaff25..a7b640ef2a 100644
--- a/test/integration/targets/prepare_vmware_tests/tasks/setup_switch.yml
+++ b/test/integration/targets/prepare_vmware_tests/tasks/setup_switch.yml
@@ -2,9 +2,10 @@
- name: Add a VMware vSwitchs
vmware_vswitch:
validate_certs: no
- hostname: '{{ hostvars[item].ansible_host }}'
- username: '{{ hostvars[item].ansible_user }}'
- password: '{{ hostvars[item].ansible_password }}'
+ hostname: '{{ vcenter_hostname }}'
+ username: '{{ vcenter_username }}'
+ password: '{{ vcenter_password }}'
+ esxi_hostname: '{{ item }}'
switch_name: "{{ switch1 }}"
state: present
- with_items: "{{ groups['esxi-lab'] }}"
+ with_items: "{{ esxi_hosts }}"
diff --git a/test/integration/targets/prepare_vmware_tests/tasks/setup_virtualmachines.yml b/test/integration/targets/prepare_vmware_tests/tasks/setup_virtualmachines.yml
index 763701aa4d..dd76e42818 100644
--- a/test/integration/targets/prepare_vmware_tests/tasks/setup_virtualmachines.yml
+++ b/test/integration/targets/prepare_vmware_tests/tasks/setup_virtualmachines.yml
@@ -1,25 +1,41 @@
---
-- name: Create a VM folder on given Datacenter
- vcenter_folder:
- hostname: '{{ vcenter_hostname }}'
- username: '{{ vcenter_username }}'
- password: '{{ vcenter_password }}'
- datacenter: '{{ dc1 }}'
- folder_name: '{{ f0 }}'
- folder_type: vm
- state: present
+- name: Create VMs
+ vmware_guest:
+ hostname: "{{ vcenter_hostname }}"
+ username: "{{ vcenter_username }}"
+ password: "{{ vcenter_password }}"
+ datacenter: "{{ dc1 }}"
validate_certs: no
+ folder: '{{ item.folder }}'
+ name: '{{ item.name }}'
+ state: poweredon
+ guest_id: debian8_64Guest
+ disk:
+ - size_gb: 1
+ type: thin
+ datastore: '{{ ds2 }}'
+ hardware:
+ memory_mb: 128
+ num_cpus: 1
+ scsi: paravirtual
+ cdrom:
+ type: iso
+ iso_path: "[{{ ds1 }}] Fedora-Workstation-Live-x86_64-29-1.2.iso"
+ networks:
+ - name: VM Network
+ with_items: '{{ virtual_machines }}'
-- name: Create VMs
+
+- name: Create VMs in cluster
vmware_guest:
hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_username }}"
password: "{{ vcenter_password }}"
datacenter: "{{ dc1 }}"
validate_certs: no
- folder: '{{ f0 }}'
- cluster: '{{ ccr1 }}'
- name: '{{ item }}'
+ folder: '{{ item.folder }}'
+ cluster: '{{ item.cluster }}'
+ name: '{{ item.name }}'
state: poweredon
guest_id: debian8_64Guest
disk:
@@ -35,4 +51,4 @@
iso_path: "[{{ ds1 }}] Fedora-Workstation-Live-x86_64-29-1.2.iso"
networks:
- name: VM Network
- with_items: '{{ infra.vm_list }}'
+ with_items: '{{ virtual_machines_in_cluster }}'
diff --git a/test/integration/targets/prepare_vmware_tests/tasks/teardown.yml b/test/integration/targets/prepare_vmware_tests/tasks/teardown.yml
index 2419a01901..0188d8f9ee 100644
--- a/test/integration/targets/prepare_vmware_tests/tasks/teardown.yml
+++ b/test/integration/targets/prepare_vmware_tests/tasks/teardown.yml
@@ -1,15 +1,15 @@
---
-- name: Remove "{{ vm_name }}"
+- name: Remove VM
vmware_guest:
hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_username }}"
password: "{{ vcenter_password }}"
validate_certs: no
cluster: "{{ ccr1 }}"
- name: "{{ item }}"
+ name: "{{ item.name }}"
force: yes
state: absent
- with_items: '{{ infra.vm_list }}'
+ with_items: '{{ virtual_machines + virtual_machines_in_cluster }}'
ignore_errors: yes
- name: Remove the DVSwitch
@@ -27,11 +27,12 @@
vmware_vswitch:
validate_certs: no
hostname: '{{ item }}'
- username: '{{ hostvars[item].ansible_user }}'
- password: '{{ hostvars[item].ansible_password }}'
+ username: '{{ esxi_user }}'
+ password: '{{ esxi_password }}'
switch_name: "{{ switch1 }}"
state: absent
- with_items: "{{ groups['esxi-lab'] }}"
+ with_items: "{{ esxi_hosts }}"
+ ignore_errors: yes
- name: Remove ESXi Hosts to vCenter
vmware_host:
@@ -41,69 +42,34 @@
datacenter_name: '{{ dc1 }}'
cluster_name: ccr1
esxi_hostname: '{{ item }}'
- esxi_username: '{{ hostvars[item].ansible_user }}'
- esxi_password: '{{ hostvars[item].ansible_password }}'
+ esxi_username: '{{ esxi_user }}'
+ esxi_password: '{{ esxi_password }}'
state: absent
validate_certs: no
- with_items: "{{ groups['esxi-lab'] }}"
+ with_items: "{{ esxi_hosts }}"
ignore_errors: yes
-- name: Manually umount the datastores
- # Work around to avoid an error from vmware_host_datastore saying
- # the FS is still in use
- shell: >
- esxcli storage nfs remove -v nfs_ro;
- esxcli storage nfs remove -v nfs_rw
- with_items: "{{ groups['esxi-lab'] }}"
- delegate_to: '{{ item }}'
- ignore_errors: true
-
- name: Umount NFS datastores to ESXi (1/2)
vmware_host_datastore:
hostname: '{{ item }}'
- username: '{{ hostvars[item].ansible_user }}'
- password: '{{ hostvars[item].ansible_password }}'
+ username: '{{ esxi_user }}'
+ password: '{{ esxi_password }}'
+ esxi_hostname: '{{ item }}' # Won't be necessary with https://github.com/ansible/ansible/pull/56516
datastore_name: '{{ ds1 }}'
- esxi_hostname: '{{ item }}'
state: absent
validate_certs: no
- with_items: "{{ groups['esxi-lab'] }}"
- register: teardown_umount_nfs
- until: teardown_umount_nfs is succeeded
- retries: 15
- delay: 1
- ignore_errors: true
+ with_items: "{{ esxi_hosts }}"
- name: Umount NFS datastores to ESXi (2/2)
vmware_host_datastore:
hostname: '{{ item }}'
- username: '{{ hostvars[item].ansible_user }}'
- password: '{{ hostvars[item].ansible_password }}'
+ username: '{{ esxi_user }}'
+ password: '{{ esxi_password }}'
+ esxi_hostname: '{{ item }}' # Won't be necessary with https://github.com/ansible/ansible/pull/56516
datastore_name: '{{ ds2 }}'
- esxi_hostname: '{{ item }}'
state: absent
validate_certs: no
- with_items: "{{ groups['esxi-lab'] }}"
- register: teardown_umount_nfs
- until: teardown_umount_nfs is succeeded
- retries: 15
- delay: 1
- ignore_errors: true
-
-# - name: get a final list of the datastore
-# vmware_datastore_facts:
-# validate_certs: False
-# hostname: '{{ item }}'
-# username: '{{ hostvars[item].ansible_user }}'
-# password: '{{ hostvars[item].ansible_password }}'
-# register: datastore_facts
-# with_items: "{{ groups['esxi-lab'] }}"
-
-# - name: Ensure nothing is mounted
-# fail:
-# msg: "Some datastore are still mounted!"
-# when: "item.datastores|length > 0"
-# with_items: "{{ datastore_facts.results }}"
+ with_items: "{{ esxi_hosts }}"
- name: Remove the datacenter
vmware_datacenter:
diff --git a/test/integration/targets/prepare_vmware_tests/vars/real_lab.yml b/test/integration/targets/prepare_vmware_tests/vars/real_lab.yml
new file mode 100644
index 0000000000..2acef3050e
--- /dev/null
+++ b/test/integration/targets/prepare_vmware_tests/vars/real_lab.yml
@@ -0,0 +1,40 @@
+---
+dc1: DC0
+ccr1: DC0_C0
+ds1: LocalDS_0
+ds2: LocalDS_1
+f0: F0
+switch1: switch1
+dvswitch1: DVS0
+# The ESXi entries in the inventory
+esxi_hosts:
+ - esxi-67-1.lab
+ - esxi-67-2.lab
+esxi_user: root
+esxi_password: "!234AaAa56"
+esxi1: "{{ esxi_hosts[0] }}"
+esxi2: "{{ esxi_hosts[1] }}"
+infra:
+ datastores:
+ LocalDS_0:
+ type: nfs
+ server: 192.168.123.1
+ path: /srv/esx_lab/isos
+ ro: true
+ LocalDS_1:
+ type: nfs
+ server: 192.168.123.1
+ path: /srv/esx_lab/vms
+ ro: false
+virtual_machines:
+ - name: DC0_H0_VM0
+ folder: '{{ f0 }}'
+ - name: DC0_H0_VM1
+ folder: '{{ f0 }}'
+virtual_machines_in_cluster:
+ - name: DC0_C0_RP0_VM0
+ folder: '{{ f0 }}'
+ cluster: '{{ ccr1 }}'
+ - name: DC0_C0_RP0_VM1
+ folder: '{{ f0 }}'
+ cluster: '{{ ccr1 }}'
diff --git a/test/integration/targets/prepare_vmware_tests/vars/vcsim.yml b/test/integration/targets/prepare_vmware_tests/vars/vcsim.yml
new file mode 100644
index 0000000000..a3cd23e365
--- /dev/null
+++ b/test/integration/targets/prepare_vmware_tests/vars/vcsim.yml
@@ -0,0 +1,25 @@
+---
+dc1: DC0
+ccr1: DC0_C0
+ds1: LocalDS_0
+ds2: LocalDS_1
+f0: F0
+esxi_hosts:
+ - DC0_C0_H0
+ - DC0_C0_H1
+ - DC0_C0_H2
+esxi1: '{{ esxi_hosts[0] }}'
+esxi2: '{{ esxi_hosts[1] }}'
+esxi3: '{{ esxi_hosts[2] }}'
+switch1: switch1
+dvswitch1: DVS0
+virtual_machines:
+ - name: DC0_H0_VM0
+ folder: /F0/DC0/vm/F0
+ - name: DC0_H0_VM1
+ folder: /F0/DC0/vm/F0
+virtual_machines_in_cluster:
+ - name: DC0_C0_RP0_VM0
+ cluster: '{{ ccr1 }}'
+ - name: DC0_C0_RP0_VM1
+ cluster: '{{ ccr1 }}'
diff --git a/test/integration/targets/vmware_datastore_facts/tasks/main.yml b/test/integration/targets/vmware_datastore_facts/tasks/main.yml
index 7628210274..eacaa1a25d 100644
--- a/test/integration/targets/vmware_datastore_facts/tasks/main.yml
+++ b/test/integration/targets/vmware_datastore_facts/tasks/main.yml
@@ -3,20 +3,6 @@
# Copyright (c) 2018, Ansible Project
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
-# Testcase 0001: Get a full list of datastores in a datacenter
-# - name: get list of facts about datastores
-# vmware_datastore_facts:
-# validate_certs: False
-# hostname: "{{ vcenter_hostname }}"
-# username: "{{ vcenter_username }}"
-# password: "{{ vcenter_password }}"
-# datacenter: "{{ dc1 }}"
-# register: datastore_facts_0001
-
-# - assert:
-# that:
-# - "datastore_facts_0001.datastores|length == 0"
-
- import_role:
name: prepare_vmware_tests
@@ -29,11 +15,11 @@
- name: get list of facts about datastores from the ESXi
vmware_datastore_facts:
validate_certs: False
- hostname: '{{ hostvars[item].ansible_host }}'
- username: '{{ hostvars[item].ansible_user }}'
- password: '{{ hostvars[item].ansible_password }}'
+ hostname: '{{ item }}'
+ username: '{{ esxi_user }}'
+ password: '{{ esxi_password }}'
register: facts_from_esxi
- with_items: "{{ groups['esxi-lab'] }}"
+ with_items: "{{ esxi_hosts }}"
- assert:
that:
- "facts_from_esxi.results[0].datastores|length == 2"
@@ -48,7 +34,6 @@
gather_nfs_mount_info: true
register: facts_from_vcenter_with_dc_filter
-# Depends-On: https://github.com/ansible/ansible/pull/54879
- when: vcsim is not defined
block:
- name: get list of facts about datastores
diff --git a/test/integration/targets/vmware_drs_group/tasks/main.yml b/test/integration/targets/vmware_drs_group/tasks/main.yml
index 7dec87f23b..071f9c0719 100644
--- a/test/integration/targets/vmware_drs_group/tasks/main.yml
+++ b/test/integration/targets/vmware_drs_group/tasks/main.yml
@@ -19,9 +19,7 @@
cluster_name: '{{ ccr1 }}'
datacenter_name: '{{ dc1 }}'
group_name: TEST_VM_01
- vms:
- - DC0_C0_RP0_VM0
- - DC0_C0_RP0_VM1
+ vms: "{{ virtual_machines_in_cluster | map(attribute='name') | list }}"
state: present
register: drs_vm_group_01_results
@@ -32,7 +30,7 @@
that:
- "drs_vm_group_01_results.changed"
-- when: vcsim is defined or groups['esxi-lab'] | length >= 3
+- when: vcsim is defined or esxi_hosts | length >= 3
block:
- name: Create DRS Host group
vmware_drs_group:
@@ -43,7 +41,7 @@
cluster_name: '{{ ccr1 }}'
datacenter_name: '{{ dc1 }}'
group_name: TEST_HOST_01
- hosts: "{{ groups['esxi-lab'][0:3] }}"
+ hosts: "{{ esxi_hosts[0:3] }}"
state: present
register: drs_host_group_01_results
diff --git a/test/integration/targets/vmware_drs_group_facts/tasks/main.yml b/test/integration/targets/vmware_drs_group_facts/tasks/main.yml
index 50dcebb7ab..d941a2a5be 100644
--- a/test/integration/targets/vmware_drs_group_facts/tasks/main.yml
+++ b/test/integration/targets/vmware_drs_group_facts/tasks/main.yml
@@ -5,7 +5,7 @@
- import_role:
name: prepare_vmware_tests
-- when: vcsim is defined or groups['esxi-lab'] | length >= 3
+- when: vcsim is defined or esxi_hosts | length >= 3
block:
- name: Gather DRS group facts from given cluster
vmware_drs_group_facts:
diff --git a/test/integration/targets/vmware_drs_rule_facts/tasks/main.yml b/test/integration/targets/vmware_drs_rule_facts/tasks/main.yml
index e431d2f35a..825fc6ea4d 100644
--- a/test/integration/targets/vmware_drs_rule_facts/tasks/main.yml
+++ b/test/integration/targets/vmware_drs_rule_facts/tasks/main.yml
@@ -2,7 +2,10 @@
# Copyright: (c) 2018, Abhijeet Kasurde <akasurde@redhat.com>
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
-- when: vcsim is defined or groups['esxi-lab'] | length >= 3
+- import_role:
+ name: prepare_vmware_tests
+
+- when: vcsim is defined or esxi_hosts | length >= 3
block:
- import_role:
name: prepare_vmware_tests
diff --git a/test/integration/targets/vmware_dvs_portgroup_facts/tasks/main.yml b/test/integration/targets/vmware_dvs_portgroup_facts/tasks/main.yml
index 9a450712bd..4144bd7801 100644
--- a/test/integration/targets/vmware_dvs_portgroup_facts/tasks/main.yml
+++ b/test/integration/targets/vmware_dvs_portgroup_facts/tasks/main.yml
@@ -2,6 +2,9 @@
# Copyright: (c) 2018, Abhijeet Kasurde <akasurde@redhat.com>
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
+- import_role:
+ name: prepare_vmware_tests
+
- when: vcsim is not defined
block:
- &dvs_facts
diff --git a/test/integration/targets/vmware_dvswitch/tasks/main.yml b/test/integration/targets/vmware_dvswitch/tasks/main.yml
index c9fec84a64..9669922be3 100644
--- a/test/integration/targets/vmware_dvswitch/tasks/main.yml
+++ b/test/integration/targets/vmware_dvswitch/tasks/main.yml
@@ -4,6 +4,8 @@
- import_role:
name: prepare_vmware_tests
+ vars:
+ setup_datacenter: true
- &dvs_data
name: Add distributed vSwitch
@@ -26,13 +28,26 @@
that:
- dvs_result_0001.changed
+- name: Create a VM folder on given Datacenter
+ vcenter_folder:
+ hostname: '{{ vcenter_hostname }}'
+ username: '{{ vcenter_username }}'
+ password: '{{ vcenter_password }}'
+ datacenter: '{{ dc1 }}'
+ folder_name: network_folder
+ folder_type: network
+ state: present
+ validate_certs: no
+ register:
+ network_folder_result
+
- name: Add distributed vSwitch using folder
vmware_dvswitch:
validate_certs: False
hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_username }}"
password: "{{ vcenter_password }}"
- folder: "/F0/{{ dc1 }}/network/F0"
+ folder: "{{ network_folder_result.result.path }}"
state: present
switch_name: dvswitch_0002
mtu: 9000
diff --git a/test/integration/targets/vmware_dvswitch_pvlans/tasks/main.yml b/test/integration/targets/vmware_dvswitch_pvlans/tasks/main.yml
index 2628c2e136..093598e451 100644
--- a/test/integration/targets/vmware_dvswitch_pvlans/tasks/main.yml
+++ b/test/integration/targets/vmware_dvswitch_pvlans/tasks/main.yml
@@ -60,15 +60,15 @@
that:
- pvlans_result is changed
-- <<: *pv_data
- name: Configure PVLANs in check mode
- register: pvlans_result_check_mode
- check_mode: yes
-
-- debug:
- var: pvlans_result_check_mode
-
-- name: ensure pvlans were configured
- assert:
- that:
- - pvlans_result_check_mode is changed
+- when: vcsim is not defined
+ block:
+ - <<: *pv_data
+ name: Configure PVLANs in check mode
+ register: pvlans_result_check_mode
+ check_mode: yes
+ - debug:
+ var: pvlans_result_check_mode
+ - name: ensure pvlans were not changed
+ assert:
+ that:
+ - not (pvlans_result_check_mode is changed)
diff --git a/test/integration/targets/vmware_dvswitch_uplink_pg/tasks/main.yml b/test/integration/targets/vmware_dvswitch_uplink_pg/tasks/main.yml
index 1258c8bacc..4ca85fdd11 100644
--- a/test/integration/targets/vmware_dvswitch_uplink_pg/tasks/main.yml
+++ b/test/integration/targets/vmware_dvswitch_uplink_pg/tasks/main.yml
@@ -63,6 +63,7 @@
- <<: *uplink_data
name: Configure Uplink portgroup
+ register: uplink_pg_result
check_mode: no
- debug:
diff --git a/test/integration/targets/vmware_guest/tasks/boot_firmware_d1_c1_f0.yml b/test/integration/targets/vmware_guest/tasks/boot_firmware_d1_c1_f0.yml
index e35e317490..3c182c8057 100644
--- a/test/integration/targets/vmware_guest/tasks/boot_firmware_d1_c1_f0.yml
+++ b/test/integration/targets/vmware_guest/tasks/boot_firmware_d1_c1_f0.yml
@@ -8,9 +8,9 @@
hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_username }}"
password: "{{ vcenter_password }}"
- name: "{{ 'newvm_' + item|basename }}"
+ name: "{{ 'newvm_' + item.name }}"
guest_id: centos64Guest
- datacenter: "{{ (item|basename).split('_')[0] }}"
+ datacenter: "{{ dc1 }}"
hardware:
num_cpus: 4
boot_firmware: "bios"
@@ -20,8 +20,8 @@
type: thin
autoselect_datastore: True
state: poweredoff
- folder: "{{ item|dirname }}"
- with_items: "{{ vmlist['json'] }}"
+ folder: "{{ item.folder }}"
+ with_items: "{{ virtual_machines }}"
register: clone_d1_c1_f0
- debug: var=clone_d1_c1_f0
@@ -32,34 +32,34 @@
- "clone_d1_c1_f0.results|map(attribute='changed')|unique|list == [true]"
# VCSIM does not recognizes existing VMs boot firmware
-#- name: create new VMs again with boot_firmware as 'bios'
-# vmware_guest:
-# validate_certs: False
-# hostname: "{{ vcenter_hostname }}"
-# username: "{{ vcenter_username }}"
-# password: "{{ vcenter_password }}"
-# name: "{{ 'newvm_' + item|basename }}"
-# guest_id: centos64Guest
-# datacenter: "{{ (item|basename).split('_')[0] }}"
-# hardware:
-# num_cpus: 4
-# boot_firmware: "bios"
-# memory_mb: 512
-# disk:
-# - size: 1gb
-# type: thin
-# autoselect_datastore: True
-# state: poweredoff
-# folder: "{{ item|dirname }}"
-# with_items: "{{ vmlist['json'] }}"
-# register: clone_d1_c1_f0
-
-#- debug: var=clone_d1_c1_f0
-
-#- name: assert that changes were not made
-# assert:
-# that:
-# - "clone_d1_c1_f0.results|map(attribute='changed')|unique|list == [false]"
+- when: vcsim is not defined
+ block:
+ - name: create new VMs again with boot_firmware as 'bios'
+ vmware_guest:
+ validate_certs: False
+ hostname: "{{ vcenter_hostname }}"
+ username: "{{ vcenter_username }}"
+ password: "{{ vcenter_password }}"
+ name: "{{ 'newvm_' + item.name }}"
+ guest_id: centos64Guest
+ datacenter: "{{ dc1 }}"
+ hardware:
+ num_cpus: 4
+ boot_firmware: "bios"
+ memory_mb: 512
+ disk:
+ - size: 1gb
+ type: thin
+ autoselect_datastore: True
+ state: poweredoff
+ folder: "{{ item.folder }}"
+ with_items: "{{ virtual_machines }}"
+ register: clone_d1_c1_f0
+ - debug: var=clone_d1_c1_f0
+ - name: assert that changes were not made
+ assert:
+ that:
+ - "clone_d1_c1_f0.results|map(attribute='changed')|unique|list == [false]"
- name: create new VMs with boot_firmware as 'efi'
vmware_guest:
@@ -67,9 +67,9 @@
hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_username }}"
password: "{{ vcenter_password }}"
- name: "{{ 'newvm_efi_' + item|basename }}"
+ name: "{{ 'newvm_efi_' + item.name }}"
guest_id: centos64Guest
- datacenter: "{{ (item|basename).split('_')[0] }}"
+ datacenter: "{{ dc1 }}"
hardware:
num_cpus: 4
boot_firmware: "efi"
@@ -79,8 +79,8 @@
type: thin
autoselect_datastore: True
state: poweredoff
- folder: "{{ item|dirname }}"
- with_items: "{{ vmlist['json'] }}"
+ folder: "{{ item.folder }}"
+ with_items: "{{ virtual_machines }}"
register: clone_d1_c1_f0
- debug: var=clone_d1_c1_f0
@@ -91,31 +91,31 @@
- "clone_d1_c1_f0.results|map(attribute='changed')|unique|list == [true]"
# VCSIM does not recognizes existing VMs boot firmware
-#- name: create new VMs again with boot_firmware as 'efi'
-# vmware_guest:
-# validate_certs: False
-# hostname: "{{ vcenter_hostname }}"
-# username: "{{ vcenter_username }}"
-# password: "{{ vcenter_password }}"
-# name: "{{ 'newvm_efi_' + item|basename }}"
-# guest_id: centos64Guest
-# datacenter: "{{ (item|basename).split('_')[0] }}"
-# hardware:
-# num_cpus: 4
-# boot_firmware: "efi"
-# memory_mb: 512
-# disk:
-# - size: 1gb
-# type: thin
-# autoselect_datastore: True
-# state: poweredoff
-# folder: "{{ item|dirname }}"
-# with_items: "{{ vmlist['json'] }}"
-# register: clone_d1_c1_f0
-
-#- debug: var=clone_d1_c1_f0
-
-#- name: assert that changes were not made
-# assert:
-# that:
-# - "clone_d1_c1_f0.results|map(attribute='changed')|unique|list == [false]"
+- when: vcsim is not defined
+ block:
+ - name: create new VMs again with boot_firmware as 'efi'
+ vmware_guest:
+ validate_certs: False
+ hostname: "{{ vcenter_hostname }}"
+ username: "{{ vcenter_username }}"
+ password: "{{ vcenter_password }}"
+ name: "{{ 'newvm_efi_' + item.name }}"
+ guest_id: centos64Guest
+ datacenter: "{{ dc1 }}"
+ hardware:
+ num_cpus: 4
+ boot_firmware: "efi"
+ memory_mb: 512
+ disk:
+ - size: 1gb
+ type: thin
+ autoselect_datastore: True
+ state: poweredoff
+ folder: "{{ item.folder }}"
+ with_items: "{{ virtual_machines }}"
+ register: clone_d1_c1_f0
+ - debug: var=clone_d1_c1_f0
+ - name: assert that changes were not made
+ assert:
+ that:
+ - "clone_d1_c1_f0.results|map(attribute='changed')|unique|list == [false]"
diff --git a/test/integration/targets/vmware_guest/tasks/check_mode.yml b/test/integration/targets/vmware_guest/tasks/check_mode.yml
index 95e7a297da..d3f6f22634 100644
--- a/test/integration/targets/vmware_guest/tasks/check_mode.yml
+++ b/test/integration/targets/vmware_guest/tasks/check_mode.yml
@@ -8,7 +8,7 @@
hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_username }}"
password: "{{ vcenter_password }}"
- name: "{{ infra.vm_list[0] }}"
+ name: "{{ virtual_machines[0].name }}"
datacenter: "{{ dc1 }}"
state: "{{ item }}"
with_items:
@@ -30,7 +30,7 @@
assert:
that:
- "check_mode_state.results|map(attribute='changed')|unique|list == [true]"
- - "check_mode_state.results|map(attribute='vm_name')|unique|list == [ infra.vm_list[0] ]"
+ - "check_mode_state.results|map(attribute='vm_name')|unique|list == [ virtual_machines[0].name ]"
- name: Perform all operation on non-existent VM in check mode
vmware_guest:
diff --git a/test/integration/targets/vmware_guest/tasks/clone_customize_guest_test.yml b/test/integration/targets/vmware_guest/tasks/clone_customize_guest_test.yml
index 3fcc1a767d..2da1f5770f 100644
--- a/test/integration/targets/vmware_guest/tasks/clone_customize_guest_test.yml
+++ b/test/integration/targets/vmware_guest/tasks/clone_customize_guest_test.yml
@@ -2,51 +2,19 @@
# Copyright: (c) 2019, Pavan Bidkar <pbidkar@vmware.com>
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
-- name: Wait for Flask controller to come up online
- wait_for:
- host: "{{ vcsim }}"
- port: 5000
- state: started
-
-- name: kill vcsim
- uri:
- url: http://{{ vcsim }}:5000/killall
-
-- name: start vcsim with no folders
- uri:
- url: http://{{ vcsim }}:5000/spawn?datacenter=1&cluster=1&folder=0
- register: vcsim_instance
-
-- name: Wait for Flask controller to come up online
- wait_for:
- host: "{{ vcsim }}"
- port: 443
- state: started
-
-- name: get a list of VMS from vcsim
- uri:
- url: http://{{ vcsim }}:5000/govc_find?filter=VM
- register: vmlist
-
-- debug:
- var: vcsim_instance
-
-- debug:
- var: vmlist
-
- name: clone vm from template and customize GOS
vmware_guest:
validate_certs: False
- hostname: "{{ vcsim }}"
- username: "{{ vcsim_instance['json']['username'] }}"
- password: "{{ vcsim_instance['json']['password'] }}"
- name: "{{ 'net_customize_' + item|basename }}"
- template: "{{ item|basename }}"
- datacenter: "{{ (item|basename).split('_')[0] }}"
+ hostname: "{{ vcenter_hostname }}"
+ username: "{{ vcenter_username }}"
+ password: "{{ vcenter_password }}"
+ name: "{{ 'net_customize_' + item.name }}"
+ template: "{{ item.name }}"
+ datacenter: "{{ dc1 }}"
state: poweredoff
- folder: "{{ item|dirname }}"
+ folder: "{{ item.folder }}"
convert: thin
- with_items: "{{ vmlist['json'] }}"
+ with_items: "{{ virtual_machines }}"
register: clone_customize
- debug:
@@ -60,16 +28,16 @@
- name: clone vm from template and customize GOS again
vmware_guest:
validate_certs: False
- hostname: "{{ vcsim }}"
- username: "{{ vcsim_instance['json']['username'] }}"
- password: "{{ vcsim_instance['json']['password'] }}"
- name: "{{ 'net_customize_' + item|basename }}"
- template: "{{ item|basename }}"
- datacenter: "{{ (item|basename).split('_')[0] }}"
+ hostname: "{{ vcenter_hostname }}"
+ username: "{{ vcenter_username }}"
+ password: "{{ vcenter_password }}"
+ name: "{{ 'net_customize_' + item.name }}"
+ template: "{{ item.name }}"
+ datacenter: "{{ dc1 }}"
state: poweredoff
- folder: "{{ item|dirname }}"
+ folder: "{{ item.folder }}"
convert: thin
- with_items: "{{ vmlist['json'] }}"
+ with_items: "{{ virtual_machines }}"
register: clone_customize_again
- debug:
diff --git a/test/integration/targets/vmware_guest/tasks/clone_with_convert.yml b/test/integration/targets/vmware_guest/tasks/clone_with_convert.yml
index 4cce2c72e9..a8e4e8a327 100644
--- a/test/integration/targets/vmware_guest/tasks/clone_with_convert.yml
+++ b/test/integration/targets/vmware_guest/tasks/clone_with_convert.yml
@@ -8,13 +8,13 @@
hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_username }}"
password: "{{ vcenter_password }}"
- name: "{{ 'thin_' + item|basename }}"
- template: "{{ item|basename }}"
- datacenter: "{{ (item|basename).split('_')[0] }}"
+ name: "{{ 'thin_' + item.name }}"
+ template: "{{ item.name }}"
+ datacenter: "{{ dc1 }}"
state: poweredoff
- folder: "{{ item|dirname }}"
+ folder: "{{ item.folder }}"
convert: thin
- with_items: "{{ vmlist['json'] }}"
+ with_items: "{{ virtual_machines }}"
register: clone_thin
- debug: var=clone_thin
@@ -30,13 +30,13 @@
hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_username }}"
password: "{{ vcenter_password }}"
- name: "{{ 'thick_' + item|basename }}"
- template: "{{ item|basename }}"
- datacenter: "{{ (item|basename).split('_')[0] }}"
+ name: "{{ 'thick_' + item.name }}"
+ template: "{{ item.name }}"
+ datacenter: "{{ dc1 }}"
state: poweredoff
- folder: "{{ item|dirname }}"
+ folder: "{{ item.folder }}"
convert: thick
- with_items: "{{ vmlist['json'] }}"
+ with_items: "{{ virtual_machines }}"
register: clone_thick
- debug: var=clone_thick
@@ -52,13 +52,13 @@
hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_username }}"
password: "{{ vcenter_password }}"
- name: "{{ 'eagerzeroedthick_' + item|basename }}"
- template: "{{ item|basename }}"
- datacenter: "{{ (item|basename).split('_')[0] }}"
+ name: "{{ 'eagerzeroedthick_' + item.name }}"
+ template: "{{ item.name }}"
+ datacenter: "{{ dc1 }}"
state: poweredoff
- folder: "{{ item|dirname }}"
+ folder: "{{ item.folder }}"
convert: eagerzeroedthick
- with_items: "{{ vmlist['json'] }}"
+ with_items: "{{ virtual_machines }}"
register: clone_eagerzeroedthick
- debug: var=clone_eagerzeroedthick
diff --git a/test/integration/targets/vmware_guest/tasks/disk_mode_d1_c1_f0.yml b/test/integration/targets/vmware_guest/tasks/disk_mode_d1_c1_f0.yml
index 244e9cabe7..0f4aea21d1 100644
--- a/test/integration/targets/vmware_guest/tasks/disk_mode_d1_c1_f0.yml
+++ b/test/integration/targets/vmware_guest/tasks/disk_mode_d1_c1_f0.yml
@@ -70,7 +70,7 @@
password: "{{ vcenter_password }}"
name: disk_mode_d1_c1_f0
guest_id: centos64Guest
- datacenter: "{{ (item|basename).split('_')[0] }}"
+ datacenter: "{{ dc1 }}"
hardware:
num_cpus: 1
memory_mb: 512
diff --git a/test/integration/targets/vmware_guest/tasks/linked_clone_d1_c1_f0.yml b/test/integration/targets/vmware_guest/tasks/linked_clone_d1_c1_f0.yml
index 8985f76a8a..702ca59da7 100644
--- a/test/integration/targets/vmware_guest/tasks/linked_clone_d1_c1_f0.yml
+++ b/test/integration/targets/vmware_guest/tasks/linked_clone_d1_c1_f0.yml
@@ -2,47 +2,19 @@
# Copyright: (c) 2018, Abhijeet Kasurde <akasurde@redhat.com>
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
-- name: Wait for Flask controller to come up online
- wait_for:
- host: "{{ vcsim }}"
- port: 5000
- state: started
-
-- name: kill vcsim
- uri:
- url: http://{{ vcsim }}:5000/killall
-- name: start vcsim with no folders
- uri:
- url: http://{{ vcsim }}:5000/spawn?datacenter=1&cluster=1&folder=0
- register: vcsim_instance
-
-- name: Wait for Flask controller to come up online
- wait_for:
- host: "{{ vcsim }}"
- port: 443
- state: started
-
-- name: get a list of VMS from vcsim
- uri:
- url: http://{{ vcsim }}:5000/govc_find?filter=VM
- register: vmlist
-
-- debug: var=vcsim_instance
-- debug: var=vmlist
-
- name: create new linked clone without specifying snapshot_src
vmware_guest:
validate_certs: False
- hostname: "{{ vcsim }}"
- username: "{{ vcsim_instance['json']['username'] }}"
- password: "{{ vcsim_instance['json']['password'] }}"
- name: "{{ 'new_vm_' + item|basename }}"
- template: "{{ item|basename }}"
+ hostname: "{{ vcenter_hostname }}"
+ username: "{{ vcenter_username }}"
+ password: "{{ vcenter_password }}"
+ name: "{{ 'new_vm_' + item.name }}"
+ template: "{{ item.name }}"
guest_id: centos64Guest
- datacenter: "{{ (item|basename).split('_')[0] }}"
- folder: "{{ item|dirname }}"
+ datacenter: "{{ dc1 }}"
+ folder: "{{ f0 }}"
linked_clone: True
- with_items: "{{ vmlist['json'] }}"
+ with_items: "{{ virtual_machines }}"
register: linked_clone_d1_c1_f0
ignore_errors: True
@@ -56,16 +28,15 @@
- name: create new linked clone without specifying linked_clone
vmware_guest:
validate_certs: False
- hostname: "{{ vcsim }}"
- username: "{{ vcsim_instance['json']['username'] }}"
- password: "{{ vcsim_instance['json']['password'] }}"
- name: "{{ 'new_vm_' + item|basename }}"
- template: "{{ item|basename }}"
+ hostname: "{{ vcenter_hostname }}"
+ username: "{{ vcenter_username }}"
+ password: "{{ vcenter_password }}"
+ name: "{{ 'new_vm_' + item.name }}"
guest_id: centos64Guest
- datacenter: "{{ (item|basename).split('_')[0] }}"
- folder: "{{ item|dirname }}"
+ datacenter: "{{ dc1 }}"
+ folder: "{{ f0 }}"
snapshot_src: "snap_shot1"
- with_items: "{{ vmlist['json'] }}"
+ with_items: "{{ virtual_machines }}"
register: linked_clone_d1_c1_f0
ignore_errors: True
@@ -126,4 +97,4 @@
#- name: assert that changes were not made
# assert:
# that:
-# - "linked_clone_d1_c1_f0.results|map(attribute='changed')|unique|list == [false]" \ No newline at end of file
+# - "linked_clone_d1_c1_f0.results|map(attribute='changed')|unique|list == [false]"
diff --git a/test/integration/targets/vmware_guest/tasks/main.yml b/test/integration/targets/vmware_guest/tasks/main.yml
index 23da98de59..71cc332692 100644
--- a/test/integration/targets/vmware_guest/tasks/main.yml
+++ b/test/integration/targets/vmware_guest/tasks/main.yml
@@ -5,24 +5,44 @@
- import_role:
name: prepare_vmware_tests
vars:
+ setup_datacenter: true
setup_attach_host: true
setup_datastore: true
setup_virtualmachines: true
+ setup_resource_pool: true
-
-- include: poweroff_d1_c1_f0.yml
-- include: poweroff_d1_c1_f1.yml
-- include: check_mode.yml
-- include: clone_d1_c1_f0.yml
-- include: create_d1_c1_f0.yml
-- include: cdrom_d1_c1_f0.yml
-- include: create_rp_d1_c1_f0.yml
-- include: create_guest_invalid_d1_c1_f0.yml
-- include: mac_address_d1_c1_f0.yml
-- include: disk_type_d1_c1_f0.yml
-- include: create_nw_d1_c1_f0.yml
-- include: delete_vm.yml
-- include: non_existent_vm_ops.yml
+- block:
+ - include: poweroff_d1_c1_f0.yml
+ - include: poweroff_d1_c1_f1.yml
+ - include: check_mode.yml
+ - include: clone_d1_c1_f0.yml
+ - include: create_d1_c1_f0.yml
+ - include: cdrom_d1_c1_f0.yml
+ - include: create_rp_d1_c1_f0.yml
+ - include: create_guest_invalid_d1_c1_f0.yml
+ - include: mac_address_d1_c1_f0.yml
+ - include: disk_type_d1_c1_f0.yml
+ - include: create_nw_d1_c1_f0.yml
+ - include: delete_vm.yml
+ - include: non_existent_vm_ops.yml
+ always:
+ - name: Remove VM
+ vmware_guest:
+ hostname: "{{ vcenter_hostname }}"
+ username: "{{ vcenter_username }}"
+ password: "{{ vcenter_password }}"
+ validate_certs: no
+ cluster: "{{ ccr1 }}"
+ name: '{{ item }}'
+ force: yes
+ state: absent
+ with_items:
+ - CDROM-Test
+ - CDROM-Test-38679
+ - newvm_2
+ - newvm_3
+ - newvmnw_4
+ - DC0_H0_VM12
- import_role:
name: prepare_vmware_tests
@@ -31,17 +51,66 @@
setup_datastore: true
setup_virtualmachines: true
-- include: network_negative_test.yml
-# VCSIM does not return list of portgroups for dvswitch so commenting following TC
-#- include: network_with_portgroup.yml
-# Currently, VCSIM doesn't support DVPG (as portkeys are not available) so commenting this test
-# - include: network_with_dvpg.yml
-#- include: template_d1_c1_f0.yml
-- include: vapp_d1_c1_f0.yml
-- include: disk_size_d1_c1_f0.yml
-- include: network_with_device.yml
-- include: disk_mode_d1_c1_f0.yml
-- include: linked_clone_d1_c1_f0.yml
-- include: boot_firmware_d1_c1_f0.yml
-- include: clone_with_convert.yml
-- include: clone_customize_guest_test.yml
+- block:
+ - include: network_negative_test.yml
+ # VCSIM does not return list of portgroups for dvswitch so commenting following TC
+ #- include: network_with_portgroup.yml
+ # Currently, VCSIM doesn't support DVPG (as portkeys are not available) so commenting this test
+ # - include: network_with_dvpg.yml
+ #- include: template_d1_c1_f0.yml
+ - include: vapp_d1_c1_f0.yml
+ - include: disk_size_d1_c1_f0.yml
+ - include: network_with_device.yml
+ - include: disk_mode_d1_c1_f0.yml
+ - include: linked_clone_d1_c1_f0.yml
+ always:
+ - name: Remove VM
+ vmware_guest:
+ hostname: "{{ vcenter_hostname }}"
+ username: "{{ vcenter_username }}"
+ password: "{{ vcenter_password }}"
+ validate_certs: no
+ cluster: "{{ ccr1 }}"
+ name: '{{ item }}'
+ force: yes
+ state: absent
+ with_items:
+ - disk_mode_d1_c1_f0
+ - network_with_device
+ - new_vm_no_nw_type
+ - vApp-Test
+
+- import_role:
+ name: prepare_vmware_tests
+ vars:
+ setup_attach_host: true
+ setup_datastore: true
+ setup_virtualmachines: true
+- block:
+ - include: boot_firmware_d1_c1_f0.yml
+ - include: clone_with_convert.yml
+ - include: clone_customize_guest_test.yml
+ always:
+ - name: Remove VM
+ vmware_guest:
+ hostname: "{{ vcenter_hostname }}"
+ username: "{{ vcenter_username }}"
+ password: "{{ vcenter_password }}"
+ validate_certs: no
+ cluster: "{{ ccr1 }}"
+ name: '{{ item }}'
+ force: yes
+ state: absent
+ with_items:
+ - newvm_DC0_H0_VM0
+ - newvm_DC0_H0_VM1
+ - newvm_efi_DC0_H0_VM0
+ - newvm_efi_DC0_H0_VM1
+ - thin_DC0_H0_VM0
+ - thin_DC0_H0_VM1
+ - thick_DC0_H0_VM0
+ - thick_DC0_H0_VM1
+ - eagerzeroedthick_DC0_H0_VM0
+ - eagerzeroedthick_DC0_H0_VM1
+ - net_customize_DC0_H0_VM0
+ - net_customize_DC0_H0_VM1
diff --git a/test/integration/targets/vmware_guest/tasks/poweroff_d1_c1_f0.yml b/test/integration/targets/vmware_guest/tasks/poweroff_d1_c1_f0.yml
index 2a503ad209..14e724ab44 100644
--- a/test/integration/targets/vmware_guest/tasks/poweroff_d1_c1_f0.yml
+++ b/test/integration/targets/vmware_guest/tasks/poweroff_d1_c1_f0.yml
@@ -8,9 +8,9 @@
hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_username }}"
password: "{{ vcenter_password }}"
- name: "{{ item }}"
+ name: "{{ item.name }}"
state: poweredoff
- with_items: "{{ infra.vm_list }}"
+ with_items: "{{ virtual_machines }}"
register: poweroff_d1_c1_f0
- debug:
diff --git a/test/integration/targets/vmware_guest/tasks/poweroff_d1_c1_f1.yml b/test/integration/targets/vmware_guest/tasks/poweroff_d1_c1_f1.yml
index 835824c3e8..e43d638846 100644
--- a/test/integration/targets/vmware_guest/tasks/poweroff_d1_c1_f1.yml
+++ b/test/integration/targets/vmware_guest/tasks/poweroff_d1_c1_f1.yml
@@ -14,10 +14,10 @@
hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_username }}"
password: "{{ vcenter_password }}"
- name: "{{ item }}"
+ name: "{{ item.name }}"
state: poweredoff
- folder: "DC1/C1/F1"
- with_items: "{{ infra.vm_list }}"
+ folder: "{{ item.folder }}"
+ with_items: "{{ virtual_machines }}"
register: poweroff_d1_c1_f1
- debug: var=poweroff_d1_c1_f1
diff --git a/test/integration/targets/vmware_guest_boot_facts/tasks/main.yml b/test/integration/targets/vmware_guest_boot_facts/tasks/main.yml
index e4fc817a15..a5d5cfc645 100644
--- a/test/integration/targets/vmware_guest_boot_facts/tasks/main.yml
+++ b/test/integration/targets/vmware_guest_boot_facts/tasks/main.yml
@@ -17,7 +17,7 @@
hostname: '{{ vcenter_hostname }}'
username: '{{ vcenter_username }}'
password: '{{ vcenter_password }}'
- name: "{{ infra.vm_list[0] }}"
+ name: "{{ virtual_machines[0].name }}"
register: vm1_facts
- debug: var=vm1_facts
- name: assert that values are set
@@ -36,7 +36,7 @@
hostname: '{{ vcenter_hostname }}'
username: '{{ vcenter_username }}'
password: '{{ vcenter_password }}'
- name: "{{ infra.vm_list[0] }}"
+ name: "{{ virtual_machines[0].name }}"
check_mode: yes
register: vm1_facts
- debug: var=vm1_facts
diff --git a/test/integration/targets/vmware_guest_custom_attributes/tasks/main.yml b/test/integration/targets/vmware_guest_custom_attributes/tasks/main.yml
index 8311de4b84..de77fe718f 100644
--- a/test/integration/targets/vmware_guest_custom_attributes/tasks/main.yml
+++ b/test/integration/targets/vmware_guest_custom_attributes/tasks/main.yml
@@ -17,8 +17,8 @@
username: '{{ vcenter_username }}'
password: '{{ vcenter_password }}'
datacenter: "{{ dc1 }}"
- name: "{{ infra.vm_list[0] }}"
- folder: "{{ f0 }}"
+ name: "{{ virtual_machines[0].name }}"
+ folder: "{{ virtual_machines[0].folder }}"
state: present
attributes:
- name: 'sample_1'
@@ -42,8 +42,8 @@
username: '{{ vcenter_username }}'
password: '{{ vcenter_password }}'
datacenter: "{{ dc1 }}"
- name: "{{ infra.vm_list[0] }}"
- folder: "{{ f0 }}"
+ name: "{{ virtual_machines[0].name }}"
+ folder: "{{ virtual_machines[0].folder }}"
state: present
attributes:
- name: 'sample_1'
@@ -67,8 +67,8 @@
username: '{{ vcenter_username }}'
password: '{{ vcenter_password }}'
datacenter: "{{ dc1 }}"
- name: "{{ infra.vm_list[0] }}"
- folder: "{{ f0 }}"
+ name: "{{ virtual_machines[0].name }}"
+ folder: "{{ virtual_machines[0].folder }}"
state: absent
attributes:
- name: 'sample_1'
@@ -94,8 +94,8 @@
username: '{{ vcenter_username }}'
password: '{{ vcenter_password }}'
datacenter: "{{ dc1 }}"
- name: "{{ infra.vm_list[0] }}"
- folder: "{{ f0 }}"
+ name: "{{ virtual_machines[0].name }}"
+ folder: "{{ virtual_machines[0].folder }}"
state: absent
attributes:
- name: 'sample_1'
diff --git a/test/integration/targets/vmware_guest_disk_facts/tasks/main.yml b/test/integration/targets/vmware_guest_disk_facts/tasks/main.yml
index d1e0790937..58c6541609 100644
--- a/test/integration/targets/vmware_guest_disk_facts/tasks/main.yml
+++ b/test/integration/targets/vmware_guest_disk_facts/tasks/main.yml
@@ -16,7 +16,7 @@
hostname: '{{ vcenter_hostname }}'
username: '{{ vcenter_username }}'
password: '{{ vcenter_password }}'
- name: "{{ infra.vm_list[0] }}"
+ name: "{{ virtual_machines[0].name }}"
datacenter: '{{ dc1 }}'
register: disk_facts
diff --git a/test/integration/targets/vmware_guest_facts/tasks/main.yml b/test/integration/targets/vmware_guest_facts/tasks/main.yml
index 8ae1a9291a..13dc8ba50a 100644
--- a/test/integration/targets/vmware_guest_facts/tasks/main.yml
+++ b/test/integration/targets/vmware_guest_facts/tasks/main.yml
@@ -18,8 +18,8 @@
username: "{{ vcenter_username }}"
password: "{{ vcenter_password }}"
datacenter: "{{ dc1 }}"
- name: "{{ infra.vm_list[0] }}"
- folder: "{{ f0 }}"
+ name: "{{ virtual_machines[0].name }}"
+ folder: "{{ virtual_machines[0].folder }}"
register: guest_facts_0001
- debug:
@@ -27,7 +27,7 @@
- assert:
that:
- - "guest_facts_0001['instance']['hw_name'] == infra.vm_list[0]"
+ - "guest_facts_0001['instance']['hw_name'] == virtual_machines[0].name"
- "guest_facts_0001['instance']['hw_product_uuid'] is defined"
- "guest_facts_0001['instance']['hw_cores_per_socket'] is defined"
- "guest_facts_0001['instance']['hw_datastores'] is defined"
@@ -86,7 +86,7 @@
- assert:
that:
- - "guest_facts_0002['instance']['hw_name'] == infra.vm_list[0]"
+ - "guest_facts_0002['instance']['hw_name'] == virtual_machines[0].name"
- "guest_facts_0002['instance']['hw_product_uuid'] is defined"
- "guest_facts_0002['instance']['hw_product_uuid'] == vm1_uuid"
- "guest_facts_0002['instance']['hw_cores_per_socket'] is defined"
@@ -124,8 +124,8 @@
username: "{{ vcenter_username }}"
password: "{{ vcenter_password }}"
datacenter: "{{ dc1 }}"
- name: "{{ infra.vm_list[0] }}"
- folder: "{{ f0 }}"
+ name: "{{ virtual_machines[0].name }}"
+ folder: "{{ virtual_machines[0].folder }}"
state: present
snapshot_name: snap1
@@ -172,7 +172,7 @@
- assert:
that:
- - "guest_facts_0005['instance']['hw_name'] == infra.vm_list[0]"
+ - "guest_facts_0005['instance']['hw_name'] == virtual_machines[0].name"
- "guest_facts_0005['instance']['hw_product_uuid'] is defined"
- "guest_facts_0005['instance']['hw_product_uuid'] == vm1_uuid"
- "guest_facts_0005['instance']['hw_cores_per_socket'] is defined"
@@ -187,4 +187,4 @@
- "guest_facts_0005['instance']['instance_uuid'] is defined"
- "guest_facts_0005['instance']['instance_uuid'] == vm1_instance_uuid"
- "guest_facts_0001['instance']['moid'] is defined"
- - "guest_facts_0001['instance']['vimref'] is defined" \ No newline at end of file
+ - "guest_facts_0001['instance']['vimref'] is defined"
diff --git a/test/integration/targets/vmware_guest_find/tasks/main.yml b/test/integration/targets/vmware_guest_find/tasks/main.yml
index e187ce20bf..d1e635a86a 100644
--- a/test/integration/targets/vmware_guest_find/tasks/main.yml
+++ b/test/integration/targets/vmware_guest_find/tasks/main.yml
@@ -14,9 +14,9 @@
hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_username }}"
password: "{{ vcenter_password }}"
- name: "{{ item }}"
+ name: "{{ item.name }}"
datacenter: "{{ dc1 }}"
- with_items: "{{ infra.vm_list }}"
+ with_items: "{{ virtual_machines }}"
register: folders
- debug: var=item
@@ -38,8 +38,8 @@
username: "{{ vcenter_username }}"
password: "{{ vcenter_password }}"
datacenter: "{{ dc1 }}"
- name: "{{ infra.vm_list[0] }}"
- folder: "{{ f0 }}"
+ name: "{{ virtual_machines[0].name }}"
+ folder: "{{ virtual_machines[0].folder }}"
register: guest_facts_0001
- debug: var=guest_facts_0001
diff --git a/test/integration/targets/vmware_guest_move/tasks/main.yml b/test/integration/targets/vmware_guest_move/tasks/main.yml
index 33b94f5c2c..424fbfab01 100644
--- a/test/integration/targets/vmware_guest_move/tasks/main.yml
+++ b/test/integration/targets/vmware_guest_move/tasks/main.yml
@@ -18,6 +18,7 @@
folder_type: vm
state: present
validate_certs: no
+ register: dest_folder
# Testcase 0001: Move vm and get changed status
- name: Move VM (Changed)
@@ -27,8 +28,9 @@
username: "{{ vcenter_username }}"
password: "{{ vcenter_password }}"
datacenter: "{{ dc1 }}"
- name: "{{ infra.vm_list[0] }}"
- dest_folder: '/F0/DC0/vm/f1'
+ name: "{{ virtual_machines[0].name }}"
+ # Depends-On: https://github.com/ansible/ansible/pull/55237
+ dest_folder: "{{ dest_folder.result.path }}"
register: vm_facts_0001
@@ -40,8 +42,8 @@
username: "{{ vcenter_username }}"
password: "{{ vcenter_password }}"
datacenter: "{{ dc1 }}"
- name: "{{ infra.vm_list[0] }}"
- dest_folder: 'F0/DC0/vm/f1'
+ name: "{{ virtual_machines[0].name }}"
+ dest_folder: "{{ dest_folder.result.path }}"
register: vm_facts_0002
- debug:
diff --git a/test/integration/targets/vmware_guest_powerstate/tasks/main.yml b/test/integration/targets/vmware_guest_powerstate/tasks/main.yml
index 2ff6654408..06b865cee6 100644
--- a/test/integration/targets/vmware_guest_powerstate/tasks/main.yml
+++ b/test/integration/targets/vmware_guest_powerstate/tasks/main.yml
@@ -14,9 +14,9 @@
hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_username }}"
password: "{{ vcenter_password }}"
- name: "{{ infra.vm_list[0] }}"
+ name: "{{ virtual_machines[0].name }}"
+ folder: "{{ virtual_machines[0].folder }}"
state: powered-off
- folder: '/dc1/vm/f0'
register: poweroff_d1_c1_f0
- debug: var=poweroff_d1_c1_f0
diff --git a/test/integration/targets/vmware_guest_powerstate/tasks/poweroff_d1_c1_f0.yml b/test/integration/targets/vmware_guest_powerstate/tasks/poweroff_d1_c1_f0.yml
index 922233090d..8a65d8b0bb 100644
--- a/test/integration/targets/vmware_guest_powerstate/tasks/poweroff_d1_c1_f0.yml
+++ b/test/integration/targets/vmware_guest_powerstate/tasks/poweroff_d1_c1_f0.yml
@@ -40,7 +40,7 @@
name: "{{ item|basename }}"
state: powered-off
folder: "{{ item|dirname }}"
- with_items: "{{ vmlist['json'] }}"
+ with_items: "{{ virtual_machines }}"
register: poweroff_d1_c1_f0
- debug: var=poweroff_d1_c1_f0
diff --git a/test/integration/targets/vmware_guest_snapshot/tasks/main.yml b/test/integration/targets/vmware_guest_snapshot/tasks/main.yml
index 83b3bd23cf..758a91da04 100644
--- a/test/integration/targets/vmware_guest_snapshot/tasks/main.yml
+++ b/test/integration/targets/vmware_guest_snapshot/tasks/main.yml
@@ -13,8 +13,8 @@
username: '{{ vcenter_username }}'
password: '{{ vcenter_password }}'
datacenter: "{{ dc1 }}"
- folder: "{{ f0 }}"
- name: "{{ infra.vm_list[0] }}"
+ name: "{{ virtual_machines[0].name }}"
+ folder: "{{ virtual_machines[0].folder }}"
state: absent
snapshot_name: snap_a
@@ -26,8 +26,8 @@
username: '{{ vcenter_username }}'
password: '{{ vcenter_password }}'
datacenter: "{{ dc1 }}"
- folder: "{{ f0 }}"
- name: "{{ infra.vm_list[0] }}"
+ name: "{{ virtual_machines[0].name }}"
+ folder: "{{ virtual_machines[0].folder }}"
state: present
snapshot_name: "snap_{{item}}"
description: "snap named {{item}}"
@@ -45,8 +45,8 @@
username: '{{ vcenter_username }}'
password: '{{ vcenter_password }}'
datacenter: "{{ dc1 }}"
- folder: "{{ f0 }}"
- name: "{{ infra.vm_list[0] }}"
+ name: "{{ virtual_machines[0].name }}"
+ folder: "{{ virtual_machines[0].folder }}"
state: present
snapshot_name: snap_a
new_snapshot_name: snap_c
@@ -59,8 +59,8 @@
username: '{{ vcenter_username }}'
password: '{{ vcenter_password }}'
datacenter: "{{ dc1 }}"
- folder: "{{ f0 }}"
- name: "{{ infra.vm_list[0] }}"
+ name: "{{ virtual_machines[0].name }}"
+ folder: "{{ virtual_machines[0].folder }}"
state: present
snapshot_name: snap_a
description: "snap named a"
@@ -73,8 +73,8 @@
username: '{{ vcenter_username }}'
password: '{{ vcenter_password }}'
datacenter: "{{ dc1 }}"
- folder: "{{ f0 }}"
- name: "{{ infra.vm_list[0] }}"
+ name: "{{ virtual_machines[0].name }}"
+ folder: "{{ virtual_machines[0].folder }}"
state: present
snapshot_name: snap_c
new_description: "renamed to snap_c from snap_a"
@@ -89,8 +89,8 @@
username: '{{ vcenter_username }}'
password: '{{ vcenter_password }}'
datacenter: "{{ dc1 }}"
- folder: "{{ f0 }}"
- name: "{{ infra.vm_list[0] }}"
+ name: "{{ virtual_machines[0].name }}"
+ folder: "{{ virtual_machines[0].folder }}"
state: absent
snapshot_name: snap_b
remove_children: True
@@ -103,8 +103,8 @@
username: '{{ vcenter_username }}'
password: '{{ vcenter_password }}'
datacenter: "{{ dc1 }}"
- folder: "{{ f0 }}"
- name: "{{ infra.vm_list[0] }}"
+ name: "{{ virtual_machines[0].name }}"
+ folder: "{{ virtual_machines[0].folder }}"
state: remove_all
# Test0008: Create snap_a again and revert to it
@@ -115,8 +115,8 @@
username: '{{ vcenter_username }}'
password: '{{ vcenter_password }}'
datacenter: "{{ dc1 }}"
- folder: "{{ f0 }}"
- name: "{{ infra.vm_list[0] }}"
+ name: "{{ virtual_machines[0].name }}"
+ folder: "{{ virtual_machines[0].folder }}"
state: present
snapshot_name: snap_a
description: "snap named a"
@@ -130,8 +130,8 @@
username: '{{ vcenter_username }}'
password: '{{ vcenter_password }}'
datacenter: "{{ dc1 }}"
- folder: "{{ f0 }}"
- name: "{{ infra.vm_list[0] }}"
+ name: "{{ virtual_machines[0].name }}"
+ folder: "{{ virtual_machines[0].folder }}"
state: revert
snapshot_name: snap_a
@@ -143,8 +143,8 @@
username: '{{ vcenter_username }}'
password: '{{ vcenter_password }}'
datacenter: "{{ dc1 }}"
- folder: "{{ f0 }}"
- name: "{{ infra.vm_list[0] }}"
+ name: "{{ virtual_machines[0].name }}"
+ folder: "{{ virtual_machines[0].folder }}"
state: present
snapshot_name: snap_a
description: "snap named a"
diff --git a/test/integration/targets/vmware_guest_snapshot_facts/tasks/main.yml b/test/integration/targets/vmware_guest_snapshot_facts/tasks/main.yml
index a876d18efe..f8908675cf 100644
--- a/test/integration/targets/vmware_guest_snapshot_facts/tasks/main.yml
+++ b/test/integration/targets/vmware_guest_snapshot_facts/tasks/main.yml
@@ -17,8 +17,8 @@
username: "{{ vcenter_username }}"
password: "{{ vcenter_password }}"
datacenter: "{{ dc1 }}"
- folder: "{{ f0 }}"
- name: "{{ infra.vm_list[0] }}"
+ name: "{{ virtual_machines[0].name }}"
+ folder: "{{ virtual_machines[0].folder }}"
register: vm_snapshot_facts
- debug: var=vm_snapshot_facts
diff --git a/test/integration/targets/vmware_guest_tools_wait/tasks/main.yml b/test/integration/targets/vmware_guest_tools_wait/tasks/main.yml
index 063f171af8..406521305d 100644
--- a/test/integration/targets/vmware_guest_tools_wait/tasks/main.yml
+++ b/test/integration/targets/vmware_guest_tools_wait/tasks/main.yml
@@ -15,10 +15,10 @@
hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_username }}"
password: "{{ vcenter_password }}"
- name: "{{ infra.vm_list[0] }}"
+ name: "{{ virtual_machines[0].name }}"
+ folder: "{{ virtual_machines[0].folder }}"
datacenter: "{{ dc1 }}"
state: poweredon
- folder: "{{ f0 }}"
# FixMe: govcsim does not support VMware tools status reporting
## Testcase 0001: Wait for VMware tools to become available by name
diff --git a/test/integration/targets/vmware_host/tasks/main.yml b/test/integration/targets/vmware_host/tasks/main.yml
index 093edd447e..254c27bcee 100644
--- a/test/integration/targets/vmware_host/tasks/main.yml
+++ b/test/integration/targets/vmware_host/tasks/main.yml
@@ -4,6 +4,10 @@
# Testcase: Add Host
- when: vcsim is not defined
block:
+ - import_role:
+ name: prepare_vmware_tests
+ vars:
+ setup_attach_host: true
- name: Add first ESXi Host to vCenter
vmware_host:
@@ -13,8 +17,8 @@
datacenter_name: '{{ dc1 }}'
cluster_name: '{{ ccr1 }}'
esxi_hostname: '{{ esxi1 }}'
- esxi_username: '{{ hostvars[esxi1].ansible_user }}'
- esxi_password: '{{ hostvars[esxi1].ansible_password }}'
+ esxi_username: '{{ esxi_user }}'
+ esxi_password: '{{ esxi_password }}'
state: present
validate_certs: no
register: readd_host_result
@@ -27,8 +31,8 @@
datacenter_name: '{{ dc1 }}'
cluster_name: '{{ ccr1 }}'
esxi_hostname: '{{ esxi1 }}'
- esxi_username: '{{ hostvars[esxi1].ansible_user }}'
- esxi_password: '{{ hostvars[esxi1].ansible_password }}'
+ esxi_username: '{{ esxi_user }}'
+ esxi_password: '{{ esxi_password }}'
state: present
validate_certs: no
register: readd_host_result
@@ -45,11 +49,10 @@
password: "{{ vcenter_password }}"
validate_certs: no
esxi_hostname: '{{ esxi2 }}'
- esxi_username: '{{ hostvars[esxi2].ansible_user }}'
- esxi_password: '{{ hostvars[esxi2].ansible_password }}'
+ esxi_username: '{{ esxi_user }}'
+ esxi_password: '{{ esxi_password }}'
datacenter_name: "{{ dc1 }}"
cluster_name: "{{ ccr1 }}"
- fetch_ssl_thumbprint: False
state: add_or_reconnect
register: add_or_reconnect_host_result
- name: ensure host system is present
@@ -119,8 +122,8 @@
password: "{{ vcenter_password }}"
validate_certs: no
esxi_hostname: '{{ esxi2 }}'
- esxi_username: '{{ hostvars[esxi2].ansible_user }}'
- esxi_password: '{{ hostvars[esxi2].ansible_password }}'
+ esxi_username: '{{ esxi_user }}'
+ esxi_password: '{{ esxi_password }}'
datacenter_name: "{{ dc1 }}"
folder_name: "/{{ dc1 }}/host/Staging"
state: present
@@ -139,8 +142,8 @@
password: "{{ vcenter_password }}"
validate_certs: no
esxi_hostname: '{{ esxi2 }}'
- esxi_username: '{{ hostvars[esxi2].ansible_user }}'
- esxi_password: '{{ hostvars[esxi2].ansible_password }}'
+ esxi_username: '{{ esxi_user }}'
+ esxi_password: '{{ esxi_password }}'
datacenter_name: "{{ dc1 }}"
folder_name: "/{{ dc1 }}/host/Staging"
state: present
@@ -158,8 +161,8 @@
password: "{{ vcenter_password }}"
validate_certs: no
esxi_hostname: '{{ esxi2 }}'
- esxi_username: '{{ hostvars[esxi2].ansible_user }}'
- esxi_password: '{{ hostvars[esxi2].ansible_password }}'
+ esxi_username: '{{ esxi_user }}'
+ esxi_password: '{{ esxi_password }}'
datacenter_name: "{{ dc1 }}"
cluster_name: "{{ ccr1 }}"
state: reconnect
diff --git a/test/integration/targets/vmware_host_facts/tasks/main.yml b/test/integration/targets/vmware_host_facts/tasks/main.yml
index f120433ea1..215d7518f8 100644
--- a/test/integration/targets/vmware_host_facts/tasks/main.yml
+++ b/test/integration/targets/vmware_host_facts/tasks/main.yml
@@ -23,8 +23,8 @@
vmware_host_facts:
validate_certs: False
hostname: '{{ esxi1 }}'
- username: '{{ hostvars[esxi1].ansible_user }}'
- password: '{{ hostvars[esxi1].ansible_password }}'
+ username: '{{ esxi_user }}'
+ password: '{{ esxi_password }}'
register: facts
- debug: var=facts
- name: verify some data,like ansible_processor
diff --git a/test/integration/targets/vmware_host_firewall_facts/tasks/main.yml b/test/integration/targets/vmware_host_firewall_facts/tasks/main.yml
index b88ecc9e6d..e58e8f1fc9 100644
--- a/test/integration/targets/vmware_host_firewall_facts/tasks/main.yml
+++ b/test/integration/targets/vmware_host_firewall_facts/tasks/main.yml
@@ -4,7 +4,7 @@
- import_role:
name: prepare_vmware_tests
vars:
- setup_esxi_instance: true
+ setup_attach_host: true
- name: Gather firewall facts for a given ESXi
vmware_host_firewall_facts:
diff --git a/test/integration/targets/vmware_host_powermgmt_policy/tasks/main.yml b/test/integration/targets/vmware_host_powermgmt_policy/tasks/main.yml
index 472f05ab6e..0c2b408010 100644
--- a/test/integration/targets/vmware_host_powermgmt_policy/tasks/main.yml
+++ b/test/integration/targets/vmware_host_powermgmt_policy/tasks/main.yml
@@ -73,5 +73,5 @@
assert:
that:
- not (all_hosts_result is changed)
- - "all_hosts_result.result['{{ esxi1 }}']current_state == 'balanced'"
- - "all_hosts_result.result['{{ esxi2 }}']current_state == 'balanced'"
+ - "all_hosts_result.result['{{ esxi1 }}'].current_state == 'balanced'"
+ - "all_hosts_result.result['{{ esxi2 }}'].current_state == 'balanced'"
diff --git a/test/integration/targets/vmware_host_snmp/tasks/main.yml b/test/integration/targets/vmware_host_snmp/tasks/main.yml
index 7d8eee073f..45f73e48b8 100644
--- a/test/integration/targets/vmware_host_snmp/tasks/main.yml
+++ b/test/integration/targets/vmware_host_snmp/tasks/main.yml
@@ -12,9 +12,9 @@
# SNMP works only with standalone ESXi server
- name: Enable and configure SNMP community in check mode
vmware_host_snmp:
- hostname: '{{ hostvars[esxi1].ansible_host }}'
- username: '{{ hostvars[esxi1].ansible_user }}'
- password: '{{ hostvars[esxi1].ansible_password }}'
+ hostname: '{{ esxi1 }}'
+ username: '{{ esxi_user }}'
+ password: '{{ esxi_password }}'
community: [ test ]
state: enabled
validate_certs: no
@@ -28,9 +28,9 @@
- name: Enable and configure SNMP community
vmware_host_snmp:
- hostname: '{{ hostvars[esxi1].ansible_host }}'
- username: '{{ hostvars[esxi1].ansible_user }}'
- password: '{{ hostvars[esxi1].ansible_password }}'
+ hostname: '{{ esxi1 }}'
+ username: '{{ esxi_user }}'
+ password: '{{ esxi_password }}'
community: [ test ]
state: enabled
validate_certs: no
@@ -43,9 +43,9 @@
- name: Disable SNMP
vmware_host_snmp:
- hostname: '{{ hostvars[esxi1].ansible_host }}'
- username: '{{ hostvars[esxi1].ansible_user }}'
- password: '{{ hostvars[esxi1].ansible_password }}'
+ hostname: '{{ esxi1 }}'
+ username: '{{ esxi_user }}'
+ password: '{{ esxi_password }}'
state: disabled
validate_certs: no
register: snmp_disabled
diff --git a/test/integration/targets/vmware_local_user_facts/tasks/main.yml b/test/integration/targets/vmware_local_user_facts/tasks/main.yml
index 2fc0c004a0..f0f1b56018 100644
--- a/test/integration/targets/vmware_local_user_facts/tasks/main.yml
+++ b/test/integration/targets/vmware_local_user_facts/tasks/main.yml
@@ -15,9 +15,9 @@
- &user_fact_data
name: Gather facts about users
vmware_local_user_facts:
- hostname: "{{ hostvars[esxi1].ansible_host }}"
- username: "{{ hostvars[esxi1].ansible_user }}"
- password: "{{ hostvars[esxi1].ansible_password }}"
+ hostname: "{{ esxi1 }}"
+ username: "{{ esxi_user }}"
+ password: "{{ esxi_password }}"
validate_certs: False
register: all_user_facts
diff --git a/test/integration/targets/vmware_portgroup/tasks/main.yml b/test/integration/targets/vmware_portgroup/tasks/main.yml
index 341dadce5f..24f88dccfd 100644
--- a/test/integration/targets/vmware_portgroup/tasks/main.yml
+++ b/test/integration/targets/vmware_portgroup/tasks/main.yml
@@ -4,9 +4,13 @@
- when: vcsim is not defined
block:
- - debug: var=ccr1
- - debug: var=host1
+ - import_role:
+ name: prepare_vmware_tests
+ vars:
+ setup_datacenter: true
+ setup_attach_host: true
+ setup_cluster: true
- name: Create portgroup without Portgroup and vSwitch
vmware_portgroup:
diff --git a/test/integration/targets/vmware_vm_facts/tasks/main.yml b/test/integration/targets/vmware_vm_facts/tasks/main.yml
index 276448d2d5..42784e5085 100644
--- a/test/integration/targets/vmware_vm_facts/tasks/main.yml
+++ b/test/integration/targets/vmware_vm_facts/tasks/main.yml
@@ -3,14 +3,20 @@
# Copyright, (c) 2018, Fedor Vompe <f.vompe@comptek.ru>
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
+- import_role:
+ name: prepare_vmware_tests
+ vars:
+ setup_datastore: true
+ setup_virtualmachines: true
+
- when: vcsim is not defined
block:
- name: Get facts from a given ESXi
vmware_vm_facts:
validate_certs: false
hostname: '{{ esxi1 }}'
- username: '{{ hostvars[esxi1].ansible_user }}'
- password: '{{ hostvars[esxi1].ansible_password }}'
+ username: '{{ esxi_user }}'
+ password: '{{ esxi_password }}'
- import_role:
name: prepare_vmware_tests
@@ -59,7 +65,7 @@
hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_username }}"
password: "{{ vcenter_password }}"
- name: "DC0_H0_VM0"
+ name: "{{ virtual_machines[0].name }}"
register: folder_path_info
- set_fact:
@@ -75,6 +81,7 @@
folder: "{{ folder_path }}"
register: vm_facts
when: folder_path_info.folders is defined
+- debug: var=vm_facts
- name: Check if facts are returned for VM with folder specified
assert:
diff --git a/test/integration/targets/vmware_vm_host_drs_rule/tasks/main.yml b/test/integration/targets/vmware_vm_host_drs_rule/tasks/main.yml
index e4ea13d530..41ac2560a0 100644
--- a/test/integration/targets/vmware_vm_host_drs_rule/tasks/main.yml
+++ b/test/integration/targets/vmware_vm_host_drs_rule/tasks/main.yml
@@ -10,6 +10,7 @@
setup_attach_host: true
setup_datastore: true
setup_virtualmachines: true
+
- name: Create DRS VM group
vmware_drs_group:
hostname: "{{ vcenter_hostname }}"
@@ -20,7 +21,7 @@
cluster_name: '{{ ccr1 }}'
datacenter_name: '{{ dc1 }}'
group_name: DC0_C0_VM_GR1
- vms: '{{ infra.vm_list }}'
+ vms: "{{ virtual_machines_in_cluster | map(attribute='name') | list }}"
state: present
register: drs_vm_group_01_results
- debug: var=drs_vm_group_01_results
@@ -35,9 +36,7 @@
cluster_name: '{{ ccr1 }}'
datacenter_name: '{{ dc1 }}'
group_name: DC0_C0_HOST_GR1
- hosts:
- - '{{ hostvars[esxi1].ansible_host }}'
- - '{{ hostvars[esxi2].ansible_host }}'
+ hosts: '{{ esxi_hosts }}'
state: present
register: drs_host_group_01_results
- debug: var=drs_host_group_01_results
diff --git a/test/integration/targets/vmware_vm_vm_drs_rule/tasks/main.yml b/test/integration/targets/vmware_vm_vm_drs_rule/tasks/main.yml
index 3e6e440027..71723bead1 100644
--- a/test/integration/targets/vmware_vm_vm_drs_rule/tasks/main.yml
+++ b/test/integration/targets/vmware_vm_vm_drs_rule/tasks/main.yml
@@ -19,7 +19,7 @@
password: "{{ vcenter_password }}"
drs_rule_name: drs_rule_0001
cluster_name: "{{ ccr1 }}"
- vms: "{{ infra.vm_list }}"
+ vms: "{{ virtual_machines_in_cluster | map(attribute='name') | list }}"
enabled: True
affinity_rule: True
mandatory: True
diff --git a/test/integration/targets/vmware_vswitch/tasks/main.yml b/test/integration/targets/vmware_vswitch/tasks/main.yml
index 8f1305d09b..01bc4c0f74 100644
--- a/test/integration/targets/vmware_vswitch/tasks/main.yml
+++ b/test/integration/targets/vmware_vswitch/tasks/main.yml
@@ -14,9 +14,9 @@
- name: Add a nic to a switch
vmware_vswitch:
- hostname: '{{ hostvars[esxi1].ansible_host }}'
- username: '{{ hostvars[esxi1].ansible_user }}'
- password: '{{ hostvars[esxi1].ansible_password }}'
+ hostname: '{{ esxi1 }}'
+ username: '{{ esxi_user }}'
+ password: '{{ esxi_password }}'
validate_certs: no
switch: vmswitch_0001
nics: vnic_1
@@ -28,9 +28,9 @@
- name: Add a nic to a switch again
vmware_vswitch:
- hostname: '{{ hostvars[esxi1].ansible_host }}'
- username: '{{ hostvars[esxi1].ansible_user }}'
- password: '{{ hostvars[esxi1].ansible_password }}'
+ hostname: '{{ esxi1 }}'
+ username: '{{ esxi_user }}'
+ password: '{{ esxi_password }}'
validate_certs: no
switch: vmswitch_0001
nics: vnic_1
@@ -42,9 +42,9 @@
- name: Remove a switch (check-mode)
vmware_vswitch:
- hostname: '{{ hostvars[esxi1].ansible_host }}'
- username: '{{ hostvars[esxi1].ansible_user }}'
- password: '{{ hostvars[esxi1].ansible_password }}'
+ hostname: '{{ esxi1 }}'
+ username: '{{ esxi_user }}'
+ password: '{{ esxi_password }}'
validate_certs: no
switch: vmswitch_0001
state: absent
@@ -58,9 +58,9 @@
# FIXME: Removing a switch fails
- name: Remove a switch
vmware_vswitch:
- hostname: '{{ hostvars[esxi1].ansible_host }}'
- username: '{{ hostvars[esxi1].ansible_user }}'
- password: '{{ hostvars[esxi1].ansible_password }}'
+ hostname: '{{ esxi1 }}'
+ username: '{{ esxi_user }}'
+ password: '{{ esxi_password }}'
validate_certs: no
switch: vmswitch_0001
state: absent
@@ -71,9 +71,9 @@
- name: Remove a switch again (check-mode)
vmware_vswitch:
- hostname: '{{ hostvars[esxi1].ansible_host }}'
- username: '{{ hostvars[esxi1].ansible_user }}'
- password: '{{ hostvars[esxi1].ansible_password }}'
+ hostname: '{{ esxi1 }}'
+ username: '{{ esxi_user }}'
+ password: '{{ esxi_password }}'
validate_certs: no
switch: vmswitch_0001
state: absent
@@ -87,9 +87,9 @@
# FIXME: Removing a switch fails
- name: Remove a switch again
vmware_vswitch:
- hostname: '{{ hostvars[esxi1].ansible_host }}'
- username: '{{ hostvars[esxi1].ansible_user }}'
- password: '{{ hostvars[esxi1].ansible_password }}'
+ hostname: '{{ esxi1 }}'
+ username: '{{ esxi_user }}'
+ password: '{{ esxi_password }}'
validate_certs: no
switch: vmswitch_0001
state: absent
@@ -101,9 +101,9 @@
- name: Add vswitch to a specific host system
vmware_vswitch:
validate_certs: False
- hostname: '{{ hostvars[esxi1].ansible_host }}'
- username: '{{ hostvars[esxi1].ansible_user }}'
- password: '{{ hostvars[esxi1].ansible_password }}'
+ hostname: '{{ esxi1 }}'
+ username: '{{ esxi_user }}'
+ password: '{{ esxi_password }}'
switch: vmswitch_0002
nics: vnic_1
esxi_hostname: guest1