
On 05/28/2012 08:20 AM, Daniel P. Berrange wrote:
From: "Daniel P. Berrange" <berrange@redhat.com>
A core use case of the hook scripts is to be able to do things to a guest's network configuration. It is possible to hook into the 'start' operation for a QEMU guest which runs just before the guest is started. The TAP devices will exist at this point, but the QEMU process will not. It can be desirable to have a 'started' hook too, which runs once QEMU has started.
If libvirtd is restarted it will re-populate firewall rules, but there is no QEMU hook to trigger for existing domains. This is solved with a 'reconnect' hook.
Finally, if attaching to an external QEMU process there needs to be an 'attach' hook script.
This all also applies to the LXC driver
* docs/hooks.html.in: Document new operations * src/util/hooks.c, src/util/hooks.c: Add 'started', 'reconnect' and 'attach' operations for QEMU. Add 'prepare', 'started', 'release' and 'reconnect' operations for LXC * src/lxc/lxc_driver.c: Add hooks for 'prepare', 'started', 'release' and 'reconnect' operations * src/qemu/qemu_process.c: Add hooks for 'started', 'reconnect' and 'reconnect' operations --- docs/hooks.html.in | 52 +++++++++++++++++++++++--- src/lxc/lxc_driver.c | 94 ++++++++++++++++++++++++++++++++++++++--------- src/qemu/qemu_process.c | 51 +++++++++++++++++++++++++ src/util/hooks.c | 11 +++++- src/util/hooks.h | 7 ++++ 5 files changed, 190 insertions(+), 25 deletions(-)
diff --git a/docs/hooks.html.in b/docs/hooks.html.in index ab16db2..2d64d42 100644 --- a/docs/hooks.html.in +++ b/docs/hooks.html.in @@ -101,7 +101,7 @@ <h5><a name="qemu">/etc/libvirt/hooks/qemu</a></h5> <ul> <li>Before a QEMU guest is started, the qemu hook script is - called in two locations; if either location fails, the guest + called in three locations; if either location fails, the guest
s/either/any/
<h5><a name="lxc">/etc/libvirt/hooks/lxc</a></h5> <ul> - <li>When an LXC guest is started, the lxc hook script is called as:<br/> - <pre>/etc/libvirt/hooks/lxc guest_name start begin -</pre></li> + <li>Before a LXC guest is started, the lxc hook script is + called in three locations; if either location fails, the guest
and again ACK with those nits fixed. -- Eric Blake eblake@redhat.com +1-919-301-3266 Libvirt virtualization library http://libvirt.org