[openstack-dev] [nova] Booting from volume interface improvements

Eoghan Glynn eglynn at redhat.com
Wed Nov 28 21:50:40 UTC 2012


Thanks Nikola for taking the feedback under consideration.

If anyone else has opinions on the matter, especially those
involved with the summit session on improving the boot-from-
volume UX, that would be great to hear too.

> Even though currently every instance has an image associated
> and it is needed for 'boot' command, it does not make sense in
> all scenarios.  For example, if we create a volume using a
> builder instance as outlined in (for example) [1] this image
> ref is quite useless (and would therefore be noise in any
> reports that would consider it as a basic dimension). To make
> matters worse (at least in case of libvirt as a driver),
> current libvirt.driver code tries to create a libvirt image out
> of a totally useless image on the compute node - quite wasteful
> in terms of resources, although we could put checks in place
> for that, but that leads to my point.

Exactly, so the idea would be to deprecate the old approach using 
that tenuously connected image and instead always boot from a
"placeholder" image.

> All of the above tells me that the invariant is actually held
> artificially.

Yes, you're correct in the case of the "traditional" approach
to boot-from-volume. I'm not sure that the image ID was even
required in that case to maintain consistency of the idiom,
rather it seems more like a lazy way to ensure the kernel and
ramdisk IDs are always available if needed.

> If we will want to do booting from volume right - even
> using "your" way - we will likely have code checking weather it
> is indeed an instance booted from volume or not. 

Yeah, we already have that:

  https://github.com/openstack/nova/blob/master/nova/compute/api.py#L2090

used a couple of places where the instance snapshot'ing codepath
branches depending on whether the instance is booted from volume
or not.

> Further to that I believe that having --volume as a parameter
> when booting an instance using the nova client fits better with
> the current UI.

Possibly, though I'm not sure the UI should drive the API design.
(And in any case, the UI could always create a placeholder image
underneath the hood and boot from that.) 

> It is good that we are having this discussion now, because if
> my patch lands, the invariant is definitely defeated, however I
> honestly feel that this ship has sailed already (even if not
> officially).

You could be right there, but in any case good to air the
discussion, and hopefully scare up a couple more view-points.

Cheers,
Eoghan



More information about the OpenStack-dev mailing list