Pass multipath config while creating connector object
Currently we only pass the configured multipath option when getting the connector properties and do not pass it when creating the connector object which in turn does the multipathing in os-brick. So we are only passing multipathing option to cinder for exporting & mapping the volume to paths but not while creating the connector object and hence doing multipathing partially. This patch passes that option and fixes the stated issue. Related-Bug: #1863983 Co-Authored-By: Gorka Eguileor <geguileo@redhat.com> Change-Id: I82979c47ec9ec1dd6cc864d3827ab219177251f8 (cherry picked from commit04e5ead7c0
) (cherry picked from commit9bb857097e
)
This commit is contained in:
parent
ff8df6dc0e
commit
e43a56fb9b
|
@ -640,7 +640,7 @@ class Store(glance_store.driver.Store):
|
|||
connection_info = volume.initialize_connection(volume, properties)
|
||||
conn = connector.InitiatorConnector.factory(
|
||||
connection_info['driver_volume_type'], root_helper,
|
||||
conn=connection_info)
|
||||
conn=connection_info, use_multipath=use_multipath)
|
||||
if connection_info['driver_volume_type'] == 'nfs':
|
||||
if volume.encrypted:
|
||||
volume.unreserve(volume)
|
||||
|
|
|
@ -188,7 +188,7 @@ class TestCinderStore(base.StoreBaseTest,
|
|||
mock.patch.object(cinder.Store, 'get_root_helper',
|
||||
return_value=root_helper), \
|
||||
mock.patch.object(connector.InitiatorConnector, 'factory',
|
||||
side_effect=fake_factory):
|
||||
side_effect=fake_factory) as fake_conn_obj:
|
||||
|
||||
with mock.patch.object(connector,
|
||||
'get_connector_properties') as mock_conn:
|
||||
|
@ -223,6 +223,9 @@ class TestCinderStore(base.StoreBaseTest,
|
|||
None, 'glance_store', attach_mode,
|
||||
host_name=socket.gethostname())
|
||||
fake_volumes.detach.assert_called_once_with(fake_volume)
|
||||
fake_conn_obj.assert_called_once_with(
|
||||
mock.ANY, root_helper, conn=mock.ANY,
|
||||
use_multipath=multipath_supported)
|
||||
|
||||
def test_open_cinder_volume_rw(self):
|
||||
self._test_open_cinder_volume('wb', 'rw', None)
|
||||
|
|
|
@ -219,7 +219,7 @@ class TestMultiCinderStore(base.MultiStoreBaseTest,
|
|||
mock.patch.object(cinder.Store, 'get_root_helper',
|
||||
return_value=root_helper), \
|
||||
mock.patch.object(connector.InitiatorConnector, 'factory',
|
||||
side_effect=fake_factory):
|
||||
side_effect=fake_factory) as fake_conn_obj:
|
||||
|
||||
with mock.patch.object(connector,
|
||||
'get_connector_properties') as mock_conn:
|
||||
|
@ -238,6 +238,9 @@ class TestMultiCinderStore(base.MultiStoreBaseTest,
|
|||
None, 'glance_store', attach_mode,
|
||||
host_name=socket.gethostname())
|
||||
fake_volumes.detach.assert_called_once_with(fake_volume)
|
||||
fake_conn_obj.assert_called_once_with(
|
||||
mock.ANY, root_helper, conn=mock.ANY,
|
||||
use_multipath=multipath_supported)
|
||||
|
||||
def test_open_cinder_volume_rw(self):
|
||||
self._test_open_cinder_volume('wb', 'rw', None)
|
||||
|
|
Loading…
Reference in New Issue