Merge "PowerMax Driver - Port load balancing fix"
This commit is contained in:
commit
4c2f2b460b
|
@ -114,9 +114,9 @@ class PowerMaxData(object):
|
||||||
'host': 'HostX'}
|
'host': 'HostX'}
|
||||||
|
|
||||||
fabric_name_prefix = 'fakeFabric'
|
fabric_name_prefix = 'fakeFabric'
|
||||||
end_point_map = {connector['wwpns'][0]: [wwnn1],
|
end_point_map = {connector['wwpns'][0]: [wwpn1],
|
||||||
connector['wwpns'][1]: [wwnn1]}
|
connector['wwpns'][1]: [wwpn1]}
|
||||||
target_wwns = [wwnn1]
|
target_wwns = [wwpn1]
|
||||||
target_wwns_multi = [wwnn1, wwnn2]
|
target_wwns_multi = [wwnn1, wwnn2]
|
||||||
zoning_mappings = {
|
zoning_mappings = {
|
||||||
'array': u'000197800123',
|
'array': u'000197800123',
|
||||||
|
@ -674,7 +674,7 @@ class PowerMaxData(object):
|
||||||
port_list = [
|
port_list = [
|
||||||
{'symmetrixPort': {'num_of_masking_views': 1,
|
{'symmetrixPort': {'num_of_masking_views': 1,
|
||||||
'maskingview': [masking_view_name_f],
|
'maskingview': [masking_view_name_f],
|
||||||
'identifier': wwnn1,
|
'identifier': wwpn1,
|
||||||
'symmetrixPortKey': {
|
'symmetrixPortKey': {
|
||||||
'directorId': 'FA-1D',
|
'directorId': 'FA-1D',
|
||||||
'portId': '4'},
|
'portId': '4'},
|
||||||
|
|
|
@ -1708,7 +1708,7 @@ class PowerMaxCommonTest(test.TestCase):
|
||||||
@mock.patch.object(common.PowerMaxCommon, '_get_replication_extra_specs',
|
@mock.patch.object(common.PowerMaxCommon, '_get_replication_extra_specs',
|
||||||
return_value=tpd.PowerMaxData.rep_extra_specs)
|
return_value=tpd.PowerMaxData.rep_extra_specs)
|
||||||
def test_get_target_wwns_from_masking_view(self, mock_rep_specs, mock_fo):
|
def test_get_target_wwns_from_masking_view(self, mock_rep_specs, mock_fo):
|
||||||
ref_wwns = [self.data.wwnn1]
|
ref_wwns = [self.data.wwpn1]
|
||||||
for x in range(0, 2):
|
for x in range(0, 2):
|
||||||
target_wwns = self.common._get_target_wwns_from_masking_view(
|
target_wwns = self.common._get_target_wwns_from_masking_view(
|
||||||
self.data.device_id, self.data.connector['host'],
|
self.data.device_id, self.data.connector['host'],
|
||||||
|
|
|
@ -212,13 +212,14 @@ class PowerMaxFCTest(test.TestCase):
|
||||||
return_value=(self.data.target_wwns_multi, [])):
|
return_value=(self.data.target_wwns_multi, [])):
|
||||||
targets, target_map = self.driver._build_initiator_target_map(
|
targets, target_map = self.driver._build_initiator_target_map(
|
||||||
self.data.test_volume, self.data.connector,
|
self.data.test_volume, self.data.connector,
|
||||||
device_info=self.data.iscsi_device_info)
|
device_info=self.data.fc_device_info)
|
||||||
self.assertEqual(1, len(target_map.get(init_a)))
|
self.assertEqual(1, len(target_map.get(init_a)))
|
||||||
self.assertEqual(1, len(target_map.get(init_b)))
|
self.assertEqual(1, len(target_map.get(init_b)))
|
||||||
self.assertTrue(
|
self.assertTrue(
|
||||||
len(target_map.get(init_a)) < len(self.data.target_wwns_multi))
|
len(target_map.get(init_a)) < len(self.data.target_wwns_multi))
|
||||||
self.assertTrue(
|
self.assertTrue(
|
||||||
len(target_map.get(init_b)) < len(self.data.target_wwns_multi))
|
len(target_map.get(init_b)) < len(self.data.target_wwns_multi))
|
||||||
|
self.assertEqual(self.data.wwpn1, targets[0])
|
||||||
|
|
||||||
def test_build_initiator_target_map_load_balanced_exception(self):
|
def test_build_initiator_target_map_load_balanced_exception(self):
|
||||||
ref_target_map = {'123456789012345': self.data.target_wwns_multi,
|
ref_target_map = {'123456789012345': self.data.target_wwns_multi,
|
||||||
|
|
|
@ -997,7 +997,7 @@ class PowerMaxRestTest(test.TestCase):
|
||||||
def test_get_target_wwns(self):
|
def test_get_target_wwns(self):
|
||||||
array = self.data.array
|
array = self.data.array
|
||||||
pg_name = self.data.port_group_name_f
|
pg_name = self.data.port_group_name_f
|
||||||
ref_wwns = [self.data.wwnn1]
|
ref_wwns = [self.data.wwpn1]
|
||||||
target_wwns = self.rest.get_target_wwns(array, pg_name)
|
target_wwns = self.rest.get_target_wwns(array, pg_name)
|
||||||
self.assertEqual(ref_wwns, target_wwns)
|
self.assertEqual(ref_wwns, target_wwns)
|
||||||
|
|
||||||
|
|
|
@ -496,7 +496,7 @@ class PowerMaxFCDriver(san.SanDriver, driver.FibreChannelDriver):
|
||||||
# Get target WWN
|
# Get target WWN
|
||||||
port_details = self.rest.get_port(array_id, port)
|
port_details = self.rest.get_port(array_id, port)
|
||||||
port_info = port_details.get('symmetrixPort')
|
port_info = port_details.get('symmetrixPort')
|
||||||
port_wwn = port_info.get('wwn_node')
|
port_wwn = port_info.get('identifier')
|
||||||
LOG.info("Port %(p)s WWN: %(wwn)s",
|
LOG.info("Port %(p)s WWN: %(wwn)s",
|
||||||
{'p': port, 'wwn': port_wwn})
|
{'p': port, 'wwn': port_wwn})
|
||||||
# Set lowest load port WWN as FC target for connection
|
# Set lowest load port WWN as FC target for connection
|
||||||
|
|
Loading…
Reference in New Issue