XenServer HA
As of Apache CloudStack 4.4, CloudStack is not responsible to promote a new pool master on a Citrix XenServer pool. In case of failure of the pool master host, the responsibility of electing a new pool master as been delegated back to the HA feature of XenServer. CloudStack remain responsible to honored HA capability for Compute Offerings of Instances. The XenServer HA feature must be enabled only for the pool master, not for virtual-machines.
Make sure XenServer has enabled HA on the pool.
To test if poolHA is currently turned on:
xe pool-list params=all | grep -E "ha-enabled|ha-config"
Output when poolHA is ON:
ha-enabled ( RO): true
ha-configuration ( RO): timeout: 180
Output when poolHA is OFF:
ha-enabled ( RO): false
ha-configuration ( RO):
To enable poolHA, use something like this:
xe pool-enable-ha heartbeat-sr-uuids={SR-UUID} ha-config:timeout=180
Please refer to the XenServer documentation, as there are multiple ways of configuring it either on NFS, iSCSI or Fibre Channel. Be aware though, that the timeout setting is not documented. The default is 30 seconds so you may want to bump that towards 120-180 seconds.