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