[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