# Managed Object - FailoverClusterManager(vim.vcha.FailoverClusterManager)

Property of
  ServiceContent
See also
  VchaClusterHealth
Since
  vSphere API 6.5

## Managed Object Description

FailoverClusterManager provides operations to manage a vCenter High Availability Cluster (VCHA Cluster). A VCHA Cluster consists of three VMs. One is the Active vCenter VM that serves client requests. Second is the Passive VM that is identical to the Active vCenter VM in terms of resources and capabilities. Passive VM constantly receives updates from Active VM and takes over the role of Active vCenter VM in the event of failover. Third is the Witness VM that acts as a quorum VM in a VCHA Cluster. Sole purpose of Witness VM is to avoid classic split-brain problem in a VCHA Cluster. A VCHA Cluster has following states - 1. Healthy - All three nodes in a VCHA Cluster are healthy and connected. State replication between Active and Passive node is working and both nodes are in-sync. 2. Degraded - A VCHA Cluster is said to be in degraded state when it has lost one of the three nodes. Node loss can be due to various reasons and as a result the lost node is not visible to other two nodes. If an Active node is lost, Passive node will take the role of Active node. If Passive or Witness node is lost, Active node will continue to serve requests. A VCHA Cluster can also be in degraded state if state replication fails between Active and Passive nodes. 3. Isolated - All three nodes are isolated from each other. If this happens while VCHA Cluster is in enabled mode, Active node stops serving client requests. If nodes are isolated in a disabled VCHA Cluster mode, Active node continues to serve client requests. A VCHA Cluster has following modes - 1. Enabled - State replication between Active and Passive nodes is enabled and automatic failover happens if Active node fails while the VCHA Cluster is in a healthy state. 2. Disabled - All three nodes are part of VCHA Cluster but state replication and automatic failover is disabled. 3. Maintenance - All three nodes are part of VCHA Cluster but automatic failover is disabled while state replication continues. Active node continues to serve client requests even if Passive and Witness nodes are lost.

Properties

Name | Type | Description
--- | --- | ---
disabledClusterMethod* | xsd:string[] | A list of method names that must not be called and will throw a fault due to some other method running that the disabled method can cause side-effects for. This list may include the following methods: setClusterMode_Task getClusterMode initiateFailover_Task GetVchaClusterHealth GetClusterHealth will also be disabled if Deploy is in progress. As with other disabled methods there will be no property updates on this property when called with non-zero property collector versions.

*May not be present

Methods

Methods defined in this Managed Object
getClusterMode, GetVchaClusterHealth, initiateFailover_Task, setClusterMode_Task

# getClusterMode

Returns current mode of a VCHA Cluster.

Required Privileges
  System.Read

Parameters

Name | Type | Description
--- | --- | ---
_this | ManagedObjectReference | A reference to the FailoverClusterManager used to make the method call.

Return Value

Type | Description
--- | ---
xsd:string |

Faults

Type | Description
--- | ---
RuntimeFault | Thrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.

Events

Type
None

Show WSDL type definition
<element xmlns="http://www.w3.org/2001/XMLSchema" xmlns:vsan="urn:vsan" name="getClusterMode" type="vsan:getClusterModeRequestType"/> <element xmlns="http://www.w3.org/2001/XMLSchema" xmlns:vsan="urn:vsan" name="getClusterModeResponse"> <complexType> <sequence> <element name="returnval" type="xsd:string"/> </sequence> </complexType> </element>

# GetVchaClusterHealth(getClusterHealth)

Returns last known health of the VCHA Cluster.

Required Privileges
  System.Read

Parameters

Name | Type | Description
--- | --- | ---
_this | ManagedObjectReference | A reference to the FailoverClusterManager used to make the method call.

Return Value

Type | Description
--- | ---
VchaClusterHealth |

Faults

Type | Description
--- | ---
RuntimeFault | Thrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.

Events

Type
None

Show WSDL type definition
<element xmlns="http://www.w3.org/2001/XMLSchema" xmlns:vsan="urn:vsan" name="GetVchaClusterHealth" type="vsan:GetVchaClusterHealthRequestType"/> <element xmlns="http://www.w3.org/2001/XMLSchema" xmlns:vsan="urn:vsan" name="GetVchaClusterHealthResponse"> <complexType> <sequence> <element name="returnval" type="vsan:VchaClusterHealth"/> </sequence> </complexType> </element>

# initiateFailover_Task

Allows a caller to initiate a failover from Active vCenter Server node to the Passive node. By default it is a forced failover. The planned flag can be used to initiate it as a planned failover. For forced failover, Active node immediately initiates a failover. This may result into a data loss after failover. For planned failover, Active node flushes all the state to the Passive node, waits for the flush to complete before causing a failover. After the failover, Passive node starts without any data loss. A failover is allowed only in the following cases - 1. Cluster's mode is enabled and all cluster members are present. 2. Cluster's mode is maintenance and all cluster members are present. API throws an exception in all other cases.

Required Privileges
  Global.VCServer

Parameters

Name | Type | Description
--- | --- | ---
_this | ManagedObjectReference | A reference to the FailoverClusterManager used to make the method call.
planned | xsd:boolean | - if false, a failover is initiated immediate and may result in data loss. if true, a failover is initated after the Active node flushes its state to Passive and there is no data loss.

Return Value

Type | Description
--- | ---
ManagedObjectReference to a Task |

Faults

Type | Description
--- | ---
RuntimeFault | Thrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.

Events

Type
None

# setClusterMode_Task

setClusterMode method allows caller to manipulate the mode of a VCHA Cluster Following mode transitions are allowed - enabled -> disabled - Allowed only in healthy and degraded states. enabled -> maintenance - Allowed only in healthy state. disabled -> enabled - Allowed only in healthy state. maintenance -> enabled - Allowed only in healthy state with all nodes are running the same version. maintenance -> disabled - Allowed only in healthy state with all nodes are running the same version. All other transitions are not allowed. VCHA Cluster configuration remains intact in any of the cluster modes.

Required Privileges
  Global.VCServer

Parameters

Name | Type | Description
--- | --- | ---
_this | ManagedObjectReference | A reference to the FailoverClusterManager used to make the method call.
mode | xsd:string |

Return Value

Type | Description
--- | ---
ManagedObjectReference to a Task | This method returns a Task object with which to monitor the progress of the operation.

Faults

Type | Description
--- | ---
RuntimeFault | Thrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.

Events

Type
None