VMAX driver - retypes failing when workload is missing
When workload is missing from the pool_name in volume type extra specs, retype will fail. Change-Id: Icdba015411349c56e2f88cf5cf45d12bd2f6c0d4 Closes-Bug: #1729657
This commit is contained in:
parent
925bdfbb06
commit
10e533005a
@ -4434,13 +4434,19 @@ class VMAXCommonTest(test.TestCase):
|
||||
device_id, host, self.data.array, self.data.srp,
|
||||
volume_name, False)
|
||||
self.assertEqual(ref_return, return_val)
|
||||
host = {'host': 'HostX@Backend#Silver+SRP_1+000197800123'}
|
||||
ref_return = (True, 'Silver', 'NONE')
|
||||
return_val = self.common._is_valid_for_storage_assisted_migration(
|
||||
device_id, host, self.data.array,
|
||||
self.data.srp, volume_name, False)
|
||||
self.assertEqual(ref_return, return_val)
|
||||
|
||||
def test_is_valid_for_storage_assisted_migration_false(self):
|
||||
device_id = self.data.device_id
|
||||
volume_name = self.data.test_volume.name
|
||||
ref_return = (False, None, None)
|
||||
# IndexError
|
||||
host = {'host': 'HostX@Backend#Silver+SRP_1+000197800123'}
|
||||
host = {'host': 'HostX@Backend#Silver+SRP_1+000197800123+dummy+data'}
|
||||
return_val = self.common._is_valid_for_storage_assisted_migration(
|
||||
device_id, host, self.data.array,
|
||||
self.data.srp, volume_name, False)
|
||||
|
@ -2216,10 +2216,18 @@ class VMAXCommon(object):
|
||||
try:
|
||||
info_detail = host_info.split('#')
|
||||
pool_details = info_detail[1].split('+')
|
||||
target_slo = pool_details[0]
|
||||
target_workload = pool_details[1]
|
||||
target_srp = pool_details[2]
|
||||
target_array_serial = pool_details[3]
|
||||
if len(pool_details) == 4:
|
||||
target_slo = pool_details[0]
|
||||
target_workload = pool_details[1]
|
||||
target_srp = pool_details[2]
|
||||
target_array_serial = pool_details[3]
|
||||
elif len(pool_details) == 3:
|
||||
target_slo = pool_details[0]
|
||||
target_srp = pool_details[1]
|
||||
target_array_serial = pool_details[2]
|
||||
target_workload = 'NONE'
|
||||
else:
|
||||
raise IndexError
|
||||
except IndexError:
|
||||
LOG.error("Error parsing array, pool, SLO and workload.")
|
||||
return false_ret
|
||||
|
Loading…
Reference in New Issue
Block a user