migrate option on VMs from FAILED host to call PROLOG_MIGRATE bofore BOOT
|Category:||Core & System|
|Target version:||Release 5.0|
There is HOST_HOOK to handle VM-s when a vm host node enter FAIL state with three possible solutions to rescue the VMs:
1. delete VM
2. delete-recreate VM
3. "move" VM to another host
The problem is that there is no way to "rescue" VMs with non-persistent VM images when they are backed with block devices without native support in libvirt
Here is a list of the affected addons
The solution is before calling BOOT to call PROLOG_MIGRATE
see assigned pull request (https://github.com/OpenNebula/one/pull/70)
If you decide that this contribution needs contributors license agreement do not hesitate to contact to arrange it.
feature #3958: Add PROLOG_MIGRATE_FAILURE to prolog_failure callback and
#1 Updated by Ruben S. Montero over 5 years ago
- Tracker changed from Feature to Backlog
- Target version changed from 79 to Release 5.0
First thank you for this thorough patch :) We think this is a good addition to improve FT for VMs for a wider range of storage backends. This is too close for the next release. Just moving it to include it after the release.
Again thanks for this
#4 Updated by Anton Todorov almost 5 years ago
I am confused.
The patch was made before 4.14 release but it was "too close" for 4.14, now it is "behind schedule" for 5.0. What's going on?
As you already have native iSCSI support I would like to note that the same issue is valid for iSCSI block devices.
It is true that I've found a loophole in the LCM state machine and have a workaround but it is working too slow because there are several LCM state changes and waiting for timeouts instead of just single native one.
#6 Updated by Ruben S. Montero almost 5 years ago
- Status changed from Pending to Closed
- Resolution set to fixed
This is now in master, added logic to handle callback on prolog_failure and recover action. Also I've merged the logic of PROLOG_MIGRATE_UNKNOWN with equivalent states.
THANKS again and sorry for the misunderstanding