[Engine-devel] [vdsm] FW: Querying for and registering unknown disk images on a storage domain
Itamar Heim
iheim at redhat.com
Sun Dec 23 16:57:52 UTC 2012
On 12/23/2012 04:00 PM, Shu Ming wrote:
> 2012-12-20 23:18, Morrissey, Christopher:
>>
>> Hi All,
>>
>> I’ve been working on a bit of functionality for the engine that will
>> allow a user to query a domain for new disk images
>> (GetUnregisteredImagesQuery) for which the engine was previously
>> unaware and a separate command to register those images
>> (ImportImageCommand). These commands will be exposed through the REST API.
>>
>> This functionality is needed as we are developing an extension/plugin
>> to oVirt that will allow a NetApp storage controller to handle cloning
>> the actual disks outside of oVirt and need to import them once they
>> are cloned. We’ll be using other existing APIs to attach the disk to
>> the necessary VM once the disk is cloned. On the NetApp side, we’ll
>> ensure the disk is coalesced before cloning so as to avoid the issues
>> of registering snapshots.
>>
> I am just curious about how the third party tool like NetApp to make
> sure the disk of a running VM coalesced before cloning? By an agent in
> the VM to flush file-system cache out to the disk?
I'd expect either a livesnapshot before, or doing this on a VM which is
down.
>
>> GetUnregisteredImagesQuery will be accessible through the disks
>> resource collection on a storage domain. A “disks” resource collection
>> does not yet exist and will need to be added. To access the
>> unregistered images, a parameter (maybe “unregistered=true”) would be
>> passed. So the path to “GET” the unregistered disk images on a domain
>> would be something like
>> /api/storagedomains/f0dbcb33-69d3-4899-9352-8e8a02f01bbd/disks?unregistered=true.
>> This will return a list of disk images that can be each used as input
>> to the ImportImageCommand to get them added to oVirt.
>>
>> ImportImageCommand will be accessible through “POST”ing a disk to
>> /api/disks?import=true. The disk will be added to the oVirt DB based
>> on the information supplied and afterward would be available to attach
>> to a VM.
>>
>> When querying for unregistered disk images, the
>> GetUnregisteredImagesQuery command will use the getImagesList() VDSM
>> command. Currently this only reports the GUIDs of all disk images in a
>> domain. I had been using the getVolumesList() and getVolumeInfo() VDSM
>> commands to fill in the information so that valid disk image objects
>> could be registered in oVirt. It seems these two functions are set to
>> be removed since they are too invasive into the internal VDSM
>> workings. The VDSM team will need to either return more information
>> about each disk as part of the getImagesList() function or add a new
>> function getImageInfo() that will give the same information for a
>> given image GUID.
>>
>
> Here is the project proposal for floating disk in oVirt. I think
> unregistered images are also floating disks.
> http://www.ovirt.org/Features/DetailedFloatingDisk
floating disks are disks the engine is aware of, but not associated to
any VM.
the scan domain feature is to add "orphan" disks - disks on the storage
the engine isn't aware of to begin with.
More information about the Engine-devel
mailing list