Hide Forgot
Description of problem: when first add hooks daemon script on /etc/libvirt/hooks/ and then shutdown the libvirtd service, hooks daemon script can not be executed. # cat /etc/libvirt/hooks/daemon #! /bin/bash echo "$0" "$@" \ >> /tmp/daemon.log exit 0 After shutdown, no message like "/etc/libvirt/hooks/daemon - shutdown - shutdown" exists on /tmp/daemon.log I find it comes from the function virHookCall() ... if ((virHooksFound == -1) || ((driver == VIR_HOOK_DRIVER_DAEMON) && (op == VIR_HOOK_DAEMON_OP_RELOAD))) virHookInitialize(); ... when libvirtd started, the virHookInitialize() has already changed the virHooksFound to 0, so here it should be ... if ((virHooksFound == 0) || ((driver == VIR_HOOK_DRIVER_DAEMON) && (op == VIR_HOOK_DAEMON_OP_RELOAD))) virHookInitialize(); ... Version-Release number of selected component (if applicable): libvirt-0.8.7-6.el6.x86_64 How reproducible: always Steps to Reproduce: 1.start libvirtd service with no daemon script writting 2.writting /etc/libvirt/hooks/daemon with #! /bin/bash echo "$0" "$@" \ >> /tmp/daemon.log exit 0 3.run #service libvirtd stop Actual results: no log in /tmp/daemon.log Expected results: has log in /tmp/daemon.log /etc/libvirt/hooks/daemon - shutdown - shutdown Additional info:
It's expectd by design. You need to "restart" or "reload" libvirtd so that it could known there are new hook script. Otherwise libvirtd won't known.