Merge "Move make_initiator_target_all2all_map out of vutils"
This commit is contained in:
commit
098d0c2317
|
@ -1083,19 +1083,6 @@ class VolumeUtilsTestCase(test.TestCase):
|
||||||
else:
|
else:
|
||||||
self.assertEqual(float(max_over_subscription_ratio), mosr)
|
self.assertEqual(float(max_over_subscription_ratio), mosr)
|
||||||
|
|
||||||
def test_make_initiator_target_all2all_map(self):
|
|
||||||
initiator_wwpns = ['ff00000000000000', 'ff00000000000001']
|
|
||||||
target_wwpns = ['bb00000000000000', 'bb00000000000001']
|
|
||||||
|
|
||||||
expected = {
|
|
||||||
'ff00000000000000': ['bb00000000000000', 'bb00000000000001'],
|
|
||||||
'ff00000000000001': ['bb00000000000000', 'bb00000000000001']
|
|
||||||
}
|
|
||||||
|
|
||||||
ret = volume_utils.make_initiator_target_all2all_map(initiator_wwpns,
|
|
||||||
target_wwpns)
|
|
||||||
self.assertEqual(ret, expected)
|
|
||||||
|
|
||||||
def test_check_image_metadata(self):
|
def test_check_image_metadata(self):
|
||||||
image_meta = {'id': 1, 'min_disk': 3, 'status': 'active',
|
image_meta = {'id': 1, 'min_disk': 3, 'status': 'active',
|
||||||
'size': 1 * units.Gi}
|
'size': 1 * units.Gi}
|
||||||
|
|
|
@ -594,3 +594,16 @@ class InStorageMCSFcDriverTestCase(test.TestCase):
|
||||||
volume = self._generate_vol_info(None, None)
|
volume = self._generate_vol_info(None, None)
|
||||||
self.fc_driver.create_volume(volume)
|
self.fc_driver.create_volume(volume)
|
||||||
self.fc_driver.add_vdisk_copy(volume['name'], 'fake-pool', None)
|
self.fc_driver.add_vdisk_copy(volume['name'], 'fake-pool', None)
|
||||||
|
|
||||||
|
def test_make_initiator_target_all2all_map(self):
|
||||||
|
initiator_wwpns = ['ff00000000000000', 'ff00000000000001']
|
||||||
|
target_wwpns = ['bb00000000000000', 'bb00000000000001']
|
||||||
|
|
||||||
|
expected = {
|
||||||
|
'ff00000000000000': ['bb00000000000000', 'bb00000000000001'],
|
||||||
|
'ff00000000000001': ['bb00000000000000', 'bb00000000000001']
|
||||||
|
}
|
||||||
|
|
||||||
|
ret = self.fc_driver.make_initiator_target_all2all_map(initiator_wwpns,
|
||||||
|
target_wwpns)
|
||||||
|
self.assertEqual(ret, expected)
|
||||||
|
|
|
@ -28,7 +28,6 @@ from cinder import interface
|
||||||
from cinder import utils as cinder_utils
|
from cinder import utils as cinder_utils
|
||||||
from cinder.volume import driver
|
from cinder.volume import driver
|
||||||
from cinder.volume.drivers.inspur.instorage import instorage_common
|
from cinder.volume.drivers.inspur.instorage import instorage_common
|
||||||
from cinder.volume import volume_utils
|
|
||||||
from cinder.zonemanager import utils as fczm_utils
|
from cinder.zonemanager import utils as fczm_utils
|
||||||
|
|
||||||
LOG = logging.getLogger(__name__)
|
LOG = logging.getLogger(__name__)
|
||||||
|
@ -57,6 +56,17 @@ class InStorageMCSFCDriver(instorage_common.InStorageMCSCommonDriver,
|
||||||
super(InStorageMCSFCDriver, self).__init__(*args, **kwargs)
|
super(InStorageMCSFCDriver, self).__init__(*args, **kwargs)
|
||||||
self.protocol = 'FC'
|
self.protocol = 'FC'
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def make_initiator_target_all2all_map(initiator_wwpns, target_wwpns):
|
||||||
|
"""Build a simplistic all-to-all mapping."""
|
||||||
|
i_t_map = {}
|
||||||
|
for i_wwpn in initiator_wwpns:
|
||||||
|
i_t_map[str(i_wwpn)] = []
|
||||||
|
for t_wwpn in target_wwpns:
|
||||||
|
i_t_map[i_wwpn].append(t_wwpn)
|
||||||
|
|
||||||
|
return i_t_map
|
||||||
|
|
||||||
@cinder_utils.trace
|
@cinder_utils.trace
|
||||||
@coordination.synchronized('instorage-host'
|
@coordination.synchronized('instorage-host'
|
||||||
'{self._state[system_id]}'
|
'{self._state[system_id]}'
|
||||||
|
@ -141,7 +151,7 @@ class InStorageMCSFCDriver(instorage_common.InStorageMCSCommonDriver,
|
||||||
|
|
||||||
properties['target_wwn'] = conn_wwpns
|
properties['target_wwn'] = conn_wwpns
|
||||||
|
|
||||||
i_t_map = volume_utils.make_initiator_target_all2all_map(
|
i_t_map = self.make_initiator_target_all2all_map(
|
||||||
connector['wwpns'], conn_wwpns)
|
connector['wwpns'], conn_wwpns)
|
||||||
properties['initiator_target_map'] = i_t_map
|
properties['initiator_target_map'] = i_t_map
|
||||||
|
|
||||||
|
@ -224,7 +234,7 @@ class InStorageMCSFCDriver(instorage_common.InStorageMCSCommonDriver,
|
||||||
for node in self._state['storage_nodes'].values():
|
for node in self._state['storage_nodes'].values():
|
||||||
target_wwpns.extend(node['WWPN'])
|
target_wwpns.extend(node['WWPN'])
|
||||||
init_targ_map = (
|
init_targ_map = (
|
||||||
volume_utils.make_initiator_target_all2all_map(
|
self.make_initiator_target_all2all_map(
|
||||||
connector['wwpns'],
|
connector['wwpns'],
|
||||||
target_wwpns))
|
target_wwpns))
|
||||||
info['data'] = {'initiator_target_map': init_targ_map}
|
info['data'] = {'initiator_target_map': init_targ_map}
|
||||||
|
|
|
@ -1047,17 +1047,6 @@ def get_max_over_subscription_ratio(str_value, supports_auto=False):
|
||||||
return mosr
|
return mosr
|
||||||
|
|
||||||
|
|
||||||
def make_initiator_target_all2all_map(initiator_wwpns, target_wwpns):
|
|
||||||
"""Build a simplistic all-to-all mapping."""
|
|
||||||
i_t_map = {}
|
|
||||||
for i_wwpn in initiator_wwpns:
|
|
||||||
i_t_map[str(i_wwpn)] = []
|
|
||||||
for t_wwpn in target_wwpns:
|
|
||||||
i_t_map[i_wwpn].append(t_wwpn)
|
|
||||||
|
|
||||||
return i_t_map
|
|
||||||
|
|
||||||
|
|
||||||
def check_image_metadata(image_meta, vol_size):
|
def check_image_metadata(image_meta, vol_size):
|
||||||
"""Validates the image metadata."""
|
"""Validates the image metadata."""
|
||||||
# Check whether image is active
|
# Check whether image is active
|
||||||
|
|
Loading…
Reference in New Issue