I'm now developing RA(Resource Agent) for Pacemaker with vSphere GuestSDK.
Pacemaker(Open Source Cluster Software)
[https://github.com/ClusterLabs/pacemaker | https://github.com/ClusterLabs/pacemaker]
Resource Agents(Handle the resource operation, start/monitor/stop with Pacemaker)
<a href="https://github.com/ClusterLabs/resource-agents">https://github.com/ClusterLabs/resource-agents</a>
<a href="https://www.vmware.com/support/developer/guest-sdk/">https://www.vmware.com/support/developer/guest-sdk/</a>
----
set LD_LIBRARY_PATH for GuestSDK.
# export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/GuestSDK/lib/lib64
start vmware-appmonitor heartbeat.
# /opt/GuestSDK/bin/bin64/vmware-appmonitor enable
check the resource status with Pacemaker's CLI, crm_mon, crm_resource, etc...
If there is no error, continue to send vmware-appmonitor heartbeat.
# /opt/GuestSDK/bin/bin64/vmware-appmonitor markActive
If there is some resource failure, stop sending heartbeat.
It means, do nothing, and VM would be reset.
If there is no error, stop sending heartbeat normally.
# /opt/GuestSDK/bin/bin64/vmware-appmonitor disable
If there is some resource failure, stop sending heartbeat.
Do nothing and call VM's reset, same with the monitor error.
----
The above implementation is not so hard, and I've already created its prototype.
I'm planning to call "vmware-appmonitor" binary directory from RA,
is this available under the VMware licensing agreement?
I read "GuestSDK_Terms_and_Conditions.pdf" in "GuestSDK\docs",
but it seems that it refer to using "API", not pre-compiled binary.
Could you give me some advice?
By the way, I am going to pull-request this new RA into resource-agent repository with GPL2 license.
I would appreciate if you can give some advice it, too.