6bb21c3db0
- In order to keep the integration with `ansible-test`, we prefer to avoid any interaction with the Ansible inventory file. - split up the prepare_vmware_tests/defaults/main.yml in two configuration files: one for vcsim and one for a real environment - remove all the access to hostvars - directly interact with the ESXi to mount/umount the datastore https://github.com/ansible/ansible/pull/56516 - record the virtual machine folder in the environment configuration - vmware_guest_move: Use https://github.com/ansible/ansible/pull/55237
110 lines
3.2 KiB
YAML
110 lines
3.2 KiB
YAML
# Test code for the vmware_guest_custom_attributes 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)
|
|
|
|
# TODO: Current pinned version of vcsim does not support custom fields
|
|
# commenting testcase below
|
|
- import_role:
|
|
name: prepare_vmware_tests
|
|
vars:
|
|
setup_attach_host: true
|
|
setup_datastore: true
|
|
setup_virtualmachines: true
|
|
- name: Add custom attribute to the given virtual machine
|
|
vmware_guest_custom_attributes:
|
|
validate_certs: False
|
|
hostname: '{{ vcenter_hostname }}'
|
|
username: '{{ vcenter_username }}'
|
|
password: '{{ vcenter_password }}'
|
|
datacenter: "{{ dc1 }}"
|
|
name: "{{ virtual_machines[0].name }}"
|
|
folder: "{{ virtual_machines[0].folder }}"
|
|
state: present
|
|
attributes:
|
|
- name: 'sample_1'
|
|
value: 'sample_1_value'
|
|
- name: 'sample_2'
|
|
value: 'sample_2_value'
|
|
- name: 'sample_3'
|
|
value: 'sample_3_value'
|
|
register: guest_facts_0001
|
|
|
|
- debug: var=guest_facts_0001
|
|
|
|
- assert:
|
|
that:
|
|
- guest_facts_0001 is changed
|
|
|
|
- name: Add custom attribute to the given virtual machine again
|
|
vmware_guest_custom_attributes:
|
|
validate_certs: False
|
|
hostname: '{{ vcenter_hostname }}'
|
|
username: '{{ vcenter_username }}'
|
|
password: '{{ vcenter_password }}'
|
|
datacenter: "{{ dc1 }}"
|
|
name: "{{ virtual_machines[0].name }}"
|
|
folder: "{{ virtual_machines[0].folder }}"
|
|
state: present
|
|
attributes:
|
|
- name: 'sample_1'
|
|
value: 'sample_1_value'
|
|
- name: 'sample_2'
|
|
value: 'sample_2_value'
|
|
- name: 'sample_3'
|
|
value: 'sample_3_value'
|
|
register: guest_facts_0002
|
|
|
|
- debug: var=guest_facts_0002
|
|
|
|
- assert:
|
|
that:
|
|
- not (guest_facts_0002 is changed)
|
|
|
|
- name: Remove custom attribute to the given virtual machine
|
|
vmware_guest_custom_attributes:
|
|
validate_certs: False
|
|
hostname: '{{ vcenter_hostname }}'
|
|
username: '{{ vcenter_username }}'
|
|
password: '{{ vcenter_password }}'
|
|
datacenter: "{{ dc1 }}"
|
|
name: "{{ virtual_machines[0].name }}"
|
|
folder: "{{ virtual_machines[0].folder }}"
|
|
state: absent
|
|
attributes:
|
|
- name: 'sample_1'
|
|
- name: 'sample_2'
|
|
- name: 'sample_3'
|
|
register: guest_facts_0004
|
|
|
|
- debug: msg="{{ guest_facts_0004 }}"
|
|
|
|
- assert:
|
|
that:
|
|
- "guest_facts_0004.changed"
|
|
|
|
# TODO: vcsim returns duplicate values so removing custom attributes
|
|
# results in change. vCenter show correct behavior. Commenting this
|
|
# till this is supported by vcsim.
|
|
- when: vcsim is not defined
|
|
block:
|
|
- name: Remove custom attribute to the given virtual machine again
|
|
vmware_guest_custom_attributes:
|
|
validate_certs: False
|
|
hostname: '{{ vcenter_hostname }}'
|
|
username: '{{ vcenter_username }}'
|
|
password: '{{ vcenter_password }}'
|
|
datacenter: "{{ dc1 }}"
|
|
name: "{{ virtual_machines[0].name }}"
|
|
folder: "{{ virtual_machines[0].folder }}"
|
|
state: absent
|
|
attributes:
|
|
- name: 'sample_1'
|
|
- name: 'sample_2'
|
|
- name: 'sample_3'
|
|
register: guest_facts_0005
|
|
|
|
- debug: var=guest_facts_0005
|
|
|
|
- assert:
|
|
that:
|
|
- not (guest_facts_0005 is changed)
|