vmware_host_auto_start: enable the tests

- remove the unsupported alias
- refactoring
- move the hosts outside of the cluster to avoid any conflict with DRS
- import the `prepare_vmware_tests` role
- does not work with govcsim
pull/65381/head
Gonéri Le Bouder 6 years ago
parent af3603f9ee
commit f956581846

@ -1,4 +1,5 @@
cloud/vcenter cloud/vcenter
unsupported
skip/python2.6 skip/python2.6
zuul/vmware/vcenter_only shippable/vcenter/group1
needs/target/prepare_vmware_tests
zuul/vmware/vcenter_1esxi

@ -2,370 +2,367 @@
# Copyright: (c) 2019, sky-joker <sky.jokerxx@gmail.com> # Copyright: (c) 2019, sky-joker <sky.jokerxx@gmail.com>
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) # GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
- when: vcsim is not defined
block:
- include_tasks: reset_auto_start_config.yml
- name: Update enabled param of autoStart defaults parameters for ESXi. - name: Update enabled param of autoStart defaults parameters for ESXi.
vmware_host_auto_start: vmware_host_auto_start:
hostname: "{{ esxi1 }}" hostname: "{{ esxi1 }}"
username: "{{ esxi_user }}" username: "{{ esxi_user }}"
password: "{{ esxi_password }}" password: "{{ esxi_password }}"
validate_certs: no validate_certs: no
esxi_hostname: "{{ esxi1 }}" esxi_hostname: "{{ esxi1 }}"
system_defaults: system_defaults:
enabled: yes enabled: yes
register: changed_system_defaults_result register: changed_system_defaults_result
- name: Check return parameters. - name: Check return parameters.
assert: assert:
that: that:
- changed_system_defaults_result.system_defaults_config.enabled is sameas true - changed_system_defaults_result.system_defaults_config.enabled is sameas true
- changed_system_defaults_result.system_defaults_config.start_delay == 120 - changed_system_defaults_result.system_defaults_config.start_delay == 120
- changed_system_defaults_result.system_defaults_config.stop_action == 'powerOff' - changed_system_defaults_result.system_defaults_config.stop_action == 'powerOff'
- changed_system_defaults_result.system_defaults_config.start_delay == 120 - changed_system_defaults_result.system_defaults_config.start_delay == 120
- changed_system_defaults_result.system_defaults_config.wait_for_heartbeat is sameas false - changed_system_defaults_result.system_defaults_config.wait_for_heartbeat is sameas false
- name: Gather facts for autoStart defaults parameters from ESXi. - name: Gather facts for autoStart defaults parameters from ESXi.
vmware_host_facts: vmware_host_facts:
hostname: "{{ esxi1 }}" hostname: "{{ esxi1 }}"
username: "{{ esxi_user }}" username: "{{ esxi_user }}"
password: "{{ esxi_password }}" password: "{{ esxi_password }}"
validate_certs: no validate_certs: no
esxi_hostname: "{{ esxi1 }}" esxi_hostname: "{{ esxi1 }}"
schema: vsphere schema: vsphere
properties: properties:
- config.autoStart - config.autoStart
register: auto_start_defaults_result register: auto_start_defaults_result
- name: After update parameters, check system default parameters. - name: After update parameters, check system default parameters.
assert: assert:
that: that:
- auto_start_defaults_result.ansible_facts.config.autoStart.defaults.enabled is sameas true - auto_start_defaults_result.ansible_facts.config.autoStart.defaults.enabled is sameas true
- auto_start_defaults_result.ansible_facts.config.autoStart.defaults.startDelay == 120 - auto_start_defaults_result.ansible_facts.config.autoStart.defaults.startDelay == 120
- auto_start_defaults_result.ansible_facts.config.autoStart.defaults.stopAction == 'powerOff' - auto_start_defaults_result.ansible_facts.config.autoStart.defaults.stopAction == 'powerOff'
- auto_start_defaults_result.ansible_facts.config.autoStart.defaults.stopDelay == 120 - auto_start_defaults_result.ansible_facts.config.autoStart.defaults.stopDelay == 120
- auto_start_defaults_result.ansible_facts.config.autoStart.defaults.waitForHeartbeat is sameas false - auto_start_defaults_result.ansible_facts.config.autoStart.defaults.waitForHeartbeat is sameas false
- name: Update all param of autoStart defaults parameters for ESXi. - name: Update all param of autoStart defaults parameters for ESXi.
vmware_host_auto_start: vmware_host_auto_start:
hostname: "{{ esxi1 }}" hostname: "{{ esxi1 }}"
username: "{{ esxi_user }}" username: "{{ esxi_user }}"
password: "{{ esxi_password }}" password: "{{ esxi_password }}"
validate_certs: no validate_certs: no
esxi_hostname: "{{ esxi1 }}" esxi_hostname: "{{ esxi1 }}"
system_defaults: system_defaults:
enabled: yes enabled: yes
start_delay: 200 start_delay: 200
stop_action: guestShutdown stop_action: guestShutdown
stop_delay: 300 stop_delay: 300
wait_for_heartbeat: yes wait_for_heartbeat: yes
- name: Gather facts for autoStart defaults parameters from ESXi. - name: Gather facts for autoStart defaults parameters from ESXi.
vmware_host_facts: vmware_host_facts:
hostname: "{{ esxi1 }}" hostname: "{{ esxi1 }}"
username: "{{ esxi_user }}" username: "{{ esxi_user }}"
password: "{{ esxi_password }}" password: "{{ esxi_password }}"
validate_certs: no validate_certs: no
esxi_hostname: "{{ esxi1 }}" esxi_hostname: "{{ esxi1 }}"
schema: vsphere schema: vsphere
properties: properties:
- config.autoStart - config.autoStart
register: auto_start_defaults_result register: auto_start_defaults_result
- name: After update parameters, check system default parameters. - name: After update parameters, check system default parameters.
assert: assert:
that: that:
- auto_start_defaults_result.ansible_facts.config.autoStart.defaults.enabled is sameas true - auto_start_defaults_result.ansible_facts.config.autoStart.defaults.enabled is sameas true
- auto_start_defaults_result.ansible_facts.config.autoStart.defaults.startDelay == 200 - auto_start_defaults_result.ansible_facts.config.autoStart.defaults.startDelay == 200
- auto_start_defaults_result.ansible_facts.config.autoStart.defaults.stopAction == 'guestShutdown' - auto_start_defaults_result.ansible_facts.config.autoStart.defaults.stopAction == 'guestShutdown'
- auto_start_defaults_result.ansible_facts.config.autoStart.defaults.stopDelay == 300 - auto_start_defaults_result.ansible_facts.config.autoStart.defaults.stopDelay == 300
- auto_start_defaults_result.ansible_facts.config.autoStart.defaults.waitForHeartbeat is sameas true - auto_start_defaults_result.ansible_facts.config.autoStart.defaults.waitForHeartbeat is sameas true
- name: Gather facts summary propertie from VM. - name: Gather facts summary propertie from VM.
vmware_guest_info: vmware_guest_info:
hostname: "{{ esxi1 }}" hostname: "{{ esxi1 }}"
username: "{{ esxi_user }}" username: "{{ esxi_user }}"
password: "{{ esxi_password }}" password: "{{ esxi_password }}"
validate_certs: no validate_certs: no
datacenter: ha-datacenter datacenter: ha-datacenter
name: "{{ virtual_machines[0].name }}" name: test_vm1
schema: vsphere schema: vsphere
properties: properties:
- summary.vm - summary.vm
register: vm_summary_result register: vm_summary_result
- name: Update start_action parameters of autoStart powerInfo parameters for VM. - name: Update start_action parameters of autoStart powerInfo parameters for VM.
vmware_host_auto_start: vmware_host_auto_start:
hostname: "{{ esxi1 }}" hostname: "{{ esxi1 }}"
username: "{{ esxi_user }}" username: "{{ esxi_user }}"
password: "{{ esxi_password }}" password: "{{ esxi_password }}"
validate_certs: no validate_certs: no
esxi_hostname: "{{ esxi1 }}" esxi_hostname: "{{ esxi1 }}"
name: "{{ virtual_machines[0].name }}" name: test_vm1
power_info: power_info:
start_action: powerOn start_action: powerOn
register: changed_vm_power_info_result register: changed_vm_power_info_result
- name: Check return parameters. - name: Check return parameters.
assert: assert:
that: that:
- changed_vm_power_info_result.power_info_config.start_action == 'powerOn' - changed_vm_power_info_result.power_info_config.start_action == 'powerOn'
- changed_vm_power_info_result.power_info_config.start_delay == -1 - changed_vm_power_info_result.power_info_config.start_delay == -1
- changed_vm_power_info_result.power_info_config.start_order == -1 - changed_vm_power_info_result.power_info_config.start_order == -1
- changed_vm_power_info_result.power_info_config.stop_action == 'systemDefault' - changed_vm_power_info_result.power_info_config.stop_action == 'systemDefault'
- changed_vm_power_info_result.power_info_config.stop_delay == -1 - changed_vm_power_info_result.power_info_config.stop_delay == -1
- changed_vm_power_info_result.power_info_config.wait_for_heartbeat == 'systemDefault' - changed_vm_power_info_result.power_info_config.wait_for_heartbeat == 'systemDefault'
- name: Gather facts for autoStart config of VM from ESXi. - name: Gather facts for autoStart config of VM from ESXi.
vmware_host_facts: vmware_host_facts:
hostname: "{{ esxi1 }}" hostname: "{{ esxi1 }}"
username: "{{ esxi_user }}" username: "{{ esxi_user }}"
password: "{{ esxi_password }}" password: "{{ esxi_password }}"
validate_certs: no validate_certs: no
esxi_hostname: "{{ esxi1 }}" esxi_hostname: "{{ esxi1 }}"
schema: vsphere schema: vsphere
properties: properties:
- config.autoStart - config.autoStart
register: auto_start_defaults_result register: auto_start_defaults_result
- name: After update parameters, check VM powerInfo parameters. - name: After update parameters, check VM powerInfo parameters.
assert: assert:
that: that:
- item.startAction == 'powerOn' - item.startAction == 'powerOn'
- item.startDelay == -1 - item.startDelay == -1
- item.startOrder == -1 - item.startOrder == -1
- item.stopAction == 'systemDefault' - item.stopAction == 'systemDefault'
- item.stopDelay == -1 - item.stopDelay == -1
- item.waitForHeartbeat == 'systemDefault' - item.waitForHeartbeat == 'systemDefault'
when: item.key == vm_summary_result.instance.summary.vm when: item.key == vm_summary_result.instance.summary.vm
loop: "{{ auto_start_defaults_result.ansible_facts.config.autoStart.powerInfo }}" loop: "{{ auto_start_defaults_result.ansible_facts.config.autoStart.powerInfo }}"
- name: Update all parameters of autoStart powerInfo parameters for VM. - name: Update all parameters of autoStart powerInfo parameters for VM.
vmware_host_auto_start: vmware_host_auto_start:
hostname: "{{ esxi1 }}" hostname: "{{ esxi1 }}"
username: "{{ esxi_user }}" username: "{{ esxi_user }}"
password: "{{ esxi_password }}" password: "{{ esxi_password }}"
validate_certs: no validate_certs: no
esxi_hostname: "{{ esxi1 }}" esxi_hostname: "{{ esxi1 }}"
name: "{{ virtual_machines[0].name }}" name: test_vm1
power_info: power_info:
start_action: powerOn start_action: powerOn
start_delay: 200 start_delay: 200
start_order: 1 start_order: 1
stop_action: suspend stop_action: suspend
stop_delay: 250 stop_delay: 250
wait_for_heartbeat: "yes" wait_for_heartbeat: "yes"
- name: Gather facts for autoStart config of VM from ESXi. - name: Gather facts for autoStart config of VM from ESXi.
vmware_host_facts: vmware_host_facts:
hostname: "{{ esxi1 }}" hostname: "{{ esxi1 }}"
username: "{{ esxi_user }}" username: "{{ esxi_user }}"
password: "{{ esxi_password }}" password: "{{ esxi_password }}"
validate_certs: no validate_certs: no
esxi_hostname: "{{ esxi1 }}" esxi_hostname: "{{ esxi1 }}"
schema: vsphere schema: vsphere
properties: properties:
- config.autoStart - config.autoStart
register: auto_start_defaults_result register: auto_start_defaults_result
- name: After update parameters, check VM all powerInfo parameters. - name: After update parameters, check VM all powerInfo parameters.
assert: assert:
that: that:
- item.startAction == 'powerOn' - item.startAction == 'powerOn'
- item.startDelay == 200 - item.startDelay == 200
- item.startOrder == 1 - item.startOrder == 1
- item.stopAction == 'suspend' - item.stopAction == 'suspend'
- item.stopDelay == 250 - item.stopDelay == 250
- item.waitForHeartbeat == 'yes' - item.waitForHeartbeat == 'yes'
when: item.key == vm_summary_result.instance.summary.vm when: item.key == vm_summary_result.instance.summary.vm
loop: "{{ auto_start_defaults_result.ansible_facts.config.autoStart.powerInfo }}" loop: "{{ auto_start_defaults_result.ansible_facts.config.autoStart.powerInfo }}"
- name: Gather facts summary propertie from VM. - name: Gather facts summary propertie from VM.
vmware_guest_info: vmware_guest_info:
hostname: "{{ esxi1 }}" hostname: "{{ esxi1 }}"
username: "{{ esxi_user }}" username: "{{ esxi_user }}"
password: "{{ esxi_password }}" password: "{{ esxi_password }}"
validate_certs: no validate_certs: no
datacenter: ha-datacenter datacenter: ha-datacenter
name: "{{ virtual_machines[1].name }}" name: test_vm2
schema: vsphere schema: vsphere
properties: properties:
- summary.vm - summary.vm
register: vm_summary_result register: vm_summary_result
- name: Update all parameters of autoStart powerInfo parameters for other VM. - name: Update all parameters of autoStart powerInfo parameters for other VM.
vmware_host_auto_start: vmware_host_auto_start:
hostname: "{{ esxi1 }}" hostname: "{{ esxi1 }}"
username: "{{ esxi_user }}" username: "{{ esxi_user }}"
password: "{{ esxi_password }}" password: "{{ esxi_password }}"
validate_certs: no validate_certs: no
esxi_hostname: "{{ esxi1 }}" esxi_hostname: "{{ esxi1 }}"
name: "{{ virtual_machines[1].name }}" name: test_vm2
power_info: power_info:
start_action: powerOn start_action: powerOn
start_delay: 100 start_delay: 100
start_order: 2 start_order: 2
stop_action: suspend stop_action: suspend
stop_delay: 20 stop_delay: 20
wait_for_heartbeat: "no" wait_for_heartbeat: "no"
- name: Gather facts for autoStart config of other VM from ESXi. - name: Gather facts for autoStart config of other VM from ESXi.
vmware_host_facts: vmware_host_facts:
hostname: "{{ esxi1 }}" hostname: "{{ esxi1 }}"
username: "{{ esxi_user }}" username: "{{ esxi_user }}"
password: "{{ esxi_password }}" password: "{{ esxi_password }}"
validate_certs: no validate_certs: no
esxi_hostname: "{{ esxi1 }}" esxi_hostname: "{{ esxi1 }}"
schema: vsphere schema: vsphere
properties: properties:
- config.autoStart - config.autoStart
register: auto_start_defaults_result register: auto_start_defaults_result
- name: After update parameters, check other VM all powerInfo parameters. - name: After update parameters, check other VM all powerInfo parameters.
assert: assert:
that: that:
- item.startAction == 'powerOn' - item.startAction == 'powerOn'
- item.startDelay == 100 - item.startDelay == 100
- item.startOrder == 2 - item.startOrder == 2
- item.stopAction == 'suspend' - item.stopAction == 'suspend'
- item.stopDelay == 20 - item.stopDelay == 20
- item.waitForHeartbeat == 'no' - item.waitForHeartbeat == 'no'
when: item.key == vm_summary_result.instance.summary.vm when: item.key == vm_summary_result.instance.summary.vm
loop: "{{ auto_start_defaults_result.ansible_facts.config.autoStart.powerInfo }}" loop: "{{ auto_start_defaults_result.ansible_facts.config.autoStart.powerInfo }}"
- name: Check the operation of check_mode and diff. - name: Check the operation of check_mode and diff.
vmware_host_auto_start: vmware_host_auto_start:
hostname: "{{ esxi1 }}" hostname: "{{ esxi1 }}"
username: "{{ esxi_user }}" username: "{{ esxi_user }}"
password: "{{ esxi_password }}" password: "{{ esxi_password }}"
validate_certs: no validate_certs: no
esxi_hostname: "{{ esxi1 }}" esxi_hostname: "{{ esxi1 }}"
name: "{{ virtual_machines[1].name }}" name: test_vm2
power_info: power_info:
start_action: powerOn start_action: powerOn
start_delay: 100 start_delay: 100
start_order: -1 start_order: -1
stop_action: suspend stop_action: suspend
stop_delay: 20 stop_delay: 20
check_mode: yes check_mode: yes
diff: yes diff: yes
- name: Gather facts for autoStart config of other VM from ESXi. - name: Gather facts for autoStart config of other VM from ESXi.
vmware_host_facts: vmware_host_facts:
hostname: "{{ esxi1 }}" hostname: "{{ esxi1 }}"
username: "{{ esxi_user }}" username: "{{ esxi_user }}"
password: "{{ esxi_password }}" password: "{{ esxi_password }}"
validate_certs: no validate_certs: no
esxi_hostname: "{{ esxi1 }}" esxi_hostname: "{{ esxi1 }}"
schema: vsphere schema: vsphere
properties: properties:
- config.autoStart - config.autoStart
register: auto_start_defaults_result register: auto_start_defaults_result
- name: After update parameters, check other VM all powerInfo parameters. - name: After update parameters, check other VM all powerInfo parameters.
assert: assert:
that: that:
- item.startAction == 'powerOn' - item.startAction == 'powerOn'
- item.startDelay == 100 - item.startDelay == 100
- item.startOrder == 2 - item.startOrder == 2
- item.stopAction == 'suspend' - item.stopAction == 'suspend'
- item.stopDelay == 20 - item.stopDelay == 20
- item.waitForHeartbeat == 'no' - item.waitForHeartbeat == 'no'
when: item.key == vm_summary_result.instance.summary.vm when: item.key == vm_summary_result.instance.summary.vm
loop: "{{ auto_start_defaults_result.ansible_facts.config.autoStart.powerInfo }}" loop: "{{ auto_start_defaults_result.ansible_facts.config.autoStart.powerInfo }}"
- name: Gather facts instanceUuid and moid propertie from VM. - name: Gather facts instanceUuid and moid propertie from VM.
vmware_guest_info: vmware_guest_info:
hostname: "{{ esxi1 }}" hostname: "{{ esxi1 }}"
username: "{{ esxi_user }}" username: "{{ esxi_user }}"
password: "{{ esxi_password }}" password: "{{ esxi_password }}"
validate_certs: no validate_certs: no
datacenter: "{{ dc1 }}" datacenter: "{{ dc1 }}"
name: "{{ virtual_machines[1].name }}" name: test_vm2
schema: vsphere schema: vsphere
properties: properties:
- config.instanceUuid - config.instanceUuid
- _moId - _moId
register: vm_instanceUuid_and_moid_result register: vm_instanceUuid_and_moid_result
- name: Update all parameters of autoStart powerInfo parameters for VM using instanceUuid via vCenter. - name: Update all parameters of autoStart powerInfo parameters for VM using instanceUuid via vCenter.
vmware_host_auto_start: vmware_host_auto_start:
hostname: "{{ esxi1 }}" hostname: "{{ esxi1 }}"
username: "{{ esxi_user }}" username: "{{ esxi_user }}"
password: "{{ esxi_password }}" password: "{{ esxi_password }}"
validate_certs: no validate_certs: no
esxi_hostname: "{{ esxi1 }}" esxi_hostname: "{{ esxi1 }}"
uuid: "{{ vm_instanceUuid_and_moid_result.instance.config.instanceUuid }}" uuid: "{{ vm_instanceUuid_and_moid_result.instance.config.instanceUuid }}"
use_instance_uuid: yes use_instance_uuid: yes
power_info: power_info:
start_action: powerOn start_action: powerOn
start_delay: 300 start_delay: 300
start_order: 1 start_order: 1
stop_action: none stop_action: none
stop_delay: 20 stop_delay: 20
wait_for_heartbeat: "no" wait_for_heartbeat: "no"
- name: Gather facts for autoStart config of other VM from ESXi. - name: Gather facts for autoStart config of other VM from ESXi.
vmware_host_facts: vmware_host_facts:
hostname: "{{ esxi1 }}" hostname: "{{ esxi1 }}"
username: "{{ esxi_user }}" username: "{{ esxi_user }}"
password: "{{ esxi_password }}" password: "{{ esxi_password }}"
validate_certs: no validate_certs: no
esxi_hostname: "{{ esxi1 }}" esxi_hostname: "{{ esxi1 }}"
schema: vsphere schema: vsphere
properties: properties:
- config.autoStart - config.autoStart
register: auto_start_defaults_result register: auto_start_defaults_result
- name: After update parameters, check other VM all powerInfo parameters. - name: After update parameters, check other VM all powerInfo parameters.
assert: assert:
that: that:
- item.startAction == 'powerOn' - item.startAction == 'powerOn'
- item.startDelay == 300 - item.startDelay == 300
- item.startOrder == 1 - item.startOrder == 1
- item.stopAction == 'none' - item.stopAction == 'none'
- item.stopDelay == 20 - item.stopDelay == 20
- item.waitForHeartbeat == 'no' - item.waitForHeartbeat == 'no'
when: item.key == vm_summary_result.instance.summary.vm when: item.key == vm_summary_result.instance.summary.vm
loop: "{{ auto_start_defaults_result.ansible_facts.config.autoStart.powerInfo }}" loop: "{{ auto_start_defaults_result.ansible_facts.config.autoStart.powerInfo }}"
- name: Update all parameters of autoStart powerInfo parameters for VM using moid via vCenter. - name: Update all parameters of autoStart powerInfo parameters for VM using moid via vCenter.
vmware_host_auto_start: vmware_host_auto_start:
hostname: "{{ esxi1 }}" hostname: "{{ esxi1 }}"
username: "{{ esxi_user }}" username: "{{ esxi_user }}"
password: "{{ esxi_password }}" password: "{{ esxi_password }}"
validate_certs: no validate_certs: no
esxi_hostname: "{{ esxi1 }}" esxi_hostname: "{{ esxi1 }}"
moid: "{{ vm_instanceUuid_and_moid_result.instance._moId }}" moid: "{{ vm_instanceUuid_and_moid_result.instance._moId }}"
power_info: power_info:
start_action: powerOn start_action: powerOn
start_delay: 200 start_delay: 200
start_order: 1 start_order: 1
stop_action: powerOff stop_action: powerOff
stop_delay: 300 stop_delay: 300
wait_for_heartbeat: "yes" wait_for_heartbeat: "yes"
- name: Gather facts for autoStart config of other VM from ESXi. - name: Gather facts for autoStart config of other VM from ESXi.
vmware_host_facts: vmware_host_facts:
hostname: "{{ esxi1 }}" hostname: "{{ esxi1 }}"
username: "{{ esxi_user }}" username: "{{ esxi_user }}"
password: "{{ esxi_password }}" password: "{{ esxi_password }}"
validate_certs: no validate_certs: no
esxi_hostname: "{{ esxi1 }}" esxi_hostname: "{{ esxi1 }}"
schema: vsphere schema: vsphere
properties: properties:
- config.autoStart - config.autoStart
register: auto_start_defaults_result register: auto_start_defaults_result
- name: After update parameters, check other VM all powerInfo parameters. - name: After update parameters, check other VM all powerInfo parameters.
assert: assert:
that: that:
- item.startAction == 'powerOn' - item.startAction == 'powerOn'
- item.startDelay == 200 - item.startDelay == 200
- item.startOrder == 1 - item.startOrder == 1
- item.stopAction == 'powerOff' - item.stopAction == 'powerOff'
- item.stopDelay == 300 - item.stopDelay == 300
- item.waitForHeartbeat == 'yes' - item.waitForHeartbeat == 'yes'
when: item.key == vm_summary_result.instance.summary.vm when: item.key == vm_summary_result.instance.summary.vm
loop: "{{ auto_start_defaults_result.ansible_facts.config.autoStart.powerInfo }}" loop: "{{ auto_start_defaults_result.ansible_facts.config.autoStart.powerInfo }}"

@ -2,5 +2,56 @@
# Copyright: (c) 2019, sky-joker <sky.jokerxx@gmail.com> # Copyright: (c) 2019, sky-joker <sky.jokerxx@gmail.com>
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) # GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
- include: vcenter_auto_start_ops.yml - when: vcsim is not defined
- include: esxi_auto_start_ops.yml block:
- import_role:
name: prepare_vmware_tests
vars:
setup_attach_host: true
setup_datastore: true
- name: Move the ESXi hosts out of the cluster
vmware_host:
datacenter_name: '{{ dc1 }}'
esxi_hostname: '{{ item }}'
esxi_username: '{{ esxi_user }}'
esxi_password: '{{ esxi_password }}'
folder: '/DC0/host'
state: present
with_items: "{{ esxi_hosts }}"
- name: Disable the Maintenance Mode
vmware_maintenancemode:
esxi_hostname: '{{ item }}'
state: absent
with_items: "{{ esxi_hosts }}"
- name: Create VM on esxi1
vmware_guest:
hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_username }}"
password: "{{ vcenter_password }}"
datacenter: "{{ dc1 }}"
validate_certs: no
name: '{{ item }}'
folder: vm
esxi_hostname: "{{ esxi1 }}"
state: present
guest_id: centos7_64Guest
disk:
- size_gb: 1
type: thin
datastore: '{{ rw_datastore }}'
hardware:
version: latest
memory_mb: 1024
num_cpus: 1
scsi: paravirtual
with_items: ['test_vm1', 'test_vm2']
- include_tasks: reset_auto_start_config.yml
- include: vcenter_auto_start_ops.yml
- include_tasks: reset_auto_start_config.yml
- include: esxi_auto_start_ops.yml
always:
- include_tasks: reset_auto_start_config.yml

@ -2,33 +2,33 @@
# Copyright: (c) 2019, sky-joker <sky.jokerxx@gmail.com> # Copyright: (c) 2019, sky-joker <sky.jokerxx@gmail.com>
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) # GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
- name: "Reset powerInfo for autoStart parameters of {{ virtual_machines[0].name }}." - name: "Reset powerInfo for autoStart parameters of {{ test_vm1 }}."
vmware_host_auto_start: vmware_host_auto_start:
hostname: "{{ vcenter_hostname | default(esxi1) }}" hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_username | default(esxi_user) }}" username: "{{ vcenter_username }}"
password: "{{ vcenter_password | default(esxi_password) }}" password: "{{ vcenter_password }}"
validate_certs: no validate_certs: no
esxi_hostname: "{{ esxi1 }}" esxi_hostname: "{{ esxi1 }}"
name: "{{ virtual_machines[0].name }}" name: test_vm1
power_info: power_info:
start_action: none start_action: none
- name: "Reset powerInfo for autoStart parameters of {{ virtual_machines[1].name }}" - name: "Reset powerInfo for autoStart parameters of {{ test_vm2 }}"
vmware_host_auto_start: vmware_host_auto_start:
hostname: "{{ vcenter_hostname | default(esxi1) }}" hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_username | default(esxi_user) }}" username: "{{ vcenter_username }}"
password: "{{ vcenter_password | default(esxi_password) }}" password: "{{ vcenter_password }}"
validate_certs: no validate_certs: no
esxi_hostname: "{{ esxi1 }}" esxi_hostname: "{{ esxi1 }}"
name: "{{ virtual_machines[1].name }}" name: test_vm2
power_info: power_info:
start_action: none start_action: none
- name: Reset autoStart defaults parameters. - name: Reset autoStart defaults parameters.
vmware_host_auto_start: vmware_host_auto_start:
hostname: "{{ vcenter_hostname | default(esxi1) }}" hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_username | default(esxi_user) }}" username: "{{ vcenter_username }}"
password: "{{ vcenter_password | default(esxi_password) }}" password: "{{ vcenter_password }}"
validate_certs: no validate_certs: no
esxi_hostname: "{{ esxi1 }}" esxi_hostname: "{{ esxi1 }}"
system_defaults: system_defaults:

@ -2,370 +2,366 @@
# Copyright: (c) 2019, sky-joker <sky.jokerxx@gmail.com> # Copyright: (c) 2019, sky-joker <sky.jokerxx@gmail.com>
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) # GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
- when: vcsim is not defined - name: Update enabled param of autoStart defaults parameters for ESXi via vCenter.
block: vmware_host_auto_start:
- include_tasks: reset_auto_start_config.yml hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_username }}"
password: "{{ vcenter_password }}"
validate_certs: no
esxi_hostname: "{{ esxi1 }}"
system_defaults:
enabled: yes
register: changed_system_defaults_result
- name: Update enabled param of autoStart defaults parameters for ESXi via vCenter. - name: Check return parameters.
vmware_host_auto_start: assert:
hostname: "{{ vcenter_hostname }}" that:
username: "{{ vcenter_username }}" - changed_system_defaults_result.system_defaults_config.enabled is sameas true
password: "{{ vcenter_password }}" - changed_system_defaults_result.system_defaults_config.start_delay == 120
validate_certs: no - changed_system_defaults_result.system_defaults_config.stop_action == 'powerOff'
esxi_hostname: "{{ esxi1 }}" - changed_system_defaults_result.system_defaults_config.start_delay == 120
system_defaults: - changed_system_defaults_result.system_defaults_config.wait_for_heartbeat is sameas false
enabled: yes
register: changed_system_defaults_result
- name: Check return parameters. - name: Gather facts for autoStart defaults parameters from ESXi.
assert: vmware_host_facts:
that: hostname: "{{ vcenter_hostname }}"
- changed_system_defaults_result.system_defaults_config.enabled is sameas true username: "{{ vcenter_username }}"
- changed_system_defaults_result.system_defaults_config.start_delay == 120 password: "{{ vcenter_password }}"
- changed_system_defaults_result.system_defaults_config.stop_action == 'powerOff' validate_certs: no
- changed_system_defaults_result.system_defaults_config.start_delay == 120 esxi_hostname: "{{ esxi1 }}"
- changed_system_defaults_result.system_defaults_config.wait_for_heartbeat is sameas false schema: vsphere
properties:
- config.autoStart
register: auto_start_defaults_result
- name: Gather facts for autoStart defaults parameters from ESXi. - name: After update parameters, check system default parameters.
vmware_host_facts: assert:
hostname: "{{ vcenter_hostname }}" that:
username: "{{ vcenter_username }}" - auto_start_defaults_result.ansible_facts.config.autoStart.defaults.enabled is sameas true
password: "{{ vcenter_password }}" - auto_start_defaults_result.ansible_facts.config.autoStart.defaults.startDelay == 120
validate_certs: no - auto_start_defaults_result.ansible_facts.config.autoStart.defaults.stopAction == 'powerOff'
esxi_hostname: "{{ esxi1 }}" - auto_start_defaults_result.ansible_facts.config.autoStart.defaults.stopDelay == 120
schema: vsphere - auto_start_defaults_result.ansible_facts.config.autoStart.defaults.waitForHeartbeat is sameas false
properties:
- config.autoStart
register: auto_start_defaults_result
- name: After update parameters, check system default parameters. - name: Update all param of autoStart defaults parameters for ESXi via vCenter.
assert: vmware_host_auto_start:
that: hostname: "{{ vcenter_hostname }}"
- auto_start_defaults_result.ansible_facts.config.autoStart.defaults.enabled is sameas true username: "{{ vcenter_username }}"
- auto_start_defaults_result.ansible_facts.config.autoStart.defaults.startDelay == 120 password: "{{ vcenter_password }}"
- auto_start_defaults_result.ansible_facts.config.autoStart.defaults.stopAction == 'powerOff' validate_certs: no
- auto_start_defaults_result.ansible_facts.config.autoStart.defaults.stopDelay == 120 esxi_hostname: "{{ esxi1 }}"
- auto_start_defaults_result.ansible_facts.config.autoStart.defaults.waitForHeartbeat is sameas false system_defaults:
enabled: yes
start_delay: 200
stop_action: guestShutdown
stop_delay: 300
wait_for_heartbeat: yes
- name: Update all param of autoStart defaults parameters for ESXi via vCenter. - name: Gather facts for autoStart defaults parameters from ESXi.
vmware_host_auto_start: vmware_host_facts:
hostname: "{{ vcenter_hostname }}" hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_username }}" username: "{{ vcenter_username }}"
password: "{{ vcenter_password }}" password: "{{ vcenter_password }}"
validate_certs: no validate_certs: no
esxi_hostname: "{{ esxi1 }}" esxi_hostname: "{{ esxi1 }}"
system_defaults: schema: vsphere
enabled: yes properties:
start_delay: 200 - config.autoStart
stop_action: guestShutdown register: auto_start_defaults_result
stop_delay: 300
wait_for_heartbeat: yes
- name: Gather facts for autoStart defaults parameters from ESXi. - name: After update parameters, check system default parameters.
vmware_host_facts: assert:
hostname: "{{ vcenter_hostname }}" that:
username: "{{ vcenter_username }}" - auto_start_defaults_result.ansible_facts.config.autoStart.defaults.enabled is sameas true
password: "{{ vcenter_password }}" - auto_start_defaults_result.ansible_facts.config.autoStart.defaults.startDelay == 200
validate_certs: no - auto_start_defaults_result.ansible_facts.config.autoStart.defaults.stopAction == 'guestShutdown'
esxi_hostname: "{{ esxi1 }}" - auto_start_defaults_result.ansible_facts.config.autoStart.defaults.stopDelay == 300
schema: vsphere - auto_start_defaults_result.ansible_facts.config.autoStart.defaults.waitForHeartbeat is sameas true
properties:
- config.autoStart
register: auto_start_defaults_result
- name: After update parameters, check system default parameters. - name: Gather facts summary propertie from VM.
assert: vmware_guest_info:
that: hostname: "{{ vcenter_hostname }}"
- auto_start_defaults_result.ansible_facts.config.autoStart.defaults.enabled is sameas true username: "{{ vcenter_username }}"
- auto_start_defaults_result.ansible_facts.config.autoStart.defaults.startDelay == 200 password: "{{ vcenter_password }}"
- auto_start_defaults_result.ansible_facts.config.autoStart.defaults.stopAction == 'guestShutdown' validate_certs: no
- auto_start_defaults_result.ansible_facts.config.autoStart.defaults.stopDelay == 300 datacenter: "{{ dc1 }}"
- auto_start_defaults_result.ansible_facts.config.autoStart.defaults.waitForHeartbeat is sameas true name: test_vm1
schema: vsphere
properties:
- summary.vm
register: vm_summary_result
- name: Gather facts summary propertie from VM. - name: Update start_action parameters of autoStart powerInfo parameters for VM via vCenter.
vmware_guest_info: vmware_host_auto_start:
hostname: "{{ vcenter_hostname }}" hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_username }}" username: "{{ vcenter_username }}"
password: "{{ vcenter_password }}" password: "{{ vcenter_password }}"
validate_certs: no validate_certs: no
datacenter: "{{ dc1 }}" esxi_hostname: "{{ esxi1 }}"
name: "{{ virtual_machines[0].name }}" name: test_vm1
schema: vsphere power_info:
properties: start_action: powerOn
- summary.vm register: changed_vm_power_info_result
register: vm_summary_result
- name: Update start_action parameters of autoStart powerInfo parameters for VM via vCenter. - name: Check return parameters.
vmware_host_auto_start: assert:
hostname: "{{ vcenter_hostname }}" that:
username: "{{ vcenter_username }}" - changed_vm_power_info_result.power_info_config.start_action == 'powerOn'
password: "{{ vcenter_password }}" - changed_vm_power_info_result.power_info_config.start_delay == -1
validate_certs: no - changed_vm_power_info_result.power_info_config.start_order == -1
esxi_hostname: "{{ esxi1 }}" - changed_vm_power_info_result.power_info_config.stop_action == 'systemDefault'
name: "{{ virtual_machines[0].name }}" - changed_vm_power_info_result.power_info_config.stop_delay == -1
power_info: - changed_vm_power_info_result.power_info_config.wait_for_heartbeat == 'systemDefault'
start_action: powerOn
register: changed_vm_power_info_result
- name: Check return parameters. - name: Gather facts for autoStart config of VM from ESXi.
assert: vmware_host_facts:
that: hostname: "{{ vcenter_hostname }}"
- changed_vm_power_info_result.power_info_config.start_action == 'powerOn' username: "{{ vcenter_username }}"
- changed_vm_power_info_result.power_info_config.start_delay == -1 password: "{{ vcenter_password }}"
- changed_vm_power_info_result.power_info_config.start_order == -1 validate_certs: no
- changed_vm_power_info_result.power_info_config.stop_action == 'systemDefault' esxi_hostname: "{{ esxi1 }}"
- changed_vm_power_info_result.power_info_config.stop_delay == -1 schema: vsphere
- changed_vm_power_info_result.power_info_config.wait_for_heartbeat == 'systemDefault' properties:
- config.autoStart
register: auto_start_defaults_result
- name: Gather facts for autoStart config of VM from ESXi. - name: After update parameters, check VM powerInfo parameters.
vmware_host_facts: assert:
hostname: "{{ vcenter_hostname }}" that:
username: "{{ vcenter_username }}" - item.startAction == 'powerOn'
password: "{{ vcenter_password }}" - item.startDelay == -1
validate_certs: no - item.startOrder == -1
esxi_hostname: "{{ esxi1 }}" - item.stopAction == 'systemDefault'
schema: vsphere - item.stopDelay == -1
properties: - item.waitForHeartbeat == 'systemDefault'
- config.autoStart when: item.key == vm_summary_result.instance.summary.vm
register: auto_start_defaults_result loop: "{{ auto_start_defaults_result.ansible_facts.config.autoStart.powerInfo }}"
- name: After update parameters, check VM powerInfo parameters. - name: Update all parameters of autoStart powerInfo parameters for VM via vCenter.
assert: vmware_host_auto_start:
that: hostname: "{{ vcenter_hostname }}"
- item.startAction == 'powerOn' username: "{{ vcenter_username }}"
- item.startDelay == -1 password: "{{ vcenter_password }}"
- item.startOrder == -1 validate_certs: no
- item.stopAction == 'systemDefault' esxi_hostname: "{{ esxi1 }}"
- item.stopDelay == -1 name: test_vm1
- item.waitForHeartbeat == 'systemDefault' power_info:
when: item.key == vm_summary_result.instance.summary.vm start_action: powerOn
loop: "{{ auto_start_defaults_result.ansible_facts.config.autoStart.powerInfo }}" start_delay: 200
start_order: 1
stop_action: suspend
stop_delay: 250
wait_for_heartbeat: "yes"
- name: Update all parameters of autoStart powerInfo parameters for VM via vCenter. - name: Gather facts for autoStart config of VM from ESXi.
vmware_host_auto_start: vmware_host_facts:
hostname: "{{ vcenter_hostname }}" hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_username }}" username: "{{ vcenter_username }}"
password: "{{ vcenter_password }}" password: "{{ vcenter_password }}"
validate_certs: no validate_certs: no
esxi_hostname: "{{ esxi1 }}" esxi_hostname: "{{ esxi1 }}"
name: "{{ virtual_machines[0].name }}" schema: vsphere
power_info: properties:
start_action: powerOn - config.autoStart
start_delay: 200 register: auto_start_defaults_result
start_order: 1
stop_action: suspend
stop_delay: 250
wait_for_heartbeat: "yes"
- name: Gather facts for autoStart config of VM from ESXi. - name: After update parameters, check VM all powerInfo parameters.
vmware_host_facts: assert:
hostname: "{{ vcenter_hostname }}" that:
username: "{{ vcenter_username }}" - item.startAction == 'powerOn'
password: "{{ vcenter_password }}" - item.startDelay == 200
validate_certs: no - item.startOrder == 1
esxi_hostname: "{{ esxi1 }}" - item.stopAction == 'suspend'
schema: vsphere - item.stopDelay == 250
properties: - item.waitForHeartbeat == 'yes'
- config.autoStart when: item.key == vm_summary_result.instance.summary.vm
register: auto_start_defaults_result loop: "{{ auto_start_defaults_result.ansible_facts.config.autoStart.powerInfo }}"
- name: After update parameters, check VM all powerInfo parameters. - name: Gather facts summary propertie from VM.
assert: vmware_guest_info:
that: hostname: "{{ vcenter_hostname }}"
- item.startAction == 'powerOn' username: "{{ vcenter_username }}"
- item.startDelay == 200 password: "{{ vcenter_password }}"
- item.startOrder == 1 validate_certs: no
- item.stopAction == 'suspend' datacenter: "{{ dc1 }}"
- item.stopDelay == 250 name: test_vm2
- item.waitForHeartbeat == 'yes' schema: vsphere
when: item.key == vm_summary_result.instance.summary.vm properties:
loop: "{{ auto_start_defaults_result.ansible_facts.config.autoStart.powerInfo }}" - summary.vm
register: vm_summary_result
- name: Gather facts summary propertie from VM. - name: Update all parameters of autoStart powerInfo parameters for other VM via vCenter.
vmware_guest_info: vmware_host_auto_start:
hostname: "{{ vcenter_hostname }}" hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_username }}" username: "{{ vcenter_username }}"
password: "{{ vcenter_password }}" password: "{{ vcenter_password }}"
validate_certs: no validate_certs: no
datacenter: "{{ dc1 }}" esxi_hostname: "{{ esxi1 }}"
name: "{{ virtual_machines[1].name }}" name: test_vm2
schema: vsphere power_info:
properties: start_action: powerOn
- summary.vm start_delay: 100
register: vm_summary_result start_order: 2
stop_action: suspend
stop_delay: 20
wait_for_heartbeat: "no"
- name: Update all parameters of autoStart powerInfo parameters for other VM via vCenter. - name: Gather facts for autoStart config of other VM from ESXi.
vmware_host_auto_start: vmware_host_facts:
hostname: "{{ vcenter_hostname }}" hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_username }}" username: "{{ vcenter_username }}"
password: "{{ vcenter_password }}" password: "{{ vcenter_password }}"
validate_certs: no validate_certs: no
esxi_hostname: "{{ esxi1 }}" esxi_hostname: "{{ esxi1 }}"
name: "{{ virtual_machines[1].name }}" schema: vsphere
power_info: properties:
start_action: powerOn - config.autoStart
start_delay: 100 register: auto_start_defaults_result
start_order: 2
stop_action: suspend
stop_delay: 20
wait_for_heartbeat: "no"
- name: Gather facts for autoStart config of other VM from ESXi. - name: After update parameters, check other VM all powerInfo parameters.
vmware_host_facts: assert:
hostname: "{{ vcenter_hostname }}" that:
username: "{{ vcenter_username }}" - item.startAction == 'powerOn'
password: "{{ vcenter_password }}" - item.startDelay == 100
validate_certs: no - item.startOrder == 2
esxi_hostname: "{{ esxi1 }}" - item.stopAction == 'suspend'
schema: vsphere - item.stopDelay == 20
properties: - item.waitForHeartbeat == 'no'
- config.autoStart when: item.key == vm_summary_result.instance.summary.vm
register: auto_start_defaults_result loop: "{{ auto_start_defaults_result.ansible_facts.config.autoStart.powerInfo }}"
- name: After update parameters, check other VM all powerInfo parameters. - name: Check the operation of check_mode and diff.
assert: vmware_host_auto_start:
that: hostname: "{{ vcenter_hostname }}"
- item.startAction == 'powerOn' username: "{{ vcenter_username }}"
- item.startDelay == 100 password: "{{ vcenter_password }}"
- item.startOrder == 2 validate_certs: no
- item.stopAction == 'suspend' esxi_hostname: "{{ esxi1 }}"
- item.stopDelay == 20 name: test_vm2
- item.waitForHeartbeat == 'no' power_info:
when: item.key == vm_summary_result.instance.summary.vm start_action: powerOn
loop: "{{ auto_start_defaults_result.ansible_facts.config.autoStart.powerInfo }}" start_delay: 100
start_order: -1
stop_action: suspend
stop_delay: 20
check_mode: yes
diff: yes
- name: Check the operation of check_mode and diff. - name: Gather facts for autoStart config of other VM from ESXi.
vmware_host_auto_start: vmware_host_facts:
hostname: "{{ vcenter_hostname }}" hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_username }}" username: "{{ vcenter_username }}"
password: "{{ vcenter_password }}" password: "{{ vcenter_password }}"
validate_certs: no validate_certs: no
esxi_hostname: "{{ esxi1 }}" esxi_hostname: "{{ esxi1 }}"
name: "{{ virtual_machines[1].name }}" schema: vsphere
power_info: properties:
start_action: powerOn - config.autoStart
start_delay: 100 register: auto_start_defaults_result
start_order: -1
stop_action: suspend
stop_delay: 20
check_mode: yes
diff: yes
- name: Gather facts for autoStart config of other VM from ESXi. - name: After update parameters, check other VM all powerInfo parameters.
vmware_host_facts: assert:
hostname: "{{ vcenter_hostname }}" that:
username: "{{ vcenter_username }}" - item.startAction == 'powerOn'
password: "{{ vcenter_password }}" - item.startDelay == 100
validate_certs: no - item.startOrder == 2
esxi_hostname: "{{ esxi1 }}" - item.stopAction == 'suspend'
schema: vsphere - item.stopDelay == 20
properties: - item.waitForHeartbeat == 'no'
- config.autoStart when: item.key == vm_summary_result.instance.summary.vm
register: auto_start_defaults_result loop: "{{ auto_start_defaults_result.ansible_facts.config.autoStart.powerInfo }}"
- name: After update parameters, check other VM all powerInfo parameters. - name: Gather facts instanceUuid and moid propertie from VM.
assert: vmware_guest_info:
that: hostname: "{{ vcenter_hostname }}"
- item.startAction == 'powerOn' username: "{{ vcenter_username }}"
- item.startDelay == 100 password: "{{ vcenter_password }}"
- item.startOrder == 2 validate_certs: no
- item.stopAction == 'suspend' datacenter: "{{ dc1 }}"
- item.stopDelay == 20 name: test_vm2
- item.waitForHeartbeat == 'no' schema: vsphere
when: item.key == vm_summary_result.instance.summary.vm properties:
loop: "{{ auto_start_defaults_result.ansible_facts.config.autoStart.powerInfo }}" - config.instanceUuid
- _moId
register: vm_instanceUuid_and_moid_result
- name: Gather facts instanceUuid and moid propertie from VM. - name: Update all parameters of autoStart powerInfo parameters for VM using instanceUuid via vCenter.
vmware_guest_info: vmware_host_auto_start:
hostname: "{{ vcenter_hostname }}" hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_username }}" username: "{{ vcenter_username }}"
password: "{{ vcenter_password }}" password: "{{ vcenter_password }}"
validate_certs: no validate_certs: no
datacenter: "{{ dc1 }}" esxi_hostname: "{{ esxi1 }}"
name: "{{ virtual_machines[1].name }}" uuid: "{{ vm_instanceUuid_and_moid_result.instance.config.instanceUuid }}"
schema: vsphere use_instance_uuid: yes
properties: power_info:
- config.instanceUuid start_action: powerOn
- _moId start_delay: 300
register: vm_instanceUuid_and_moid_result start_order: 1
stop_action: none
stop_delay: 20
wait_for_heartbeat: "no"
- name: Update all parameters of autoStart powerInfo parameters for VM using instanceUuid via vCenter. - name: Gather facts for autoStart config of other VM from ESXi.
vmware_host_auto_start: vmware_host_facts:
hostname: "{{ vcenter_hostname }}" hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_username }}" username: "{{ vcenter_username }}"
password: "{{ vcenter_password }}" password: "{{ vcenter_password }}"
validate_certs: no validate_certs: no
esxi_hostname: "{{ esxi1 }}" esxi_hostname: "{{ esxi1 }}"
uuid: "{{ vm_instanceUuid_and_moid_result.instance.config.instanceUuid }}" schema: vsphere
use_instance_uuid: yes properties:
power_info: - config.autoStart
start_action: powerOn register: auto_start_defaults_result
start_delay: 300
start_order: 1
stop_action: none
stop_delay: 20
wait_for_heartbeat: "no"
- name: Gather facts for autoStart config of other VM from ESXi. - name: After update parameters, check other VM all powerInfo parameters.
vmware_host_facts: assert:
hostname: "{{ vcenter_hostname }}" that:
username: "{{ vcenter_username }}" - item.startAction == 'powerOn'
password: "{{ vcenter_password }}" - item.startDelay == 300
validate_certs: no - item.startOrder == 1
esxi_hostname: "{{ esxi1 }}" - item.stopAction == 'none'
schema: vsphere - item.stopDelay == 20
properties: - item.waitForHeartbeat == 'no'
- config.autoStart when: item.key == vm_summary_result.instance.summary.vm
register: auto_start_defaults_result loop: "{{ auto_start_defaults_result.ansible_facts.config.autoStart.powerInfo }}"
- name: After update parameters, check other VM all powerInfo parameters. - name: Update all parameters of autoStart powerInfo parameters for VM using moid via vCenter.
assert: vmware_host_auto_start:
that: hostname: "{{ vcenter_hostname }}"
- item.startAction == 'powerOn' username: "{{ vcenter_username }}"
- item.startDelay == 300 password: "{{ vcenter_password }}"
- item.startOrder == 1 validate_certs: no
- item.stopAction == 'none' esxi_hostname: "{{ esxi1 }}"
- item.stopDelay == 20 moid: "{{ vm_instanceUuid_and_moid_result.instance._moId }}"
- item.waitForHeartbeat == 'no' power_info:
when: item.key == vm_summary_result.instance.summary.vm start_action: powerOn
loop: "{{ auto_start_defaults_result.ansible_facts.config.autoStart.powerInfo }}" start_delay: 200
start_order: 1
stop_action: powerOff
stop_delay: 300
wait_for_heartbeat: "yes"
- name: Update all parameters of autoStart powerInfo parameters for VM using moid via vCenter. - name: Gather facts for autoStart config of other VM from ESXi.
vmware_host_auto_start: vmware_host_facts:
hostname: "{{ vcenter_hostname }}" hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_username }}" username: "{{ vcenter_username }}"
password: "{{ vcenter_password }}" password: "{{ vcenter_password }}"
validate_certs: no validate_certs: no
esxi_hostname: "{{ esxi1 }}" esxi_hostname: "{{ esxi1 }}"
moid: "{{ vm_instanceUuid_and_moid_result.instance._moId }}" schema: vsphere
power_info: properties:
start_action: powerOn - config.autoStart
start_delay: 200 register: auto_start_defaults_result
start_order: 1
stop_action: powerOff
stop_delay: 300
wait_for_heartbeat: "yes"
- name: Gather facts for autoStart config of other VM from ESXi. - name: After update parameters, check other VM all powerInfo parameters.
vmware_host_facts: assert:
hostname: "{{ vcenter_hostname }}" that:
username: "{{ vcenter_username }}" - item.startAction == 'powerOn'
password: "{{ vcenter_password }}" - item.startDelay == 200
validate_certs: no - item.startOrder == 1
esxi_hostname: "{{ esxi1 }}" - item.stopAction == 'powerOff'
schema: vsphere - item.stopDelay == 300
properties: - item.waitForHeartbeat == 'yes'
- config.autoStart when: item.key == vm_summary_result.instance.summary.vm
register: auto_start_defaults_result loop: "{{ auto_start_defaults_result.ansible_facts.config.autoStart.powerInfo }}"
- name: After update parameters, check other VM all powerInfo parameters.
assert:
that:
- item.startAction == 'powerOn'
- item.startDelay == 200
- item.startOrder == 1
- item.stopAction == 'powerOff'
- item.stopDelay == 300
- item.waitForHeartbeat == 'yes'
when: item.key == vm_summary_result.instance.summary.vm
loop: "{{ auto_start_defaults_result.ansible_facts.config.autoStart.powerInfo }}"

Loading…
Cancel
Save