On this page
community.vmware.vmware_cluster_ha – Manage High Availability (HA) on VMware vSphere clusters
Note
This plugin is part of the community.vmware collection (version 1.15.0).
You might already have this collection installed if you are using the ansible
package. It is not included in ansible-core
. To check whether it is installed, run ansible-galaxy collection list
.
To install it, use: ansible-galaxy collection install community.vmware
.
To use it in a playbook, specify: community.vmware.vmware_cluster_ha
.
Synopsis
- Manages HA configuration on VMware vSphere clusters.
- All values and VMware object names are case sensitive.
Requirements
The below requirements are needed on the host that executes this module.
- Tested on ESXi 5.5 and 6.5.
- PyVmomi installed.
Parameters
Parameter | Choices/Defaults | Comments | |
---|---|---|---|
advanced_settings
dictionary
|
Default:
{}
|
A dictionary of advanced HA settings.
|
|
apd_response
string
added in 1.4.0 of community.vmware
|
|
VM storage protection setting for storage failures categorized as All Paths Down (APD).
|
|
cluster_name
string / required
|
The name of the cluster to be managed.
|
||
datacenter
string / required
|
The name of the datacenter.
aliases: datacenter_name |
||
enable
boolean
|
|
Whether to enable HA.
aliases: enable_ha |
|
failover_host_admission_control
dictionary
|
Configure dedicated failover hosts.
slot_based_admission_control , reservation_based_admission_control and failover_host_admission_control are mutually exclusive.
|
||
failover_hosts
list / elements=string / required
|
List of dedicated failover hosts.
|
||
ha_host_monitoring
string
|
|
Whether HA restarts virtual machines after a host fails.
If set to
enabled , HA restarts virtual machines after a host fails.
If set to
disabled , HA does not restart virtual machines after a host fails.
If enable is set to False , then this value is ignored.
|
|
ha_restart_priority
string
|
|
Priority HA gives to a virtual machine if sufficient capacity is not available to power on all failed virtual machines.
Valid only if ha_vm_monitoring is set to either
vmAndAppMonitoring or vmMonitoringOnly .
If set to
disabled , then HA is disabled for this virtual machine.
If set to
high , then virtual machine with this priority have a higher chance of powering on after a failure, when there is insufficient capacity on hosts to meet all virtual machine needs.
If set to
medium , then virtual machine with this priority have an intermediate chance of powering on after a failure, when there is insufficient capacity on hosts to meet all virtual machine needs.
If set to low , then virtual machine with this priority have a lower chance of powering on after a failure, when there is insufficient capacity on hosts to meet all virtual machine needs.
|
|
ha_vm_failure_interval
integer
|
Default:
30
|
The number of seconds after which virtual machine is declared as failed if no heartbeat has been received.
This setting is only valid if
ha_vm_monitoring is set to, either vmAndAppMonitoring or vmMonitoringOnly .
Unit is seconds.
|
|
ha_vm_max_failure_window
integer
|
Default:
-1
|
The number of seconds for the window during which up to
ha_vm_max_failures resets can occur before automated responses stop.
Valid only when ha_vm_monitoring is set to either
vmAndAppMonitoring or vmMonitoringOnly .
Unit is seconds.
Default specifies no failure window.
|
|
ha_vm_max_failures
integer
|
Default:
3
|
Maximum number of failures and automated resets allowed during the time that
ha_vm_max_failure_window specifies.
Valid only when ha_vm_monitoring is set to either vmAndAppMonitoring or vmMonitoringOnly .
|
|
ha_vm_min_up_time
integer
|
Default:
120
|
The number of seconds for the virtual machine's heartbeats to stabilize after the virtual machine has been powered on.
Valid only when ha_vm_monitoring is set to either
vmAndAppMonitoring or vmMonitoringOnly .
Unit is seconds.
|
|
ha_vm_monitoring
string
|
|
State of virtual machine health monitoring service.
If set to
vmAndAppMonitoring , HA response to both virtual machine and application heartbeat failure.
If set to
vmMonitoringDisabled , virtual machine health monitoring is disabled.
If set to
vmMonitoringOnly , HA response to virtual machine heartbeat failure.
If enable is set to False , then this value is ignored.
|
|
host_isolation_response
string
|
|
Indicates whether or VMs should be powered off if a host determines that it is isolated from the rest of the compute resource.
If set to
none , do not power off VMs in the event of a host network isolation.
If set to
powerOff , power off VMs in the event of a host network isolation.
If set to shutdown , shut down VMs guest operating system in the event of a host network isolation.
|
|
hostname
string
|
The hostname or IP address of the vSphere vCenter or ESXi server.
If the value is not specified in the task, the value of environment variable
VMWARE_HOST will be used instead.
Environment variable support added in Ansible 2.6.
|
||
password
string
|
The password of the vSphere vCenter or ESXi server.
If the value is not specified in the task, the value of environment variable
VMWARE_PASSWORD will be used instead.
Environment variable support added in Ansible 2.6.
aliases: pass, pwd |
||
pdl_response
string
added in 1.4.0 of community.vmware
|
|
VM storage protection setting for storage failures categorized as Permenant Device Loss (PDL).
|
|
port
integer
|
Default:
443
|
The port number of the vSphere vCenter or ESXi server.
If the value is not specified in the task, the value of environment variable
VMWARE_PORT will be used instead.
Environment variable support added in Ansible 2.6.
|
|
proxy_host
string
|
Address of a proxy that will receive all HTTPS requests and relay them.
The format is a hostname or a IP.
If the value is not specified in the task, the value of environment variable
VMWARE_PROXY_HOST will be used instead.
This feature depends on a version of pyvmomi greater than v6.7.1.2018.12
|
||
proxy_port
integer
|
Port of the HTTP proxy that will receive all HTTPS requests and relay them.
If the value is not specified in the task, the value of environment variable VMWARE_PROXY_PORT will be used instead.
|
||
reservation_based_admission_control
dictionary
|
Configure reservation based admission control policy.
slot_based_admission_control , reservation_based_admission_control and failover_host_admission_control are mutually exclusive.
|
||
auto_compute_percentages
boolean
|
|
By default, failover_level is used to calculate cpu_failover_resources_percent and memory_failover_resources_percent . If a user wants to override the percentage values, he has to set this field to false.
|
|
cpu_failover_resources_percent
integer
|
Default:
50
|
Percentage of CPU resources in the cluster to reserve for failover. Ignored if auto_compute_percentages is not set to false.
|
|
failover_level
integer / required
|
Number of host failures that should be tolerated.
|
||
memory_failover_resources_percent
integer
|
Default:
50
|
Percentage of memory resources in the cluster to reserve for failover. Ignored if auto_compute_percentages is not set to false.
|
|
slot_based_admission_control
dictionary
|
Configure slot based admission control policy.
slot_based_admission_control , reservation_based_admission_control and failover_host_admission_control are mutually exclusive.
|
||
failover_level
integer / required
|
Number of host failures that should be tolerated.
|
||
username
string
|
The username of the vSphere vCenter or ESXi server.
If the value is not specified in the task, the value of environment variable
VMWARE_USER will be used instead.
Environment variable support added in Ansible 2.6.
aliases: admin, user |
||
validate_certs
boolean
|
|
Allows connection when SSL certificates are not valid. Set to
false when certificates are not trusted.
If the value is not specified in the task, the value of environment variable
VMWARE_VALIDATE_CERTS will be used instead.
Environment variable support added in Ansible 2.6.
If set to true , please make sure Python >= 2.7.9 is installed on the given machine.
|
Notes
Note
- All modules requires API write access and hence is not supported on a free ESXi license.
Examples
- name: Enable HA without admission control
community.vmware.vmware_cluster_ha:
hostname: '{{ vcenter_hostname }}'
username: '{{ vcenter_username }}'
password: '{{ vcenter_password }}'
datacenter_name: datacenter
cluster_name: cluster
enable: true
delegate_to: localhost
- name: Enable HA and VM monitoring without admission control
community.vmware.vmware_cluster_ha:
hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_username }}"
password: "{{ vcenter_password }}"
datacenter_name: DC0
cluster_name: "{{ cluster_name }}"
enable: True
ha_vm_monitoring: vmMonitoringOnly
delegate_to: localhost
- name: Enable HA with admission control reserving 50% of resources for HA
community.vmware.vmware_cluster_ha:
hostname: '{{ vcenter_hostname }}'
username: '{{ vcenter_username }}'
password: '{{ vcenter_password }}'
datacenter_name: datacenter
cluster_name: cluster
enable: true
reservation_based_admission_control:
auto_compute_percentages: False
failover_level: 1
cpu_failover_resources_percent: 50
memory_failover_resources_percent: 50
delegate_to: localhost
Authors
- Joseph Callen (@jcpowermac)
- Abhijeet Kasurde (@Akasurde)
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/community/vmware/vmware_cluster_ha_module.html