Merge "Improve CinderFixtureNewAttachFlow" into stable/rocky
This commit is contained in:
commit
06827a36ae
|
@ -32,6 +32,7 @@ import mock
|
||||||
from neutronclient.common import exceptions as neutron_client_exc
|
from neutronclient.common import exceptions as neutron_client_exc
|
||||||
from oslo_concurrency import lockutils
|
from oslo_concurrency import lockutils
|
||||||
from oslo_config import cfg
|
from oslo_config import cfg
|
||||||
|
from oslo_log import log as logging
|
||||||
import oslo_messaging as messaging
|
import oslo_messaging as messaging
|
||||||
from oslo_messaging import conffixture as messaging_conffixture
|
from oslo_messaging import conffixture as messaging_conffixture
|
||||||
from oslo_privsep import daemon as privsep_daemon
|
from oslo_privsep import daemon as privsep_daemon
|
||||||
|
@ -65,6 +66,8 @@ CONF = cfg.CONF
|
||||||
DB_SCHEMA = {'main': "", 'api': "", 'placement': ""}
|
DB_SCHEMA = {'main': "", 'api': "", 'placement': ""}
|
||||||
SESSION_CONFIGURED = False
|
SESSION_CONFIGURED = False
|
||||||
|
|
||||||
|
LOG = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
class ServiceFixture(fixtures.Fixture):
|
class ServiceFixture(fixtures.Fixture):
|
||||||
"""Run a service as a test fixture."""
|
"""Run a service as a test fixture."""
|
||||||
|
@ -1717,18 +1720,26 @@ class CinderFixtureNewAttachFlow(fixtures.Fixture):
|
||||||
attachment = {'id': attachment_id, 'connection_info': {'data': {}}}
|
attachment = {'id': attachment_id, 'connection_info': {'data': {}}}
|
||||||
self.volume_to_attachment[volume_id].append(
|
self.volume_to_attachment[volume_id].append(
|
||||||
(attachment_id, instance_uuid))
|
(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
|
return attachment
|
||||||
|
|
||||||
def fake_attachment_delete(_self, context, attachment_id):
|
def fake_attachment_delete(_self, context, attachment_id):
|
||||||
# 'attachment' is a tuple defining a attachment-instance mapping
|
# '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)
|
attachments.remove(attachment)
|
||||||
|
LOG.info('Deleted attachment %s for volume %s. Total attachments '
|
||||||
|
'for volume: %d', attachment_id, volume_id,
|
||||||
|
len(attachments))
|
||||||
|
|
||||||
def fake_attachment_update(_self, context, attachment_id, connector,
|
def fake_attachment_update(_self, context, attachment_id, connector,
|
||||||
mountpoint=None):
|
mountpoint=None):
|
||||||
# Ensure the attachment exists
|
# Ensure the attachment exists
|
||||||
_find_attachment(attachment_id)
|
_find_attachment(attachment_id)
|
||||||
|
LOG.info('Updating volume attachment: %s', attachment_id)
|
||||||
attachment_ref = {'driver_volume_type': 'fake_type',
|
attachment_ref = {'driver_volume_type': 'fake_type',
|
||||||
'id': attachment_id,
|
'id': attachment_id,
|
||||||
'connection_info': {'data':
|
'connection_info': {'data':
|
||||||
|
@ -1750,6 +1761,11 @@ class CinderFixtureNewAttachFlow(fixtures.Fixture):
|
||||||
'target_lun': '1'}}}
|
'target_lun': '1'}}}
|
||||||
return attachment_ref
|
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',
|
self.test.stub_out('nova.volume.cinder.API.attachment_create',
|
||||||
fake_attachment_create)
|
fake_attachment_create)
|
||||||
self.test.stub_out('nova.volume.cinder.API.attachment_delete',
|
self.test.stub_out('nova.volume.cinder.API.attachment_delete',
|
||||||
|
@ -1757,7 +1773,7 @@ class CinderFixtureNewAttachFlow(fixtures.Fixture):
|
||||||
self.test.stub_out('nova.volume.cinder.API.attachment_update',
|
self.test.stub_out('nova.volume.cinder.API.attachment_update',
|
||||||
fake_attachment_update)
|
fake_attachment_update)
|
||||||
self.test.stub_out('nova.volume.cinder.API.attachment_complete',
|
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',
|
self.test.stub_out('nova.volume.cinder.API.attachment_get',
|
||||||
fake_attachment_get)
|
fake_attachment_get)
|
||||||
self.test.stub_out('nova.volume.cinder.API.begin_detaching',
|
self.test.stub_out('nova.volume.cinder.API.begin_detaching',
|
||||||
|
@ -1770,7 +1786,7 @@ class CinderFixtureNewAttachFlow(fixtures.Fixture):
|
||||||
self.test.stub_out('nova.volume.cinder.API.roll_detaching',
|
self.test.stub_out('nova.volume.cinder.API.roll_detaching',
|
||||||
lambda *args, **kwargs: None)
|
lambda *args, **kwargs: None)
|
||||||
self.test.stub_out('nova.volume.cinder.is_microversion_supported',
|
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',
|
self.test.stub_out('nova.volume.cinder.API.check_attached',
|
||||||
lambda *args, **kwargs: None)
|
lambda *args, **kwargs: None)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue