summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZuul <zuul@review.opendev.org>2020-10-06 18:32:43 +0000
committerGerrit Code Review <review@openstack.org>2020-10-06 18:32:44 +0000
commit6d302737246e71af71ad662a1746dd45e88da06f (patch)
treea900a7be0cee274b70b077599d7fe29bbdf9e872
parent606b951cbaad27c13e5834cc66c10f6e12f81511 (diff)
parent19a199fd1d33dc2d11398f9ed3f9d778f1df2e79 (diff)
downloadnova-6d302737246e71af71ad662a1746dd45e88da06f.tar.gz
Merge "Improve CinderFixtureNewAttachFlow" into stable/queens
-rw-r--r--nova/tests/fixtures.py22
1 files changed, 19 insertions, 3 deletions
diff --git a/nova/tests/fixtures.py b/nova/tests/fixtures.py
index 331b69eb87..a2cf95dbda 100644
--- a/nova/tests/fixtures.py
+++ b/nova/tests/fixtures.py
@@ -30,6 +30,7 @@ import mock
from neutronclient.common import exceptions as neutron_client_exc
from oslo_concurrency import lockutils
from oslo_config import cfg
+from oslo_log import log as logging
import oslo_messaging as messaging
from oslo_messaging import conffixture as messaging_conffixture
from oslo_privsep import daemon as privsep_daemon
@@ -62,6 +63,8 @@ CONF = cfg.CONF
DB_SCHEMA = {'main': "", 'api': ""}
SESSION_CONFIGURED = False
+LOG = logging.getLogger(__name__)
+
class ServiceFixture(fixtures.Fixture):
"""Run a service as a test fixture."""
@@ -1652,13 +1655,20 @@ class CinderFixtureNewAttachFlow(fixtures.Fixture):
attachment = {'id': attachment_id, 'connection_info': {'data': {}}}
self.volume_to_attachment[volume_id].append(
(attachment_id, instance_uuid))
+ LOG.info('Created attachment %s for volume %s. Total '
+ 'attachments for volume: %d', attachment_id, volume_id,
+ len(self.volume_to_attachment[volume_id]))
return attachment
def fake_attachment_delete(_self, context, attachment_id):
# 'attachment' is a tuple defining a attachment-instance mapping
- _, attachment, attachments = _find_attachment(attachment_id)
+ volume_id, attachment, attachments = (
+ _find_attachment(attachment_id))
attachments.remove(attachment)
+ LOG.info('Deleted attachment %s for volume %s. Total attachments '
+ 'for volume: %d', attachment_id, volume_id,
+ len(attachments))
if attachment_id == CinderFixtureNewAttachFlow.SWAP_ERR_ATTACH_ID:
self.swap_error = True
@@ -1667,6 +1677,7 @@ class CinderFixtureNewAttachFlow(fixtures.Fixture):
mountpoint=None):
# Ensure the attachment exists
_find_attachment(attachment_id)
+ LOG.info('Updating volume attachment: %s', attachment_id)
attachment_ref = {'driver_volume_type': 'fake_type',
'id': attachment_id,
'connection_info': {'data':
@@ -1686,6 +1697,11 @@ class CinderFixtureNewAttachFlow(fixtures.Fixture):
'target_lun': '1'}}}
return attachment_ref
+ def fake_attachment_complete(_self, _context, attachment_id):
+ # Ensure the attachment exists
+ _find_attachment(attachment_id)
+ LOG.info('Completing volume attachment: %s', attachment_id)
+
self.test.stub_out('nova.volume.cinder.API.attachment_create',
fake_attachment_create)
self.test.stub_out('nova.volume.cinder.API.attachment_delete',
@@ -1693,7 +1709,7 @@ class CinderFixtureNewAttachFlow(fixtures.Fixture):
self.test.stub_out('nova.volume.cinder.API.attachment_update',
fake_attachment_update)
self.test.stub_out('nova.volume.cinder.API.attachment_complete',
- lambda *args, **kwargs: None)
+ fake_attachment_complete)
self.test.stub_out('nova.volume.cinder.API.attachment_get',
fake_attachment_get)
self.test.stub_out('nova.volume.cinder.API.begin_detaching',
@@ -1706,7 +1722,7 @@ class CinderFixtureNewAttachFlow(fixtures.Fixture):
self.test.stub_out('nova.volume.cinder.API.roll_detaching',
lambda *args, **kwargs: None)
self.test.stub_out('nova.volume.cinder.is_microversion_supported',
- lambda *args, **kwargs: None)
+ lambda ctxt, microversion: None)
self.test.stub_out('nova.volume.cinder.API.check_attached',
lambda *args, **kwargs: None)