diff --git a/docs/hooks.rst b/docs/hooks.rst index 1dbc492bd4..48128ba3d8 100644 --- a/docs/hooks.rst +++ b/docs/hooks.rst @@ -215,7 +215,30 @@ operation. There is no specific operation to indicate a "restart" is occurring. :: - /etc/libvirt/hooks/qemu guest_name release end - + /etc/libvirt/hooks/qemu guest_name release end + + +-------------------+-------------------------------------------------------------------+ + | Shutoff reason | Description | + +===================+===================================================================+ + | unknown | the reason is unknown | + +-------------------+-------------------------------------------------------------------+ + | shutdown | normal shutdown | + +-------------------+-------------------------------------------------------------------+ + | destroyed | forced poweroff | + +-------------------+-------------------------------------------------------------------+ + | crashed | domain crashed | + +-------------------+-------------------------------------------------------------------+ + | migrated | migrated to another host | + +-------------------+-------------------------------------------------------------------+ + | saved | saved to a file | + +-------------------+-------------------------------------------------------------------+ + | failed | domain failed to start | + +-------------------+-------------------------------------------------------------------+ + | from snapshot | restored from a snapshot which was taken while domain was shutoff | + +-------------------+-------------------------------------------------------------------+ + | daemon | daemon decides to kill domain during reconnection processing | + +-------------------+-------------------------------------------------------------------+ + - :since:`Since 0.9.11`, the qemu hook script is also called at the beginning of incoming migration. It is called as: @@ -312,7 +335,29 @@ operation. There is no specific operation to indicate a "restart" is occurring. :: - /etc/libvirt/hooks/lxc guest_name release end - + /etc/libvirt/hooks/lxc guest_name release end + + +-------------------+-------------------------------------------------------------------+ + | Shutoff reason | Description | + +===================+===================================================================+ + | unknown | the reason is unknown | + +-------------------+-------------------------------------------------------------------+ + | shutdown | normal shutdown | + +-------------------+-------------------------------------------------------------------+ + | destroyed | forced poweroff | + +-------------------+-------------------------------------------------------------------+ + | crashed | domain crashed | + +-------------------+-------------------------------------------------------------------+ + | migrated | migrated to another host | + +-------------------+-------------------------------------------------------------------+ + | saved | saved to a file | + +-------------------+-------------------------------------------------------------------+ + | failed | domain failed to start | + +-------------------+-------------------------------------------------------------------+ + | from snapshot | restored from a snapshot which was taken while domain was shutoff | + +-------------------+-------------------------------------------------------------------+ + | daemon | daemon decides to kill domain during reconnection processing | + +-------------------+-------------------------------------------------------------------+ - :since:`Since 0.9.13`, the lxc hook script is also called when the libvirtd daemon restarts and reconnects to previously running LXC processes. If the diff --git a/src/lxc/lxc_process.c b/src/lxc/lxc_process.c index 30ff4eb3d0..f5eb5383ec 100644 --- a/src/lxc/lxc_process.c +++ b/src/lxc/lxc_process.c @@ -244,7 +244,7 @@ static void virLXCProcessCleanup(virLXCDriver *driver, /* we can't stop the operation even if the script raised an error */ virHookCall(VIR_HOOK_DRIVER_LXC, vm->def->name, VIR_HOOK_LXC_OP_RELEASE, VIR_HOOK_SUBOP_END, - NULL, xml, NULL); + virDomainShutoffReasonTypeToString(reason), xml, NULL); } if (flags & VIR_LXC_PROCESS_CLEANUP_REMOVE_TRANSIENT) diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index 2c33ac3bf7..9de01b1a0d 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -8722,7 +8722,7 @@ void qemuProcessStop(virQEMUDriver *driver, /* we can't stop the operation even if the script raised an error */ virHookCall(VIR_HOOK_DRIVER_QEMU, vm->def->name, VIR_HOOK_QEMU_OP_RELEASE, VIR_HOOK_SUBOP_END, - NULL, xml, NULL); + virDomainShutoffReasonTypeToString(reason), xml, NULL); } virDomainObjRemoveTransientDef(vm);