Skip to content

Commit

Permalink
VMware: Additional testcase for mem_reservation (ansible#59365)
Browse files Browse the repository at this point in the history
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
  • Loading branch information
Akasurde committed Jul 22, 2019
1 parent 8d0f2e5 commit 791e565
Show file tree
Hide file tree
Showing 3 changed files with 89 additions and 1 deletion.
4 changes: 3 additions & 1 deletion lib/ansible/modules/cloud/vmware/vmware_guest.py
Original file line number Diff line number Diff line change
Expand Up @@ -896,7 +896,9 @@ def configure_resource_alloc_info(self, vm_obj):
rai_change_detected = True

if 'mem_reservation' in self.params['hardware'] or 'memory_reservation' in self.params['hardware']:
mem_reservation = self.params['hardware'].get('mem_reservation') or self.params['hardware'].get('memory_reservation')
mem_reservation = self.params['hardware'].get('mem_reservation')
if mem_reservation is None:
mem_reservation = self.params['hardware'].get('memory_reservation')
try:
mem_reservation = int(mem_reservation)
except ValueError:
Expand Down
4 changes: 4 additions & 0 deletions test/integration/targets/vmware_guest/tasks/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,10 @@
- newvm_mk_conn_DC0_H0_VM1
- newvm_mem_res_DC0_H0_VM0
- newvm_mem_res_DC0_H0_VM1
- newvm_no_mem_DC0_H0_VM0
- newvm_no_mem_DC0_H0_VM1
- memory_res_DC0_H0_VM0
- memory_res_DC0_H0_VM1
- thin_DC0_H0_VM0
- thin_DC0_H0_VM1
- thick_DC0_H0_VM0
Expand Down
82 changes: 82 additions & 0 deletions test/integration/targets/vmware_guest/tasks/mem_reservation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,3 +44,85 @@
assert:
that:
- "mem_reserve_result_0002.results|map(attribute='changed')|unique|list == [false]"

- &add_memory_reserve
name: Create new VMs with memory_reservation as 0
vmware_guest:
validate_certs: False
hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_username }}"
password: "{{ vcenter_password }}"
name: "{{ 'memory_res_' + item.name }}"
guest_id: centos64Guest
datacenter: "{{ dc1 }}"
hardware:
num_cpus: 4
memory_mb: 512
memory_reservation: 0
disk:
- size: 1gb
type: thin
autoselect_datastore: True
state: present
folder: "{{ item.folder }}"
with_items: "{{ virtual_machines }}"
register: memory_reserve_result_0003

- debug: var=memory_reserve_result_0003

- name: Assert that changes were made
assert:
that:
- "memory_reserve_result_0003.results|map(attribute='changed')|unique|list == [true]"

- <<: *add_memory_reserve
name: Again create new VMs with memory_reservation as 0
register: memory_reserve_result_0004

- debug: var=memory_reserve_result_0004

- name: Assert that changes were not made
assert:
that:
- "memory_reserve_result_0004.results|map(attribute='changed')|unique|list == [false]"

- &no_memory_reserve
name: Create new VMs without memory_reservation or mem_reservation
vmware_guest:
validate_certs: False
hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_username }}"
password: "{{ vcenter_password }}"
name: "{{ 'newvm_no_mem_' + item.name }}"
guest_id: centos64Guest
datacenter: "{{ dc1 }}"
hardware:
num_cpus: 4
memory_mb: 512
memory_reservation: 0
disk:
- size: 1gb
type: thin
autoselect_datastore: True
state: present
folder: "{{ item.folder }}"
with_items: "{{ virtual_machines }}"
register: no_memory_reserve_result_0005

- debug: var=no_memory_reserve_result_0005

- name: Assert that changes were made
assert:
that:
- "no_memory_reserve_result_0005.results|map(attribute='changed')|unique|list == [true]"

- <<: *no_memory_reserve
name: Again create new VMs without memory_reservation or mem_reservation
register: no_memory_reserve_result_0006

- debug: var=no_memory_reserve_result_0006

- name: Assert that changes were not made
assert:
that:
- "no_memory_reserve_result_0006.results|map(attribute='changed')|unique|list == [false]"

0 comments on commit 791e565

Please sign in to comment.