Use addCleanup to detach volume instead of explicit detach

Cinder volume delete [1] is executed during resource cleanup.
So, if test fails due to some reason then it tries to delete a volume
which is "in-use" state. Detach volume should be executed before
trying to delete the volume. This patch adds nova_detach volume
as a cleanup task.

[1] a6d945d8e6/barbican_tempest_plugin/tests/scenario/manager.py (L229)

Change-Id: I3457bb6fc22a7bb6a32c8d6f4ea5879aeb8d43c5
Related-Bug: #1755485
This commit is contained in:
yatin 2018-03-27 14:49:36 +05:30
parent a6d945d8e6
commit 5ddcc7eefa
2 changed files with 2 additions and 4 deletions

View File

@ -333,6 +333,7 @@ class ScenarioTest(manager.NetworkScenarioTest):
waiters.wait_for_volume_resource_status(self.volumes_client,
volume['id'], 'in-use')
self.addCleanup(self.nova_volume_detach, server, volume)
# Return the updated volume after the attachment
return self.volumes_client.show_volume(volume['id'])['volume']

View File

@ -56,7 +56,7 @@ class VolumeEncryptionTest(barbican_manager.BarbicanScenarioTest):
def attach_detach_volume(self, server, volume, keypair):
# Attach volume
attached_volume = self.nova_volume_attach(server, volume)
self.nova_volume_attach(server, volume)
# Write a timestamp to volume
server_ip = self.get_server_ip(server)
@ -72,9 +72,6 @@ class VolumeEncryptionTest(barbican_manager.BarbicanScenarioTest):
)
self.assertEqual(timestamp, timestamp2)
# Detach volume
self.nova_volume_detach(server, attached_volume)
@decorators.idempotent_id('89165fb4-5534-4b9d-8429-97ccffb8f86f')
@utils.services('compute', 'volume', 'image')
def test_encrypted_cinder_volumes_luks(self):