[libvirt] libvirt_low_level_storage_api
Andrew Cathrow
acathrow at redhat.com
Wed Nov 26 13:44:33 UTC 2008
On Wed, 2008-11-19 at 20:44 +0200, shahar at compal1.qumranet.com wrote:
> Hi All, here is an initial version of the operations required for SolidICE and the proposed high level interface.
>
> I would like to discuss how to map it to libvirt calls and what libvirt calls are missing.
>
> Thanks,
>
> Shahar Frank
What about features like
- Scanning - (PVScan/LVScan/VGScan) to discover new volume groups, LV's
etc.
- Activate/Deactivate - (vgchange) to enable and disable volume groups
and lv's
Or are they already present?
>
> HostLevel
> ---------
> enumarateLuns():
> return:
> returns all luns visible by the host.
> In case multipathing is enabled then only the multipath device should be in the return list.
>
> enumerateISCSILuns(target):
> params:
> target - ISCSI target
> Description:
> enumerate all ISCSI luns on a specific target
> return:
> list of
> getBlockInfo(name or UUID):
> return:
> at least uuid & size
> enumerateVGs():
> return:
> VG UUID list
>
>
> open issues - should we assume ISCSI auto connect or FC login?
>
>
>
> StoragePool level
> -----------------
> createVolumeGroup(name, devices):
> params:
> name = name
> devices - a list of UUIDs
> description:
> Should create a volume group out of the UUID list
> In case multipathing is enabled then only the multipath device should be used
> In case it is not a PV yet then a PV is to be created.
> Return:
> Uuid of the VG
>
> removeVolumeGroup(VG):
> params:
> VG - uuid of the Volume group
> Description:
> Remove all remains for the VolumeGroup (LVs, PVs ...)
> Return:
> Sucsess/failure
>
> mountNFS(server, remotePath, localPath, params)
> params:
> server - the NFS server name or IP
> temotePath - remote server export path
> localPath - local path to mount on
> params - nfs mount params
> description:
> mounts the remote export onto the local path using the mount params
> return:
> success/failure
>
>
> unmount(localPath, forceFlag)
> params:
> localPath - the local path to unmount
> forceFlag - a flag indicating whether to force unmount
> description:
> unmounts local path (trivial)
> return:
> success/failure
>
> Open issues:
> 1. NFS configuration persistency?
> 2. What happens in case the libvirt is restarted should it be reconfigured?
>
>
> VolumeGroup level
> -----------------
> listPV(VG):
> params:
> VG - Volume group UUID
> Description:
> Lists all PV in a specific volume group
> Return:
> A list of PV UUIDs
>
>
>
> infoPV(VG, PV)
> params:
> VG - Volume group UUID
> PV - Physical volume UUID
> description:
> trivial
> return:
> returns the PV information (at least size & path)
>
>
>
> extendVolumeGroup(VG, devices):
> params:
> VG - Volume Group UUID
> devices - a list of UUIDs
> description:
> This function adds Phisical Volume to the VolumeGroup.
> Each UUID device is checked, In case multipathing is enabled
> then only the multipath device should be used (PV create in case
> it's not) and added to the volume group
> return:
> success/fauilure
>
>
> removePV(VG, PV):
> params:
> VG - Volume Group UUID
> PV - Physical volume's UUID to be removed
> description:
> removes the physical volume
> return:
> success failure
>
> LV operations
> --------------
> listLVs(VG):
> params:
> VG - Volume Group UUID
> description:
> trivial
> return:
> list of all LV UUIDs
>
> infoLV(VG, LV):
> params:
> VG - Volume Group UUID
> LV - Logical Volume UUID
> description:
> trivial
> return:
> returns LV information (at least size and path)
>
> createLV(VG, LvName, size):
> params:
> VG - Volume Group UUID
> LvName - name of the logical volume
> Size - size of logical volume
> description:
> creates a logical volume with name LvName and the requested size
> return:
> LV UUID
>
> extendLV(VG, LV, size):
> params:
> VG - Volume Group UUID
> LV - Logical Volume UUID
> description:
> extends LV with additional size
> return:
> success/failure
>
> removeLV(VG,LV):
> params:
> VG - Volume Group UUID
> LV - Logical Volume UUID
> description:
> return:
>
> snapshotLV(VG, LV, size):
> params:
> VG - Volume Group UUID
> LV - Logical Volume UUID
> size - Initial size of snapshot volume
> description:
> creeates a snapshot of LV
> return:
> UUID of snapshot
>
>
> --
> Libvir-list mailing list
> Libvir-list at redhat.com
> https://www.redhat.com/mailman/listinfo/libvir-list
Andrew Cathrow
Red Hat, Inc.
(678) 733 0452 - Mobile
(978) 392-2482 - Office
acathrow at redhat.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20081126/4a7a7666/attachment-0001.htm>
More information about the libvir-list
mailing list