[nova][cinder] future of rebuild without reimaging

Sylvain Bauza sbauza at redhat.com
Wed Mar 15 18:28:58 UTC 2023


Le mer. 15 mars 2023 à 13:45, Bence Romsics <bence.romsics at gmail.com> a
écrit :

> Hi All!
>
> We have users who use 'rebuild' on volume booted servers before nova
> microversion 2.93, relying on the behavior that it keeps the volume as
> is. And they would like to keep doing this even after the openstack
> distro moves to a(n at least) zed base (sometime in the future).
>
> As a naive user, it seems to me both behaviors make sense. I can
> easily imagine use cases for rebuild with and without reimaging.
> However since the implementation of
>
> https://specs.openstack.org/openstack/nova-specs/specs/zed/implemented/volume-backed-server-rebuild.html
> rebuild without reimaging is only possible using an old microversion
> (<2.93). With that change merged, rebuild without reimaging seems to
> be a somewhat less than fully supported feature. A few examples of
> what I mean by that:
>
>
That's not really true : the new microversion just means we change the
default behaviour, but you can still opt into the previous behaviour by
requesting an older microversion.
That being said, I do understand your concerns, further below.


> First, there's this warning:
>
> https://opendev.org/openstack/python-openstackclient/src/commit/5eb89e4ca1cebad9245c27d58a0dafd7f363ece0/openstackclient/compute/v2/server.py#L3452-L3453
>
> In which it is unclear to me what exactly will become an error in a
> future release. Rebuild with a different image? Or any rebuild with
> microversion <2.93?
>
>
The latter (in theory) : if you opt into a microversion older or equal than
2.93, you shouldn't expect your volume to *not* be rebuilt.

Then old nova microversions may get dropped. Though what I heard from
> nova folks, this is unlikely to happen.
>
>
Correct, I never want to say never, but we don't have any plans in any
subsequent futures to bump the minimum versions, for many many reasons, not
only due to the tech debt but also and mainly because of the
interoperatibility we must guarantee.


> Then there are a few hypothetical situations like:
> a) Rebuild gets a new api feature (in a new microversion) which can
> never be combined with the do-not-reimage behavior.
> b) Rebuild may have a bug, whose fix requires a microversion bump.
> This again can never be combined with the old behavior.
>
> What do you think, are these concerns purely theoretical or real?
> If we would like to keep having rebuild without reimaging, can we rely
> on the old microversion indefinitely?
> Alternatively shall we propose and implement a nova spec to explicitly
> expose the choice in the rebuild api (just to express the idea: osc
> server rebuild --reimage|--no-reimage)?
>

I'm not opposed to challenge the usecases in a spec, for sure.


>
> If the topic is worth further discussion beyond the ML, I can also
> bring it to the nova ptg.
>

That's already the case. Add yourself to the courtesy ping list of that
topic.
https://etherpad.opendev.org/p/nova-bobcat-ptg#L152

-Sylvain


>
> Thanks in advance,
> Bence Romsics (rubasov)
>
> ps: I'll be afk for a few days, but I'll follow up next Tuesday.
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.openstack.org/pipermail/openstack-discuss/attachments/20230315/6acdff5b/attachment-0001.htm>


More information about the openstack-discuss mailing list