I have the same problem, that needs to do some extra things, not supported by libvirt API, such as setting up vlan, getting host/guest statistics etc.
Right now, I have agent running on the host, which communicating with my management server. My agent is connecting to libvirt daemon on the same machine. In this way, I have to setup agent on each physical machine.
Will libvirt provide the API, like XAPI's call_plugin (http://www.xen.org/files/XenCloud/ocamldoc/apidoc.html?c=host)? In call_plugin, I can do whatever I want and at any time, which is much flexible than libvirt's hooks, IMHO.


On Tue, Jun 29, 2010 at 7:03 AM, Radek Hladik <radek@eadresa.cz> wrote:
I am trying Libvirt synchronous hooks and I would like to ask a question. I would like to use the machine start (qemu+kvm) hook to set up the storage for the machine. I already mentioned my setup in this mailing list but for now it is only important that VM storage is a md raid constructed from iSCSI disks. The VM's config is using simple file device:
<disk type='file' device='disk'>
 <driver name='qemu' type=''/>
 <source file='/dev/disk/by-id/md-uuid-e464a51e:f61e98b4:bfe78010:bc810f04'/>
  <target dev='vda' bus='virtio'/>
   <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
 </disk>

Stopping the array from stop hook works perfectly however it seems that on the startup  the storage is checked before the hook is executed. At least I do get errors that the storage file (/dev/disk/by-id/md-uuid-....) does not exist and my hook is not called.

I would say that I am hooking on wrong places that I should hook on storage startup/shutdown but as far as I know there are no hooks for storage drivers. Are there any plans in this area? Or is there any other way how to do it that I do not see?

Radek

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list