diff options
-rw-r--r-- | glance_store/_drivers/cinder/base.py | 3 | ||||
-rw-r--r-- | glance_store/tests/unit/cinder/test_base.py | 2 | ||||
-rw-r--r-- | glance_store/tests/unit/cinder/test_cinder_base.py | 2 | ||||
-rw-r--r-- | releasenotes/notes/bug-2004555-4fd67fce86c07461.yaml | 11 |
4 files changed, 15 insertions, 3 deletions
diff --git a/glance_store/_drivers/cinder/base.py b/glance_store/_drivers/cinder/base.py index 20fb897..26d83f6 100644 --- a/glance_store/_drivers/cinder/base.py +++ b/glance_store/_drivers/cinder/base.py @@ -50,7 +50,8 @@ class BaseBrickConnectorInterface(object): return device def disconnect_volume(self, device): - self.conn.disconnect_volume(self.connection_info, device) + # Bug #2004555: use force so there aren't any leftovers + self.conn.disconnect_volume(self.connection_info, device, force=True) def extend_volume(self): self.conn.extend_volume(self.connection_info) diff --git a/glance_store/tests/unit/cinder/test_base.py b/glance_store/tests/unit/cinder/test_base.py index 488cf1a..7c0add5 100644 --- a/glance_store/tests/unit/cinder/test_base.py +++ b/glance_store/tests/unit/cinder/test_base.py @@ -102,7 +102,7 @@ class TestBaseBrickConnectorInterface(test_base.StoreBaseTest): self.mock_object(self.connector.conn, 'disconnect_volume') self.connector.disconnect_volume(fake_device) self.connector.conn.disconnect_volume.assert_called_once_with( - self.connection_info, fake_device) + self.connection_info, fake_device, force=True) def test_extend_volume(self): self.mock_object(self.connector.conn, 'extend_volume') diff --git a/glance_store/tests/unit/cinder/test_cinder_base.py b/glance_store/tests/unit/cinder/test_cinder_base.py index 922b161..3269de1 100644 --- a/glance_store/tests/unit/cinder/test_cinder_base.py +++ b/glance_store/tests/unit/cinder/test_cinder_base.py @@ -328,7 +328,7 @@ class TestCinderStoreBase(object): fake_connector.connect_volume.assert_called_once_with( mock.ANY) fake_connector.disconnect_volume.assert_called_once_with( - mock.ANY, fake_devinfo) + mock.ANY, fake_devinfo, force=True) fake_conn_obj.assert_called_once_with( mock.ANY, root_helper, conn=mock.ANY, use_multipath=multipath_supported) diff --git a/releasenotes/notes/bug-2004555-4fd67fce86c07461.yaml b/releasenotes/notes/bug-2004555-4fd67fce86c07461.yaml new file mode 100644 index 0000000..8d982c6 --- /dev/null +++ b/releasenotes/notes/bug-2004555-4fd67fce86c07461.yaml @@ -0,0 +1,11 @@ +security: + - | + Cinder glance_store driver: in order to avoid a situation where a + leftover device could be mapped to a different volume than the one + intended, the cinder glance_store driver now instructs the os-brick + library to force detach volumes, which ensures that devices are + removed from the host. + + See `Bug #2004555 + <https://bugs.launchpad.net/glance-store/+bug/2004555>`_ for more + information about this issue. |