The problem was seen as a host htpervisor went into non-responding mode. A VM that was running on it stopped responding and spice didn't work to access that VM's console. While trying to stop/reboot the problematic host, the VM appeared on 2 different hosts (via UI and on virsh command line). Eventually this caused the FS on that VM to become corrupted, which resulted in having to reinstall that VM. This was caused by the fence command running at the same time. This fix runs fence command mutually exclusive.
* Cause: a race between 2 Fence operation, one triggered by UI and one automatically
* Consequence: the end of the fence command is to start VMs up, since the race exist the process starts VMs without knowing it started already
* Fix: make fence operations exclusive by taking an engine-lock
* Result: now the 2nd fence operation should fail with Can Do Action since one is already in progress