ansible/test/integration/targets/vcenter_folder/tasks/main.yml
Jan Meerkamp 1d370bd189
VMware: vcenter_folder nested folder absent fix (#65283)
- no longer try to create folder which exists.
- correctly remove nested folders with absent.
2020-02-14 16:18:34 -05:00

216 lines
5.4 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: Create all types of folder in check mode
vcenter_folder:
hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_username }}"
password: "{{ vcenter_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
check_mode: yes
- debug:
msg: "{{ all_folder_results }}"
- name: ensure everything for {{ dc1 }}
assert:
that:
- all_folder_results.changed
- name: Create all types of folder
vcenter_folder:
hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_username }}"
password: "{{ vcenter_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 in check mode
vcenter_folder:
hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_username }}"
password: "{{ vcenter_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
check_mode: yes
- 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: "{{ vcenter_hostname }}"
username: "{{ vcenter_username }}"
password: "{{ vcenter_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: "{{ vcenter_hostname }}"
username: "{{ vcenter_username }}"
password: "{{ vcenter_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
- name: Create a 3rd level of directory
vcenter_folder:
hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_username }}"
password: "{{ vcenter_password }}"
validate_certs: no
datacenter: "{{ dc1 }}"
folder_name: yet_another_level
parent_folder: vm_folder/sub_vm_folder
state: present
register: yet_another_level
- debug: var=yet_another_level
- name: Recreate a 3rd level of directory
vcenter_folder:
hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_username }}"
password: "{{ vcenter_password }}"
validate_certs: no
datacenter: "{{ dc1 }}"
folder_name: yet_another_level
parent_folder: vm_folder/sub_vm_folder
state: present
register: recreate_yet_another_level
- debug: var=recreate_yet_another_level
- debug:
msg: "{{ all_folder_results }}"
- name: ensure everything for {{ dc1 }}
assert:
that:
- all_folder_results.changed
- not recreate_folders.changed
- not recreate_yet_another_level.changed
## Testcase: Delete all types of folder
#
# Doesn't work with vcsim. Looks like UnregisterAndDestroy isn't supported.
- when: vcsim is not defined
block:
- name: Remove a 3rd level of directory
vcenter_folder:
hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_username }}"
password: "{{ vcenter_password }}"
validate_certs: no
datacenter: "{{ dc1 }}"
folder_name: yet_another_level
parent_folder: vm_folder/sub_vm_folder
state: absent
register: remove_yet_another_level
- debug: var=remove_yet_another_level
- name: Delete all types of folder
vcenter_folder:
hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_username }}"
password: "{{ vcenter_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: "{{ vcenter_hostname }}"
username: "{{ vcenter_username }}"
password: "{{ vcenter_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