-
Notifications
You must be signed in to change notification settings - Fork 339
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
7 changed files
with
276 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
cloud/vcenter | ||
needs/target/prepare_vmware_tests | ||
zuul/vmware/vcenter_1esxi |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
guest_test_playbooks: | ||
- boot_firmware_d1_c1_f0.yml | ||
- create_d1_c1_f0.yml | ||
- create_guest_invalid_d1_c1_f0.yml |
75 changes: 75 additions & 0 deletions
75
tests/integration/targets/guest/tasks/boot_firmware_d1_c1_f0.yml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,75 @@ | ||
# Test code for the guest module. | ||
# Copyright: (c) 2018, Abhijeet Kasurde <[email protected]> | ||
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) | ||
|
||
- &create_test_vm1 | ||
name: create new VMs with boot_firmware as 'bios' | ||
guest: | ||
validate_certs: false | ||
hostname: "{{ vcenter_hostname }}" | ||
username: "{{ vcenter_username }}" | ||
password: "{{ vcenter_password }}" | ||
name: test_vm1 | ||
guest_id: centos64Guest | ||
datacenter: "{{ dc1 }}" | ||
hardware: | ||
num_cpus: 1 | ||
boot_firmware: "bios" | ||
memory_mb: 128 | ||
state: present | ||
folder: "{{ f0 }}" | ||
register: create_d1_c1_f0 | ||
|
||
- debug: var=create_d1_c1_f0 | ||
|
||
- name: assert that changes were made | ||
assert: | ||
that: | ||
- create_d1_c1_f0 is changed | ||
|
||
- <<: *create_test_vm1 | ||
name: create new VMs again with boot_firmware as 'bios' | ||
register: create_d1_c1_f0_again | ||
|
||
- debug: var=create_d1_c1_f0_again | ||
|
||
- name: assert that changes were not made | ||
assert: | ||
that: | ||
- create_d1_c1_f0_again is not changed | ||
|
||
- &create_test_vm2 | ||
name: create new VMs with boot_firmware as 'efi' | ||
guest: | ||
validate_certs: false | ||
hostname: "{{ vcenter_hostname }}" | ||
username: "{{ vcenter_username }}" | ||
password: "{{ vcenter_password }}" | ||
name: test_vm2 | ||
guest_id: centos64Guest | ||
datacenter: "{{ dc1 }}" | ||
hardware: | ||
num_cpus: 1 | ||
boot_firmware: "efi" | ||
memory_mb: 128 | ||
state: present | ||
folder: "{{ f0 }}" | ||
register: create_d1_c1_f0 | ||
|
||
- debug: var=create_d1_c1_f0 | ||
|
||
- name: assert that changes were made | ||
assert: | ||
that: | ||
- create_d1_c1_f0 is changed | ||
|
||
- <<: *create_test_vm2 | ||
name: create new VMs again with boot_firmware as 'efi' | ||
register: create_d1_c1_f0_again | ||
|
||
- debug: var=create_d1_c1_f0 | ||
|
||
- name: assert that changes were not made | ||
assert: | ||
that: | ||
- create_d1_c1_f0_again is not changed |
116 changes: 116 additions & 0 deletions
116
tests/integration/targets/guest/tasks/create_d1_c1_f0.yml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,116 @@ | ||
# Test code for the guest module. | ||
# Copyright: (c) 2017, James Tanner <[email protected]> | ||
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) | ||
|
||
- &create_test_vm1 | ||
name: create new VM | ||
guest: | ||
validate_certs: false | ||
hostname: "{{ vcenter_hostname }}" | ||
username: "{{ vcenter_username }}" | ||
password: "{{ vcenter_password }}" | ||
name: test_vm1 | ||
guest_id: centos64Guest | ||
datacenter: "{{ dc1 }}" | ||
hardware: | ||
num_cpus: 1 | ||
num_cpu_cores_per_socket: 1 | ||
memory_mb: 128 | ||
hotadd_memory: true | ||
hotadd_cpu: false | ||
memory_reservation: 128 | ||
memory_reservation_lock: false | ||
nested_virt: true | ||
hotremove_cpu: true | ||
mem_limit: 8096 | ||
mem_reservation: 4096 | ||
cpu_limit: 8096 | ||
cpu_reservation: 4096 | ||
max_connections: 10 | ||
state: present | ||
folder: '{{ f0 }}' | ||
register: create_d1_c1_f0 | ||
|
||
- debug: var=create_d1_c1_f0 | ||
|
||
- name: assert that changes were made | ||
assert: | ||
that: | ||
- create_d1_c1_f0 is changed | ||
|
||
- <<: *create_test_vm1 | ||
name: create the VM again | ||
register: create_d1_c1_f0_again | ||
|
||
- debug: var=create_d1_c1_f0_again | ||
|
||
- name: assert that no changes were made after re-creating | ||
assert: | ||
that: | ||
- create_d1_c1_f0_again is not changed | ||
|
||
- &modify_test_vm1 | ||
name: modify the new VM | ||
guest: | ||
validate_certs: false | ||
hostname: "{{ vcenter_hostname }}" | ||
username: "{{ vcenter_username }}" | ||
password: "{{ vcenter_password }}" | ||
name: test_vm1 | ||
guest_id: centos64Guest | ||
datacenter: "{{ dc1 }}" | ||
hardware: | ||
num_cpus: 2 | ||
memory_mb: 128 | ||
state: present | ||
folder: '{{ f0 }}' | ||
register: modify_d1_c1_f0 | ||
|
||
- debug: var=modify_d1_c1_f0 | ||
|
||
- name: assert that changes were made with modification | ||
assert: | ||
that: | ||
- modify_d1_c1_f0 is changed | ||
|
||
- <<: *modify_test_vm1 | ||
name: re-modify the new VMs | ||
register: modify_d1_c1_f0_again | ||
|
||
- debug: var=modify_d1_c1_f0_again | ||
|
||
- name: assert that no changes were made when re-modified | ||
assert: | ||
that: | ||
- modify_d1_c1_f0_again is not changed | ||
|
||
- &delete_test_vm1 | ||
name: delete the new VMs | ||
guest: | ||
validate_certs: false | ||
hostname: "{{ vcenter_hostname }}" | ||
username: "{{ vcenter_username }}" | ||
password: "{{ vcenter_password }}" | ||
name: test_vm1 | ||
datacenter: "{{ dc1 }}" | ||
state: absent | ||
folder: '{{ f0 }}' | ||
register: delete_d1_c1_f0 | ||
|
||
- debug: var=delete_d1_c1_f0 | ||
|
||
- name: assert that changes were made with deletion | ||
assert: | ||
that: | ||
- delete_d1_c1_f0 is changed | ||
|
||
- <<: *delete_test_vm1 | ||
name: re-delete the new VMs | ||
register: delete_d1_c1_f0_again | ||
|
||
- debug: var=delete_d1_c1_f0_again | ||
|
||
- name: assert that no changes were made with redeletion | ||
assert: | ||
that: | ||
- delete_d1_c1_f0_again is not changed |
28 changes: 28 additions & 0 deletions
28
tests/integration/targets/guest/tasks/create_guest_invalid_d1_c1_f0.yml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
# Test code for the guest module. | ||
# Copyright: (c) 2017, Abhijeet Kasurde <[email protected]> | ||
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) | ||
|
||
- name: create new virtual machine with invalid guest id | ||
guest: | ||
validate_certs: false | ||
hostname: "{{ vcenter_hostname }}" | ||
username: "{{ vcenter_username }}" | ||
password: "{{ vcenter_password }}" | ||
name: invalid_vm | ||
guest_id: "invalid_guest_id" | ||
datacenter: "{{ dc1 }}" | ||
hardware: | ||
num_cpus: 1 | ||
memory_mb: 128 | ||
state: present | ||
folder: "{{ f0 }}" | ||
register: invalid_guest_0001_d1_c1_f0 | ||
ignore_errors: true | ||
|
||
- debug: var=invalid_guest_0001_d1_c1_f0 | ||
|
||
- name: assert that changes were made | ||
assert: | ||
that: | ||
- "not (invalid_guest_0001_d1_c1_f0 is changed)" | ||
- "'configSpec.guestId' in invalid_guest_0001_d1_c1_f0['msg']" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
# Test code for the guest module. | ||
# Copyright: (c) 2017, James Tanner <[email protected]> | ||
# 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_attach_host: true | ||
setup_datacenter: true | ||
setup_datastore: true | ||
setup_dvswitch: true | ||
setup_resource_pool: true | ||
setup_dvs_portgroup: true | ||
|
||
- include_tasks: run_test_playbook.yml | ||
with_items: '{{ guest_test_playbooks }}' | ||
loop_control: | ||
loop_var: test_playbook |
32 changes: 32 additions & 0 deletions
32
tests/integration/targets/guest/tasks/run_test_playbook.yml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
- block: | ||
- include_tasks: '{{ test_playbook }}' | ||
always: | ||
- name: Collect the list of the existing VM | ||
vmware.vmware_rest.vcenter_vm_info: | ||
vcenter_hostname: '{{ vcenter_hostname }}' | ||
vcenter_username: '{{ vcenter_username }}' | ||
vcenter_password: '{{ vcenter_password }}' | ||
vcenter_validate_certs: false | ||
register: existing_vms | ||
until: existing_vms is not failed | ||
- name: Turn off the VM | ||
vmware.vmware_rest.vcenter_vm_power: | ||
vcenter_hostname: '{{ vcenter_hostname }}' | ||
vcenter_username: '{{ vcenter_username }}' | ||
vcenter_password: '{{ vcenter_password }}' | ||
vcenter_validate_certs: false | ||
state: stop | ||
vm: '{{ item.vm }}' | ||
with_items: "{{ existing_vms.value }}" | ||
ignore_errors: true | ||
- name: Clean up VM | ||
vmware.vmware_rest.vcenter_vm: | ||
vcenter_hostname: '{{ vcenter_hostname }}' | ||
vcenter_username: '{{ vcenter_username }}' | ||
vcenter_password: '{{ vcenter_password }}' | ||
vcenter_validate_certs: false | ||
state: absent | ||
vm: '{{ item.vm }}' | ||
with_items: "{{ existing_vms.value }}" | ||
when: | ||
- not item.name.startswith("vCLS") |