ansible/test/integration/targets/vcenter_folder/tasks/main.yml
Orr 1e4831e744 VMware: check if folder already exists before creation (#41588)
* check if folder already exists before creation
* added integration test
2018-07-30 11:11:42 +05:30

156 lines
3.6 KiB
YAML

# Test code for the vcenter_folder 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)
- 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?cluster=2
register: vcsim_instance
- debug:
var: vcsim_instance
- name: Wait for vcsim server to come up online
wait_for:
host: "{{ vcsim }}"
port: 443
state: started
- name: get datacenter
uri:
url: http://{{ vcsim }}:5000/govc_find?filter=DC
register: datacenters
- name: get a datacenter
set_fact:
dc1: "{{ datacenters.json[0] | basename }}"
- name: Create all types of folder
vcenter_folder:
hostname: "{{ vcsim }}"
username: "{{ vcsim_instance.json.username }}"
password: "{{ vcsim_instance.json.password }}"
validate_certs: no
datacenter: "{{ dc1 }}"
folder_name: "{{ item }}_folder"
folder_type: "{{ item }}"
state: present
register: all_folder_results
with_items:
- vm
- host
- datastore
- network
- debug: msg="{{ all_folder_results }}"
- name: ensure everything for {{ dc1 }}
assert:
that:
- all_folder_results.changed
- name: Create all types of sub folder
vcenter_folder:
hostname: "{{ vcsim }}"
username: "{{ vcsim_instance.json.username }}"
password: "{{ vcsim_instance.json.password }}"
validate_certs: no
datacenter: "{{ dc1 }}"
folder_name: "sub_{{ item }}_folder"
parent_folder: 'vm_folder'
state: present
register: all_folder_results
with_items:
- vm
- host
- datastore
- network
- name: Recreate all types of sub folder
vcenter_folder:
hostname: "{{ vcsim }}"
username: "{{ vcsim_instance.json.username }}"
password: "{{ vcsim_instance.json.password }}"
validate_certs: no
datacenter: "{{ dc1 }}"
folder_name: "sub_{{ item }}_folder"
parent_folder: 'vm_folder'
state: present
register: recreate_folders
with_items:
- vm
- host
- datastore
- network
- debug: msg="{{ all_folder_results }}"
- name: ensure everything for {{ dc1 }}
assert:
that:
- all_folder_results.changed
- not recreate_folders.changed
#- name: Delete all types of folder
# vcenter_folder:
# hostname: "{{ vcsim }}"
# username: "{{ vcsim_instance.json.username }}"
# password: "{{ vcsim_instance.json.password }}"
# validate_certs: no
# datacenter: "{{ dc1 }}"
# folder_name: "{{ item }}_folder"
# folder_type: "{{ item }}"
# state: absent
# register: all_folder_results
# with_items:
# - vm
# - host
# - datastore
# - network
#- debug: msg="{{ all_folder_results }}"
#- name: ensure everything for {{ dc1 }}
# assert:
# that:
# - all_folder_results.changed
#- name: Delete all types of folder again
# vcenter_folder:
# hostname: "{{ vcsim }}"
# username: "{{ vcsim_instance.json.username }}"
# password: "{{ vcsim_instance.json.password }}"
# validate_certs: no
# datacenter: "{{ dc1 }}"
# folder_name: "{{ item }}_folder"
# folder_type: "{{ item }}"
# state: absent
# register: all_folder_results
# with_items:
# - vm
# - host
# - datastore
# - network
#- debug: msg="{{ all_folder_results }}"
#- name: ensure everything for {{ dc1 }}
# assert:
# that:
# - not all_folder_results.changed