mirror of https://github.com/ansible/ansible.git
VMware: Check device type explicitly (#38729)
Check datatype of device instead of comparing them directly in vmware_guest. Also, added testcases to check this behavior. DPVG is not supported in current version vcsim Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>pull/40074/head
parent
5cf61d7401
commit
79c7d462c1
@ -0,0 +1,97 @@
|
||||
# Test code for the vmware_guest module.
|
||||
# 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)
|
||||
|
||||
# Testcase to check #38605
|
||||
- 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
|
||||
|
||||
- set_fact:
|
||||
vm1: "{{ vmlist['json'][0] }}"
|
||||
|
||||
- debug: var=vm1
|
||||
|
||||
- set_fact:
|
||||
vm_name: "VM_{{ 10000 | random }}"
|
||||
|
||||
- name: Deploy VM {{ vm1 | basename }}
|
||||
vmware_guest:
|
||||
hostname: "{{ vcsim }}"
|
||||
username: "{{ vcsim_instance['json']['username'] }}"
|
||||
password: "{{ vcsim_instance['json']['password'] }}"
|
||||
validate_certs: False
|
||||
datacenter: "{{ (vm1|basename).split('_')[0] }}"
|
||||
state: poweredon
|
||||
folder: "{{ vm1 | dirname }}"
|
||||
name: "{{ vm_name }}"
|
||||
disk:
|
||||
- size: 10mb
|
||||
autoselect_datastore: yes
|
||||
guest_id: rhel7_64guest
|
||||
hardware:
|
||||
memory_mb: 512
|
||||
num_cpus: 1
|
||||
networks:
|
||||
- name: 'VM Network'
|
||||
device_type: "vmxnet3"
|
||||
register: vm_result
|
||||
|
||||
- debug: var=vm_result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- "vm_result.changed"
|
||||
|
||||
- name: Deploy VM {{ vm1 | basename }} again
|
||||
vmware_guest:
|
||||
hostname: "{{ vcsim }}"
|
||||
username: "{{ vcsim_instance['json']['username'] }}"
|
||||
password: "{{ vcsim_instance['json']['password'] }}"
|
||||
validate_certs: False
|
||||
datacenter: "{{ (vm1|basename).split('_')[0] }}"
|
||||
state: poweredon
|
||||
folder: "{{ vm1 | dirname }}"
|
||||
name: "{{ vm_name }}"
|
||||
disk:
|
||||
- size: 10mb
|
||||
autoselect_datastore: yes
|
||||
guest_id: rhel7_64guest
|
||||
hardware:
|
||||
memory_mb: 512
|
||||
num_cpus: 1
|
||||
networks:
|
||||
- name: 'VM Network'
|
||||
device_type: "vmxnet3"
|
||||
register: vm_result_again
|
||||
|
||||
- debug: var=vm_result_again
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- "not vm_result_again.changed"
|
Loading…
Reference in New Issue