git.net

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[nova][cinder] Volume-backed instance disks and some operations that do not support those yet


On 11/11/2019 10:06 AM, Peter Penchev wrote:
> There seem to still be some quirks with Nova and volume-backed instance 
> disks; some actions on instances are not allowed, others produce 
> somewhat weird results. From a quick look at the code it seems to me 
> that currently these are:
> - taking a snapshot of an instance (produces a zero-sized file, no real 
> data backed up)

Volume-backed instance snapshot is supported [1]. It creates a volume 
snapshot in cinder and then links that to the glance image via metadata. 
If you boot a server from that image snapshot it's boot-from-volume 
under the covers, what is sometimes referred to as an image-defined 
block device mapping. Tempest also has a scenario test for this [2].

> - backing an instance up (refuses outright)

Yeah not supported and not really necessary to support. The createBackup 
API is essentially frozen since it's just orchestration over the 
existing createImage API and could all be done via external tooling so 
it's not really a priority to make that a more feature rich API. We've 
even talked about deprecating createBackup just to get people to stop 
using it.

> - rescuing an instance (refuses outright)

Yeah, not supported, but there have been specs [3][4].

> ...and maybe there are some that I've missed.

Rebuilding a volume-backed server is another big one. There was actually 
agreement on how to do this between nova and cinder [5][6], the cinder 
implementation was code up and being reviewed, but the nova side lagged 
and was eventually abandoned. So that could be picked up again if 
someone was willing to invest the time in it.

[1] https://github.com/openstack/nova/blob/20.0.0/nova/compute/api.py#L3031
[2] 
https://github.com/openstack/tempest/blob/22.1.0/tempest/scenario/test_volume_boot_pattern.py#L210
[3] https://review.opendev.org/#/c/651151/
[4] https://review.opendev.org/#/c/532410/
[5] 
https://specs.openstack.org/openstack/nova-specs/specs/stein/approved/volume-backed-server-rebuild.html
[6] https://blueprints.launchpad.net/cinder/+spec/add-volume-re-image-api

-- 

Thanks,

Matt