On Tue, Mar 16, 2010 at 10:16:05AM +0000, Sharadha Prabhakar (3P) wrote: > Hi, > I'm trying to write a Remote Storage driver for XenAPI. > I see that target-path is used for both storage pools and volumes. > In the case of XenAPI remote storage, the storage is not mounted on the > local host where libvirt is running. Storage is maintained in a remote location only. > In this case how do I specify target-path and how do I go about creating > a VM with storage using libvirt APIs with virsh and virt-manager. > Virt-manager expects me to give an absolute path for target-path. But In my case > I don't have an absolute path. > Can I have a target path like this for a particular storage volume > "/storage pool uuid/storage-vol uuid"? This will help me identify which storage pool is > Libvirt talking about and which volume in it. Using this information I can fetch data from > The remote location and give it back to libvirt. Is this approach > ok or does libvirt support my specific remote storage case in some way. Could someone > clarify please? It may help to understand the usage scenario. - App creates a storage pool with a target '/foo' - App creates a storage volume called 'bar' - Storage pool driver creates a path for volume based on pool target and volume name. eg it might decide /foo/bar - App queries path of new volume and gets '/foo/bar' - App creates a new disk, passing '/foo/bar' in the <disk> element in the guest XML The real key thing here is that 'virStorageVolGetPath' *must* return a path suitable for use in the guest XML <disk> element <source file=/foo/bar> To answer your question then, we ned to know what the path looks like that you use to configure the guest disk when starting the guest ? Once you know that, then the storage driver must be implemented such that virStorageVolGetPath() returns a path that matches what XenAPI wants for the guest config. As for pool target, if nothing else you can simply require that the pool is configured with a target path of '/' at which point it is essentially ignorable, since all paths start with a '/' anyway. Regards, Daniel -- |: Red Hat, Engineering, London -o- http://people.redhat.com/berrange/ :| |: http://libvirt.org -o- http://virt-manager.org -o- http://deltacloud.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: GnuPG: 7D3B9505 -o- F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :| -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list