[openstack-dev] [nova] Boot from volume 's instance of rebuild operation

Mathieu Gagné mgagne at calavera.ca
Thu Dec 7 02:27:46 UTC 2017

On Wed, Dec 6, 2017 at 9:13 PM, Jaze Lee <jazeltq at gmail.com> wrote:
> 2017-12-07 7:12 GMT+08:00 Matt Riedemann <mriedemos at gmail.com>:
>> On 12/6/2017 2:11 AM, 李杰 wrote:
>>> Hi,all
>>>         Now the boot from volume 's instance of rebuild operation has a
>>> problem.For example,after the rebuild operation,the instance 's root disk is
>>> not replace.
>>> I found the reason is that when we use the "_build_resources" function to
>>> prepare source,it obtains the block devices according to the previous
>>> instance 's uuid and attaches them to instance.So boot from volume 's
>>> instance of rebuild operation doesn't update data.
>>>         To solve it,I plan to use CLI 's "metadata" option,to increase a
>>> key name "source_type".The "source_type" includes "snapshot" and "image".We
>>> can judge from "source_type".If the "source_type" is "snapshot",we can
>>> transform the given snapshot to a volume and attach this volume to
>>> instance.If the "source_type" is "image",we don't handle it.
>>>         Can you give me some advice?Help in troubleshooting this issue
>>> will be appreciated.
>> See: https://review.openstack.org/#/c/520660/
>> We just started disallowing rebuilding a volume-backed instance where the
>> image changes during the rebuild. We don't support it in the compute
>> service, as you've found out, so we're going to make it a fast failure in
>> the API.
> Well, are there some reasons for you want to disallowing rebuilding a
> volume-backend instance.
> Just give the the review is not a convincing answer.

Rebuilding a volume-backed instance never worked. While the API
currently accepts your request, nothing will happen. The instance
won't be rebuilt as expected.

There had been a couple of proposals/changes to add support:
* https://review.openstack.org/#/c/442295/
* https://review.openstack.org/#/c/305079/

But technical challenges have been uncovered, making it harder to
implement a proper solution.

The change [1] linked by Matt Riedemann proposes failing rapidly so
the user isn't under the false impression that a rebuild is being
performed when in fact, nothing will happen.

I do agree that being able to rebuild a volume-backed instance would
be a great addition. We have been offering volume-backed instance for
more than 4 years and our users love it.
But for now, rebuild just doesn't work at all. It's better to send the
right message through the API by failing fast.

[1] https://review.openstack.org/#/c/520660/


More information about the OpenStack-dev mailing list