51475cd623
Fix a bunch of things mentioned in the review. Delete commented code from module. Add fix for vcsim not returning uncommitted. Add integration test. Add changes suggested
129 lines
3.7 KiB
YAML
129 lines
3.7 KiB
YAML
# Test code for the vmware_datastore_facts module.
|
|
# (c) 2017, Tim Rightnour <thegarbledone@gmail.com>
|
|
|
|
# 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 <http://www.gnu.org/licenses/>.
|
|
#
|
|
- 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: 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
|
|
uri:
|
|
url: "{{ 'http://' + vcsim + ':5000/spawn?ds=2&datacenter=1&cluster=1&folder=0' }}"
|
|
register: vcsim_instance
|
|
|
|
- name: Wait for vcsim server to come up online
|
|
wait_for:
|
|
host: "{{ vcsim }}"
|
|
port: 443
|
|
state: started
|
|
|
|
- name: get a list of Clusters from vcsim
|
|
uri:
|
|
url: "{{ 'http://' + vcsim + ':5000/govc_find?filter=CCR' }}"
|
|
register: clusters
|
|
|
|
- set_fact:
|
|
cl1: "{{ clusters['json'][0] }}"
|
|
|
|
- name: get a list of Datacenters from vcsim
|
|
uri:
|
|
url: "{{ 'http://' + vcsim + ':5000/govc_find?filter=DC' }}"
|
|
register: datacenters
|
|
|
|
- set_fact:
|
|
dc1: "{{ datacenters['json'][0] }}"
|
|
|
|
- name: get a list of Datastores from vcsim
|
|
uri:
|
|
url: "{{ 'http://' + vcsim + ':5000/govc_find?filter=D' }}"
|
|
register: datastores
|
|
|
|
- set_fact:
|
|
ds1: "{{ datastores['json'][0] }}"
|
|
|
|
# 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: "{{ vcsim }}"
|
|
username: "{{ vcsim_instance['json']['username'] }}"
|
|
password: "{{ vcsim_instance['json']['password'] }}"
|
|
datacenter: "{{ dc1 | basename }}"
|
|
register: datastore_facts_0001
|
|
|
|
- debug:
|
|
msg: "{{ datastore_facts_0001 }}"
|
|
|
|
- assert:
|
|
that:
|
|
- "datastore_facts_0001['datastores'][0]['capacity'] is defined"
|
|
- "datastore_facts_0001['datastores'][1]['capacity'] is defined"
|
|
|
|
# Testcase 0002: Get a full list of datastores in a cluster
|
|
- name: get list of facts about datastores - no dc
|
|
vmware_datastore_facts:
|
|
validate_certs: False
|
|
hostname: "{{ vcsim }}"
|
|
username: "{{ vcsim_instance['json']['username'] }}"
|
|
password: "{{ vcsim_instance['json']['password'] }}"
|
|
cluster: "{{ cl1 | basename }}"
|
|
register: datastore_facts_0002
|
|
|
|
- debug:
|
|
msg: "{{ datastore_facts_0002 }}"
|
|
|
|
- assert:
|
|
that:
|
|
- "datastore_facts_0002['datastores'][0]['capacity'] is defined"
|
|
- "datastore_facts_0002['datastores'][1]['capacity'] is defined"
|
|
|
|
# Testcase 0003: Find a specific datastore
|
|
- name: get list of facts about one datastore
|
|
vmware_datastore_facts:
|
|
validate_certs: False
|
|
hostname: "{{ vcsim }}"
|
|
username: "{{ vcsim_instance['json']['username'] }}"
|
|
password: "{{ vcsim_instance['json']['password'] }}"
|
|
datacenter: "{{ dc1 | basename }}"
|
|
name: "{{ ds1 | basename }}"
|
|
register: datastore_facts_0003
|
|
|
|
- debug:
|
|
msg: "{{ datastore_facts_0003 }}"
|
|
|
|
- assert:
|
|
that:
|
|
- "datastore_facts_0003['datastores'][0]['name'] == ds1 | basename"
|
|
- "datastore_facts_0003['datastores'][0]['capacity'] is defined"
|