[ovirt-devel] [vdsm] VM volume chain information in getVMList API
Dan Kenigsberg
danken at redhat.com
Tue May 27 13:23:45 UTC 2014
On Thu, May 22, 2014 at 01:42:55PM -0400, Federico Simoncelli wrote:
> ----- Original Message -----
> > From: "Adam Litke" <alitke at redhat.com>
> > To: "Dan Kenigsberg" <danken at redhat.com>
> > Cc: devel at ovirt.org, "Federico Simoncelli" <fsimonce at redhat.com>, "Greg Padgett" <gpadgett at redhat.com>
> > Sent: Thursday, May 22, 2014 6:37:31 PM
> > Subject: [vdsm] VM volume chain information in getVMList API
> >
> > For Live Merge, engine needs a way to get a list of volume UUIDs that
> > comprise the volume chain for a given VM disk. Initially, we created
> > a new verb getVolumeChain(vm, driveSpec) that would return a list of
> > VM uuids. In the interest of preventing API bloat I would prefer to
> > use the 'volumeChain' list in VmDiskDevice which is retrieved from the
> > getVMList public API.
> >
> > Federico mentioned that this info may have been exposed by accident at
> > one point and I agree that things like volume paths should not be
> > used and should possibly be removed from this structure. That being
> > said, we have a real use case for using the volume UUIDs and that
> > should be quite safe.
> >
> > Do you agree with my assessment or should I continue with the
> > getVolumeChain verb which does nothing more than:
> >
> > return [x['volumeID'] for x in vmDrive['volumeChain']]
>
> It makes sense for me. +1, Dan?
Francesco, you cannot answer with +1 to an question with an exclusive or
;-)
I prefer to add an API call. getVMList should have returned only the
data required to recreate the VM.
I do not know whether Engine already uses volumeChain; browsing through
the vdsm side of git log, may suggest that exposing it was indeed
unintentional. Having a well-defined verb is better than our current
tendency of peppering possibly-stale data in vm.conf.
Dan.
More information about the Devel
mailing list