|
|
|
# Test code for the vmware_cluster module.
|
|
|
|
# Copyright: (c) 2017, Abhijeet Kasurde <akasurde@redhat.com>
|
|
|
|
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
|
|
|
|
|
|
|
- import_role:
|
|
|
|
name: prepare_vmware_tests
|
|
|
|
|
|
|
|
# Setup: Create test cluster
|
|
|
|
- name: Create test cluster
|
|
|
|
vmware_cluster:
|
|
|
|
validate_certs: False
|
|
|
|
hostname: "{{ vcenter_hostname }}"
|
|
|
|
username: "{{ vcenter_username }}"
|
|
|
|
password: "{{ vcenter_password }}"
|
|
|
|
datacenter_name: "{{ dc1 }}"
|
|
|
|
cluster_name: test_cluster_ha
|
|
|
|
state: present
|
|
|
|
|
|
|
|
# Testcase 0001: Enable HA
|
|
|
|
- name: Enable HA
|
|
|
|
vmware_cluster_ha:
|
|
|
|
validate_certs: False
|
|
|
|
hostname: "{{ vcenter_hostname }}"
|
|
|
|
username: "{{ vcenter_username }}"
|
|
|
|
password: "{{ vcenter_password }}"
|
|
|
|
datacenter_name: "{{ dc1 }}"
|
|
|
|
cluster_name: test_cluster_ha
|
|
|
|
enable_ha: yes
|
|
|
|
register: cluster_ha_result_0001
|
|
|
|
|
|
|
|
- name: Ensure HA is enabled
|
|
|
|
assert:
|
|
|
|
that:
|
|
|
|
- "{{ cluster_ha_result_0001.changed == true }}"
|
|
|
|
|
|
|
|
# Testcase 0002: Enable Slot based Admission Control
|
|
|
|
- name: Enable Slot based Admission Control
|
|
|
|
vmware_cluster_ha:
|
|
|
|
validate_certs: False
|
|
|
|
hostname: "{{ vcenter_hostname }}"
|
|
|
|
username: "{{ vcenter_username }}"
|
|
|
|
password: "{{ vcenter_password }}"
|
|
|
|
datacenter_name: "{{ dc1 }}"
|
|
|
|
cluster_name: test_cluster_ha
|
|
|
|
enable_ha: yes
|
|
|
|
slot_based_admission_control:
|
|
|
|
failover_level: 1
|
|
|
|
register: cluster_ha_result_0002
|
|
|
|
|
|
|
|
- name: Ensure Admission Cotrol is enabled
|
|
|
|
assert:
|
|
|
|
that:
|
|
|
|
- "{{ cluster_ha_result_0002.changed == true }}"
|
|
|
|
|
|
|
|
# Testcase 0003: Enable Cluster resource Percentage based Admission Control
|
|
|
|
- name: Enable Cluster resource Percentage based Admission Control
|
|
|
|
vmware_cluster_ha:
|
|
|
|
validate_certs: False
|
|
|
|
hostname: "{{ vcenter_hostname }}"
|
|
|
|
username: "{{ vcenter_username }}"
|
|
|
|
password: "{{ vcenter_password }}"
|
|
|
|
datacenter_name: "{{ dc1 }}"
|
|
|
|
cluster_name: test_cluster_ha
|
|
|
|
enable_ha: yes
|
|
|
|
reservation_based_admission_control:
|
|
|
|
auto_compute_percentages: false
|
|
|
|
failover_level: 1
|
|
|
|
cpu_failover_resources_percent: 33
|
|
|
|
memory_failover_resources_percent: 33
|
|
|
|
register: cluster_ha_result_0003
|
|
|
|
|
|
|
|
- name: Ensure Admission Cotrol is enabled
|
|
|
|
assert:
|
|
|
|
that:
|
|
|
|
- "{{ cluster_ha_result_0003.changed == true }}"
|
|
|
|
|
|
|
|
# Testcase 0004: Set Isolation Response to powerOff
|
|
|
|
- name: Set Isolation Response to powerOff
|
|
|
|
vmware_cluster_ha:
|
|
|
|
validate_certs: False
|
|
|
|
hostname: "{{ vcenter_hostname }}"
|
|
|
|
username: "{{ vcenter_username }}"
|
|
|
|
password: "{{ vcenter_password }}"
|
|
|
|
datacenter_name: "{{ dc1 }}"
|
|
|
|
cluster_name: test_cluster_ha
|
|
|
|
enable_ha: yes
|
|
|
|
host_isolation_response: 'powerOff'
|
|
|
|
register: cluster_ha_result_0004
|
|
|
|
|
|
|
|
- name: Ensure Isolation Response is enabled
|
|
|
|
assert:
|
|
|
|
that:
|
|
|
|
- "{{ cluster_ha_result_0004.changed == true }}"
|
|
|
|
|
|
|
|
# Testcase 0005: Set Isolation Response to shutdown
|
|
|
|
- name: Set Isolation Response to shutdown
|
|
|
|
vmware_cluster_ha:
|
|
|
|
validate_certs: False
|
|
|
|
hostname: "{{ vcenter_hostname }}"
|
|
|
|
username: "{{ vcenter_username }}"
|
|
|
|
password: "{{ vcenter_password }}"
|
|
|
|
datacenter_name: "{{ dc1 }}"
|
|
|
|
cluster_name: test_cluster_ha
|
|
|
|
enable_ha: yes
|
|
|
|
host_isolation_response: 'shutdown'
|
|
|
|
register: cluster_ha_result_0005
|
|
|
|
|
|
|
|
- name: Ensure Isolation Response is enabled
|
|
|
|
assert:
|
|
|
|
that:
|
|
|
|
- "{{ cluster_ha_result_0005.changed == true }}"
|
|
|
|
|
|
|
|
# Testcase 0006: Disable HA
|
|
|
|
- name: Disable HA
|
|
|
|
vmware_cluster_ha:
|
|
|
|
validate_certs: False
|
|
|
|
hostname: "{{ vcenter_hostname }}"
|
|
|
|
username: "{{ vcenter_username }}"
|
|
|
|
password: "{{ vcenter_password }}"
|
|
|
|
datacenter_name: "{{ dc1 }}"
|
|
|
|
cluster_name: test_cluster_ha
|
|
|
|
enable_ha: no
|
|
|
|
register: cluster_ha_result_0006
|
|
|
|
|
|
|
|
- name: Ensure HA is disabled
|
|
|
|
assert:
|
|
|
|
that:
|
|
|
|
- "{{ cluster_ha_result_0006.changed == true }}"
|
|
|
|
|
|
|
|
- when: vcsim is not defined
|
|
|
|
block:
|
|
|
|
- name: Change advanced setting "number of heartbeat datastores" (check-mode)
|
|
|
|
vmware_cluster_ha: &change_num_heartbeat_ds
|
|
|
|
validate_certs: False
|
|
|
|
hostname: "{{ vcenter_hostname }}"
|
|
|
|
username: "{{ vcenter_username }}"
|
|
|
|
password: "{{ vcenter_password }}"
|
|
|
|
datacenter_name: "{{ dc1 }}"
|
|
|
|
cluster_name: test_cluster_ha
|
|
|
|
advanced_settings:
|
|
|
|
'das.heartbeatDsPerHost': '4'
|
|
|
|
check_mode: yes
|
|
|
|
register: change_num_heartbeat_ds_check
|
|
|
|
|
|
|
|
- assert:
|
|
|
|
that:
|
|
|
|
- change_num_heartbeat_ds_check.changed
|
|
|
|
|
|
|
|
- name: Change advanced setting "number of heartbeat datastores"
|
|
|
|
vmware_cluster_ha: *change_num_heartbeat_ds
|
|
|
|
register: change_num_heartbeat_ds
|
|
|
|
|
|
|
|
- assert:
|
|
|
|
that:
|
|
|
|
- change_num_heartbeat_ds.changed
|
|
|
|
|
|
|
|
- name: Change advanced setting "number of heartbeat datastores" again
|
|
|
|
vmware_cluster_ha: *change_num_heartbeat_ds
|
|
|
|
register: change_num_heartbeat_ds_again
|
|
|
|
|
|
|
|
- assert:
|
|
|
|
that:
|
|
|
|
- not change_num_heartbeat_ds_again.changed
|
|
|
|
|
|
|
|
# Delete test cluster
|
|
|
|
- name: Delete test cluster
|
|
|
|
vmware_cluster:
|
|
|
|
validate_certs: False
|
|
|
|
hostname: "{{ vcenter_hostname }}"
|
|
|
|
username: "{{ vcenter_username }}"
|
|
|
|
password: "{{ vcenter_password }}"
|
|
|
|
datacenter_name: "{{ dc1 }}"
|
|
|
|
cluster_name: test_cluster_ha
|
|
|
|
state: absent
|