nova/nova/virt
rsritesh e93bc57a73 libvirt: flatten rbd images when unshelving an instance
Previously attempts to remove the shelved snapshot of an unshelved
instance when using the rbd backends for both Nova and Glance would
fail. This was due to the instance disk being cloned from and still
referencing the shelved snapshot image in Glance, blocking any attempt
to remove this image later in the unshelve process.

After much debate this change attempts to fix this issue by flattening
the instance disk while the instance is being spawned as part of an
unshelve. For the rbd imagebackend this removes any reference to the
shelved snapshot in Glance allowing this image to be removed. For all
other imagebackends the call to flatten the image is currently a no-op.

Co-Authored-By: Lee Yarwood <lyarwood@redhat.com>
Co-Authored-By: Vladyslav Drok <vdrok@mirantis.com>

Closes-Bug: #1653953
Change-Id: If3c9d1de3ce0fe394405bd1e1f0fa08ce2baeda8
(cherry picked from commit d89e7d7857)
(cherry picked from commit e802ede4b3)
2019-06-28 10:07:59 +01:00
..
disk libvirt: Reduce calls to qemu-img during update_available_resource 2018-08-08 15:22:44 +01:00
hyperv ironic: check fresh data when sync_power_state doesn't line up 2019-03-04 14:24:30 +00:00
image libvirt: virtuozzo instance resize support 2016-06-28 22:13:49 +03:00
ironic [ironic] Don't remove instance info twice in destroy 2019-06-11 20:46:22 +00:00
libvirt libvirt: flatten rbd images when unshelving an instance 2019-06-28 10:07:59 +01:00
powervm ironic: check fresh data when sync_power_state doesn't line up 2019-03-04 14:24:30 +00:00
vmwareapi ironic: check fresh data when sync_power_state doesn't line up 2019-03-04 14:24:30 +00:00
xenapi xenapi/agent: Change openssl error handling 2019-04-30 08:40:53 -04:00
zvm ironic: check fresh data when sync_power_state doesn't line up 2019-03-04 14:24:30 +00:00
__init__.py Declare nova.virt namespace 2016-04-28 15:01:44 +00:00
arch.py Added ability to configure default architecture for ImagePropertiesFilter 2018-05-14 16:55:13 -04:00
block_device.py Override the 'get' method in DriverBlockDevice class 2019-03-26 12:13:56 +09:00
configdrive.py Convert configdrive to use processutils. 2018-05-02 21:42:05 +10:00
driver.py ironic: check fresh data when sync_power_state doesn't line up 2019-03-04 14:24:30 +00:00
event.py Port binding based on events during live migration 2018-07-19 09:09:55 -04:00
fake.py Do not persist RequestSpec.ignore_hosts 2019-04-02 09:36:10 -04:00
firewall.py Merge "Remove translation of log messages" 2017-06-20 21:16:49 +00:00
hardware.py Fix overcommit for NUMA-based instances 2019-01-25 12:57:49 +00:00
imagecache.py Rename ImageCacheManager._list_base_images to _scan_base_images 2016-05-26 14:45:42 +01:00
images.py Implement certificate_utils 2018-06-12 14:44:32 -04:00
interfaces.template
netutils.py libvirt: add vf_trusted field for network metadata 2018-05-30 15:11:59 -04:00
osinfo.py Remove translation of log messages 2017-06-13 11:20:28 +07:00
storage_users.py Remove translation of log messages 2017-06-13 11:20:28 +07:00
virtapi.py Remove unused provider firewall rules functionality in nova 2016-02-01 15:50:04 +01:00