summaryrefslogtreecommitdiff
path: root/nova/virt/libvirt/volume/storpool.py
diff options
context:
space:
mode:
authormelanie witt <melwittt@gmail.com>2023-02-15 22:37:40 +0000
committerDan Smith <dansmith@redhat.com>2023-05-10 07:09:05 -0700
commitdb455548a12beac1153ce04eca5e728d7b773901 (patch)
tree076581e7ff37283eb046ca3d19d14246def6652f /nova/virt/libvirt/volume/storpool.py
parent105afb338b7dd25916fe601c2a226c2a552c44c7 (diff)
downloadnova-db455548a12beac1153ce04eca5e728d7b773901.tar.gz
Use force=True for os-brick disconnect during delete
The 'force' parameter of os-brick's disconnect_volume() method allows callers to ignore flushing errors and ensure that devices are being removed from the host. We should use force=True when we are going to delete an instance to avoid leaving leftover devices connected to the compute host which could then potentially be reused to map to volumes to an instance that should not have access to those volumes. We can use force=True even when disconnecting a volume that will not be deleted on termination because os-brick will always attempt to flush and disconnect gracefully before forcefully removing devices. Closes-Bug: #2004555 Change-Id: I3629b84d3255a8fe9d8a7cea8c6131d7c40899e8
Diffstat (limited to 'nova/virt/libvirt/volume/storpool.py')
-rw-r--r--nova/virt/libvirt/volume/storpool.py5
1 files changed, 3 insertions, 2 deletions
diff --git a/nova/virt/libvirt/volume/storpool.py b/nova/virt/libvirt/volume/storpool.py
index 0e71221f5b..e6dffca39a 100644
--- a/nova/virt/libvirt/volume/storpool.py
+++ b/nova/virt/libvirt/volume/storpool.py
@@ -47,10 +47,11 @@ class LibvirtStorPoolVolumeDriver(libvirt_volume.LibvirtVolumeDriver):
device_info, instance=instance)
connection_info['data']['device_path'] = device_info['path']
- def disconnect_volume(self, connection_info, instance):
+ def disconnect_volume(self, connection_info, instance, force=False):
LOG.debug("Detaching StorPool volume %s",
connection_info['data']['volume'], instance=instance)
- self.connector.disconnect_volume(connection_info['data'], None)
+ self.connector.disconnect_volume(
+ connection_info['data'], None, force=force)
LOG.debug("Detached StorPool volume", instance=instance)
def extend_volume(self, connection_info, instance, requested_size):