On 2012年07月12日 08:28, Ata Bohra wrote:
Hi All,
I am interested in extending libvirt APIs to support iSCSI operations
such as: add/remove targets, list targets, list remote LUNs, rescan luns
etc.
Nice.
The intention is to provide an interface that external programs can
hook to manage iSCSI storage devices on a given hypervisor(I would
be
adding interfaces for ESX first). Looking at the libvirt.c interface for
storage driver I'm unable find routines that can be overridden for
specific hypervisor. Googling lead to a nice blog presentation that
provisions VMs on remote LUN(s) for KVM but uses virish.
(
http://berrange.com/tags/iscsi/).
The storage APIs are independant, not associated with domain APIs.
AFAIK, the storage management is just common, not tied with specific
hypervisor (I may be wrong, perhaps there is specific stuffs I
don't known yet).
The blog post presents using virsh/virt-manager/virt-install, but
if you have the APIs, you can use the APIs (of both domain and storage)
to provision the guests with whatever external programs you want.
So if I understand you correctly, what you need to do is add the
implementations for those APIs in iscsi backend.
My question is; is this as per design not to expose iSCSI related APIs?
No, we'd like to see new useful APIs.
Will an extention to libvirt.c (_virStorageDriver) so that every
hypervisor can implement it is acceptable?
Again, either you or me is wrong, my understanding is the storage
management is not specific for different hypervisors, and it should
keep independant.
Regards,
Osier