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.7.0).
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_ha    boolean    |   
  |    Whether to 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_ha 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_ha 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. |  |
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_ha: 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_ha: 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_ha: 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/2.11/collections/community/vmware/vmware_cluster_ha_module.html