diff --git a/test/integration/targets/vmware_vm_facts/aliases b/test/integration/targets/vmware_vm_facts/aliases new file mode 100644 index 0000000000..1c56b8da49 --- /dev/null +++ b/test/integration/targets/vmware_vm_facts/aliases @@ -0,0 +1,2 @@ +posix/ci/cloud/vcenter +cloud/vcenter diff --git a/test/integration/targets/vmware_vm_facts/tasks/main.yml b/test/integration/targets/vmware_vm_facts/tasks/main.yml new file mode 100644 index 0000000000..5dac7c5476 --- /dev/null +++ b/test/integration/targets/vmware_vm_facts/tasks/main.yml @@ -0,0 +1,61 @@ +# Test code for the vmware_vm_facts module +# (c) 2017, Abhijeet Kasurde + +# This file is part of Ansible +# +# Ansible is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Ansible is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Ansible. If not, see . +# + +- name: make sure pyvmomi is installed + pip: + name: pyvmomi + state: latest + +- name: store the vcenter container ip + set_fact: + vcsim: "{{ lookup('env', 'vcenter_host') }}" +- debug: var=vcsim + +- name: kill vcsim + uri: + url: "{{ 'http://' + vcsim + ':5000/killall' }}" +- name: start vcsim + uri: + url: "{{ 'http://' + vcsim + ':5000/spawn?cluster=2' }}" + register: vcsim_instance + +- debug: var=vcsim_instance + +# Testcase 0001: Get detail of vms from given esxi +- name: get facts about available vms + vmware_vm_facts: + validate_certs: false + hostname: "{{ vcsim }}" + username: "{{ vcsim_instance['json']['username'] }}" + password: "{{ vcsim_instance['json']['password'] }}" + register: vm_facts_0001 + +- debug: var="{{ vm_facts_0001['virtual_machines'].keys() }}" + +- name: get all VMs + uri: + url: "{{ 'http://' + vcsim + ':5000/govc_find?filter=VM' }}" + register: host_info_result + +- name: verify if VM exists + assert: + that: + - "{{ item | basename in vm_facts_0001['virtual_machines'].keys()}}" + with_items: + - "{{ host_info_result['json'] }}"