[libvirt] Libvirt synchronous hooks

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

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

On Tue, Jun 29, 2010 at 04:03:57PM +0200, Radek Hladik 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?
Old mail, but stll valid :-) Yes adding more hooks as need arise sounds fine to me, especially around storage/interface setups. Daniel -- Daniel Veillard | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ daniel@veillard.com | Rpmfind RPM search engine http://rpmfind.net/ http://veillard.com/ | virtualization library http://libvirt.org/
participants (3)
-
Daniel Veillard
-
edison
-
Radek Hladik