vmware: refactoring of vmware test roles -- part2 (#55724)

Refactoring of the following roles to make use of the new
`prepare_vmware_tests` role.

- `vmware_datacenter`
- `vmware_datastore_cluster`
- `vmware_datastore_facts`
- `vmware_datastore_maintenancemode`

This patch depends on: https://github.com/ansible/ansible/pull/55719

Original PR: https://github.com/ansible/ansible/pull/54882
This commit is contained in:
Gonéri Le Bouder 2019-04-30 06:22:50 -04:00 committed by ansibot
commit 0e83384dfd
8 changed files with 198 additions and 290 deletions

View file

@ -1,2 +1,3 @@
cloud/vcenter
unsupported
shippable/vcenter/group1
needs/target/prepare_vmware_tests

View file

@ -3,101 +3,82 @@
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
# TODO: vcsim does not support datastore maintenance mode properties
- when: vcsim is not defined
block:
- import_role:
name: prepare_vmware_tests
vars:
setup_attach_host: true
setup_datastore: true
- name: Wait for Flask controller to come up online
wait_for:
host: "{{ vcsim }}"
port: 5000
state: started
- name: Enter datastore in maintenance mode
vmware_datastore_maintenancemode:
hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_username }}"
password: "{{ vcenter_password }}"
state: present
datastore: "{{ ds1 }}"
validate_certs: no
register: test_result_0001
- name: kill vcsim
uri:
url: http://{{ vcsim }}:5000/killall
- debug:
var: test_result_0001
- name: start vcsim
uri:
url: http://{{ vcsim }}:5000/spawn?datacenter=1&cluster=1&folder=0
register: vcsim_instance
- name: assert that changes were made
assert:
that:
- test_result_0001 is changed
- name: Wait for vcsim server to come up online
wait_for:
host: "{{ vcsim }}"
port: 443
state: started
- name: Enter datastore in maintenance mode again
vmware_datastore_maintenancemode:
hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_username }}"
password: "{{ vcenter_password }}"
state: present
datastore: "{{ ds1 }}"
validate_certs: no
register: test_result_0002
- name: Get a list of datastores from vcsim
uri:
url: http://{{ vcsim }}:5000/govc_find?filter=D
register: datastores
- debug:
var: test_result_0002
- name: Enter datastore in maintenance mode
vmware_datastore_maintenancemode:
hostname: "{{ vcsim }}"
username: "{{ vcsim_instance.json.username }}"
password: "{{ vcsim_instance.json.password }}"
state: present
datastore: "{{ item | basename }}"
validate_certs: False
with_items: "{{ datastores['json'] }}"
register: test_result_0001
- name: assert that no changes were made
assert:
that:
- not (test_result_0002 is changed)
- debug: var=test_result_0001
- name: Exit datastores from maintenance mode
vmware_datastore_maintenancemode:
hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_username }}"
password: "{{ vcenter_password }}"
state: absent
datastore: "{{ ds1 }}"
validate_certs: no
register: test_result_0003
- name: assert that changes were made
assert:
that:
- "test_result_0001.results|map(attribute='changed')|unique|list == [true]"
- debug:
var: test_result_0003
- name: Enter datastore in maintenance mode again
vmware_datastore_maintenancemode:
hostname: "{{ vcsim }}"
username: "{{ vcsim_instance.json.username }}"
password: "{{ vcsim_instance.json.password }}"
state: present
datastore: "{{ item | basename }}"
validate_certs: no
with_items: "{{ datastores['json'] }}"
register: test_result_0002
- name: assert that changes were made
assert:
that:
- test_result_0003 is changed
- debug: var=test_result_0002
- name: Exit datastores from maintenance mode again
vmware_datastore_maintenancemode:
hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_username }}"
password: "{{ vcenter_password }}"
state: absent
datastore: "{{ ds1 }}"
validate_certs: no
register: test_result_0004
- name: assert that no changes were made
assert:
that:
- "test_result_0002.results|map(attribute='changed')|unique|list == [false]"
- debug:
var: test_result_0004
- name: Exit datastores from maintenance mode
vmware_datastore_maintenancemode:
hostname: "{{ vcsim }}"
username: "{{ vcsim_instance.json.username }}"
password: "{{ vcsim_instance.json.password }}"
state: absent
esxi_hostname: "{{ item | basename }}"
validate_certs: no
with_items: "{{ datastores['json'] }}"
register: test_result_0003
- debug: var=test_result_0003
- name: assert that changes were made
assert:
that:
- "test_result_0003.results|map(attribute='changed')|unique|list == [true]"
- name: Exit datastores from maintenance mode again
vmware_datastore_maintenancemode:
hostname: "{{ vcsim }}"
username: "{{ vcsim_instance.json.username }}"
password: "{{ vcsim_instance.json.password }}"
state: absent
esxi_hostname: "{{ item | basename }}"
validate_certs: no
with_items: "{{ datastores['json'] }}"
register: test_result_0004
- debug: var=test_result_0004
- name: assert that no changes were made
assert:
that:
- "test_result_0004.results|map(attribute='changed')|unique|list == [false]"
- name: assert that no changes were made
assert:
that:
- not (test_result_0004 is changed)