Virtual Machine’s that have had failed vSphere HA failovers in the past can retain their "vmFailoverInProgress" flag as 'true' in the Virtual Machine runtime. If a Virtual Machine is also registered to another ESXi host, vCenter will trigger the unregistration of the Virtual Machine on one of the ESXi hosts. However, vCenter will be unable to unregister the Virtual Machine due to 'vmFailoverInProgress=true', leaving the Virtual Machine registered on multiple hosts.
Now if the Virtual Machine is deleted or SvMotioned, it will not be possible to recreate the Virtual Machine with the same config path as it still has one stale copy registered on one of the ESXi hosts.
There may be two kinds of VMs in such a situation,
'Ignoring matched Vm that is currently undergoing failover. VM:[vim.VirtualMachine:vm-##,TestVm1] oldHost:[vim.HostSystem:host-###, 192.168.1.11] newHost:[vim.HostSystem:host-##, 192.168.1.12] and isPoweredOn:true'
vim-cmd /vmsvc/getallvms
vim-cmd /vmsvc/get.runtime <vm-id> | grep -i "vmFailoverInProgress = true"
zgrep -i "Ignoring matched Vm that is currently undergoing failover" /var/log/vmware/vpxd* | grep -i "isPoweredOn:false" | grep -E -o "newHost[^ ]+" | grep -E -o "nl[a-z0-9\.-]+" | sort | uniq
To enable vSphere HA in the vSphere Client: