During unshelve, instance is spawn with image created by shelve
and is deleted just after, instance.image_ref still point
to the original instance build image.
In qcow2 environment, this is an issue because instance backing file
don't match anymore instance.image_ref and during live-migration/resize,
target host will fetch image corresponding to instance.image_ref
involving instance corruption.
This change fetches original image and rebase instance disk on it.
This avoid image_ref mismatch and bring back storage benefit to keep common
image in cache.
If original image is no more available in glance, backing file is merged into
disk(flatten), ensuring instance integrity during next live-migration/resize
operation.
Reviewed: https:/ /review. opendev. org/696084 /git.openstack. org/cgit/ openstack/ nova/commit/ ?id=8953a689467 f8c3e9960863922 51de67953a45ba
Committed: https:/
Submitter: Zuul
Branch: master
commit 8953a689467f8c3 e996086392251de 67953a45ba
Author: Alexandre Arents <email address hidden>
Date: Tue Nov 26 10:26:32 2019 +0000
Rebase qcow2 images when unshelving an instance
During unshelve, instance is spawn with image created by shelve
and is deleted just after, instance.image_ref still point
to the original instance build image.
In qcow2 environment, this is an issue because instance backing file resize,
don't match anymore instance.image_ref and during live-migration/
target host will fetch image corresponding to instance.image_ref
involving instance corruption.
This change fetches original image and rebase instance disk on it.
This avoid image_ref mismatch and bring back storage benefit to keep common
image in cache.
If original image is no more available in glance, backing file is merged into resize
disk(flatten), ensuring instance integrity during next live-migration/
operation.
Change-Id: I1a33fadf0b7439 cf06c06cba2bc06 df6cef0945b
Closes-Bug: #1732428