Cloudstack relies on custom HA logic for user VMs running on Xenserver. The reason for doing it like this may be due the fact that native HA capabilities in XS was not mature enough during the initial days. Also in the custom HA logic, Cloudstack has to correctly determine the state of a VM from the hypervisor before it can take any action. In case there are any issues in determining the state, HA mechanism can get impacted. Since the hypervisor best knows the state of the VM it is a better approach to rely on native HA capabilities.
The idea is to rely on native HA capabilities for user VMs from XS 6.2 onwards. HA for system VMs would still be based on application logic. For sake of backward compatibility the earlier option will be there as well and there will be a choice to use any one option. The additional requirement for this is to pre-configure native HA on a Xenserver cluster before deploying any user VMs as documented here [1]. I have created a ticket in Jira [2]. I will post the FS for this shortly. Thanks, Koushik [1] http://support.citrix.com/servlet/KbServlet/download/34969-102-704897/reference.pdf (refer section 3.8) [2] https://issues.apache.org/jira/browse/CLOUDSTACK-5203