Huawei: Code cleanup

Some codes are useless, we need to clean them up:
1. add_host_with_check have been called at line 1653
   to get host_id in huawei_driver.py, the another
   two are no longer need.
2. Remove duplicated codes in test_huawei_drivers.py,
   also change FACK_XXX to FAKE_XXX.
3. Two constants in constants.py are not used anywhere,
   need to delete them.

Closes-Bug: #1548158
Change-Id: I03d49e9194223dbea162be4239fa339ab0a0ff4b
This commit is contained in:
Wilson Liu 2016-02-22 10:50:12 +08:00
parent 63cc4a2b77
commit ac2fd5b82c
4 changed files with 14 additions and 107 deletions

View File

@ -885,46 +885,6 @@ FAKE_PORT_GROUP_RESPONSE = """
}
"""
FAKE_ISCSI_INITIATOR_RESPONSE = """
{
"error":{
"code": 0
},
"data":[{
"CHAPNAME": "mm-user",
"HEALTHSTATUS": "1",
"ID": "iqn.1993-08.org.debian:01:9073aba6c6f",
"ISFREE": "true",
"MULTIPATHTYPE": "1",
"NAME": "",
"OPERATIONSYSTEM": "255",
"RUNNINGSTATUS": "28",
"TYPE": 222,
"USECHAP": "true"
}]
}
"""
FAKE_ISCSI_INITIATOR_RESPONSE = """
{
"error":{
"code":0
},
"data":[{
"CHAPNAME":"mm-user",
"HEALTHSTATUS":"1",
"ID":"iqn.1993-08.org.debian:01:9073aba6c6f",
"ISFREE":"true",
"MULTIPATHTYPE":"1",
"NAME":"",
"OPERATIONSYSTEM":"255",
"RUNNINGSTATUS":"28",
"TYPE":222,
"USECHAP":"true"
}]
}
"""
FAKE_ERROR_INFO_RESPONSE = """
{
"error":{
@ -969,19 +929,6 @@ FAKE_GET_FC_INI_RESPONSE = """
}
"""
FAKE_GET_FC_PORT_RESPONSE = """
{
"error":{
"code":0
},
"data":[{
"RUNNINGSTATUS":"10",
"WWN":"2000643e8c4c5f66",
"PARENTID":"0A.1"
}]
}
"""
FAKE_SYSTEM_VERSION_RESPONSE = """
{
"error":{
@ -1014,18 +961,6 @@ FAKE_GET_LUN_MIGRATION_RESPONSE = """
}
"""
FAKE_GET_FC_INI_RESPONSE = """
{
"error":{
"code":0
},
"data":[{
"ID":"10000090fa0d6754",
"ISFREE":"true"
}]
}
"""
FAKE_HYPERMETRODOMAIN_RESPONSE = """
{
"error":{
@ -1469,7 +1404,7 @@ MAP_COMMAND_TO_FAKE_RESPONSE['/HyperMetroPair?range=[0-65535]/GET'] = (
MAP_COMMAND_TO_FAKE_RESPONSE['/splitmirror?range=[0-512]/GET'] = (
FAKE_COMMON_SUCCESS_RESPONSE)
FACK_GET_PORTG_BY_VIEW = """
FAKE_GET_PORTG_BY_VIEW = """
{
"data": [{
"DESCRIPTION": "Please do NOT modify this. Engine ID: 0",
@ -1485,9 +1420,9 @@ FACK_GET_PORTG_BY_VIEW = """
MAP_COMMAND_TO_FAKE_RESPONSE['/portgroup/associate/mappingview?TYPE=257&AS'
'SOCIATEOBJTYPE=245&ASSOCIATEOBJID=1/GET'] = (
FACK_GET_PORTG_BY_VIEW)
FAKE_GET_PORTG_BY_VIEW)
FACK_GET_PORT_BY_PORTG = """
FAKE_GET_PORT_BY_PORTG = """
{
"data":[{
"CONFSPEED":"0","FCCONFMODE":"3",
@ -1504,9 +1439,9 @@ FACK_GET_PORT_BY_PORTG = """
MAP_COMMAND_TO_FAKE_RESPONSE['/fc_port/associate/portgroup?TYPE=212&ASSOCI'
'ATEOBJTYPE=257&ASSOCIATEOBJID=0/GET'] = (
FACK_GET_PORT_BY_PORTG)
FAKE_GET_PORT_BY_PORTG)
FACK_GET_PORTG = """
FAKE_GET_PORTG = """
{
"data": {
"TYPE": 257,
@ -1521,12 +1456,12 @@ FACK_GET_PORTG = """
}
"""
MAP_COMMAND_TO_FAKE_RESPONSE['/portgroup/0/GET'] = FACK_GET_PORTG
MAP_COMMAND_TO_FAKE_RESPONSE['/portgroup/0/GET'] = FAKE_GET_PORTG
MAP_COMMAND_TO_FAKE_RESPONSE['/portgroup/0/PUT'] = FACK_GET_PORTG
MAP_COMMAND_TO_FAKE_RESPONSE['/portgroup/0/PUT'] = FAKE_GET_PORTG
MAP_COMMAND_TO_FAKE_RESPONSE['/port/associate/portgroup/POST'] = (
FACK_GET_PORT_BY_PORTG)
FAKE_GET_PORT_BY_PORTG)
MAP_COMMAND_TO_FAKE_RESPONSE['/port/associate/portgroup?ID=0&TYPE=257&ASSOCIA'
'TEOBJTYPE=212&ASSOCIATEOBJID=2000643e8c4c5f66/DE'
@ -1570,7 +1505,7 @@ MAP_COMMAND_TO_FAKE_RESPONSE['/portgroup/associate/fc_port?TYPE=257&ASSOCIA'
'TEOBJTYPE=212&ASSOCIATEOBJID=1114368/GET'] = (
FAKE_GET_PORTG_FROM_PORT)
FACK_GET_VIEW_BY_PORTG = """
FAKE_GET_VIEW_BY_PORTG = """
{
"data": [{
"ASSOCIATEOBJID": "0",
@ -1595,9 +1530,9 @@ FACK_GET_VIEW_BY_PORTG = """
MAP_COMMAND_TO_FAKE_RESPONSE['/mappingview/associate/portgroup?TYPE=245&ASS'
'OCIATEOBJTYPE=257&ASSOCIATEOBJID=0/GET'] = (
FACK_GET_VIEW_BY_PORTG)
FAKE_GET_VIEW_BY_PORTG)
FACK_GET_LUNG_BY_VIEW = """
FAKE_GET_LUNG_BY_VIEW = """
{
"data": [{
"TYPE": 256,
@ -1614,7 +1549,7 @@ FACK_GET_LUNG_BY_VIEW = """
MAP_COMMAND_TO_FAKE_RESPONSE['/lungroup/associate/mappingview?TYPE=256&ASSO'
'CIATEOBJTYPE=245&ASSOCIATEOBJID=2/GET'] = (
FACK_GET_LUNG_BY_VIEW)
FAKE_GET_LUNG_BY_VIEW)
FAKE_LUN_COUNT_RESPONSE_1 = """
{
@ -1998,7 +1933,6 @@ class HuaweiISCSIDriverTestCase(test.TestCase):
self.assertEqual('210235G7J20000000000', device_id)
def test_create_volume_success(self):
# Have pool info in the volume.
test_volume = {'name': 'volume-21ec7341-9256-497b-97d9-ef48edcf0635',
'size': 2,
@ -2081,7 +2015,6 @@ class HuaweiISCSIDriverTestCase(test.TestCase):
self.assertEqual('2.0.5', data['driver_version'])
def test_extend_volume(self):
self.driver.extend_volume(test_volume, 3)
def test_login_fail(self):
@ -2090,29 +2023,24 @@ class HuaweiISCSIDriverTestCase(test.TestCase):
self.driver.client.login)
def test_create_snapshot_fail(self):
self.driver.client.test_fail = True
self.assertRaises(exception.VolumeBackendAPIException,
self.driver.create_snapshot, test_snap)
def test_create_volume_fail(self):
self.driver.client.test_fail = True
self.assertRaises(exception.VolumeBackendAPIException,
self.driver.create_volume, test_volume)
def test_delete_volume_fail(self):
self.driver.client.test_fail = True
self.driver.delete_volume(test_volume)
def test_delete_snapshot_fail(self):
self.driver.client.test_fail = True
self.driver.delete_volume(test_snap)
def test_initialize_connection_fail(self):
self.driver.client.test_fail = True
self.assertRaises(exception.VolumeBackendAPIException,
@ -2120,29 +2048,24 @@ class HuaweiISCSIDriverTestCase(test.TestCase):
test_volume, FakeConnector)
def test_lun_is_associated_to_lungroup(self):
self.driver.client.associate_lun_to_lungroup('11', '11')
result = self.driver.client._is_lun_associated_to_lungroup('11',
'11')
self.assertTrue(result)
def test_lun_is_not_associated_to_lun_group(self):
self.driver.client.associate_lun_to_lungroup('12', '12')
self.driver.client.remove_lun_from_lungroup('12', '12')
result = self.driver.client._is_lun_associated_to_lungroup('12', '12')
self.assertFalse(result)
def test_get_tgtip(self):
portg_id = self.driver.client.get_tgt_port_group(self.portgroup)
target_ip = self.driver.client._get_tgt_ip_from_portgroup(portg_id)
self.assertEqual(self.target_ips, target_ip)
def test_find_chap_info(self):
tmp_dict = {}
iscsi_info = {}
tmp_dict['Name'] = 'iqn.1993-08.debian:01:ec2bff7ac3a3'
tmp_dict['CHAPinfo'] = 'mm-user;mm-user@storage'
iscsi_info = [tmp_dict]
@ -2154,9 +2077,7 @@ class HuaweiISCSIDriverTestCase(test.TestCase):
self.assertEqual('mm-user@storage', chap_password)
def test_find_alua_info(self):
tmp_dict = {}
iscsi_info = {}
tmp_dict['Name'] = 'iqn.1993-08.debian:01:ec2bff7ac3a3'
tmp_dict['ALUA'] = '1'
iscsi_info = [tmp_dict]
@ -2166,7 +2087,6 @@ class HuaweiISCSIDriverTestCase(test.TestCase):
self.assertEqual('1', type)
def test_get_pool_info(self):
pools = [{"NAME": "test001",
"ID": "0",
"USERFREECAPACITY": "36",
@ -2226,8 +2146,7 @@ class HuaweiISCSIDriverTestCase(test.TestCase):
'policy': '2',
'cachename': 'cache-test',
'partitionname': 'partition-test'})
def test_creat_smartx(self, mock_volume_types, mock_add_lun_to_partition):
def test_create_smartx(self, mock_volume_types, mock_add_lun_to_partition):
lun_info = self.driver.create_volume(test_volume)
self.assertEqual('1', lun_info['provider_location'])
@ -3180,10 +3099,7 @@ class HuaweiFCDriverTestCase(test.TestCase):
@mock.patch.object(rest_client.RestClient, 'add_lun_to_partition')
def test_migrate_volume_success(self, mock_add_lun_to_partition):
# Migrate volume without new type.
model_update = None
moved = False
empty_dict = {}
# Migrate volume without new type.
moved, model_update = self.driver.migrate_volume(None,
test_volume,
test_host,
@ -3192,7 +3108,6 @@ class HuaweiFCDriverTestCase(test.TestCase):
self.assertEqual(empty_dict, model_update)
# Migrate volume with new type.
moved = False
empty_dict = {}
new_type = {'extra_specs':
{'smarttier': '<is> true',

View File

@ -68,13 +68,11 @@ OS_TYPE = {'Linux': '0',
'Mac OS X': '6',
'VMware ESX': '7'}
CONTROLLER_LIST = ['A', 'B', 'C', 'D']
HUAWEI_VALID_KEYS = ['maxIOPS', 'minIOPS', 'minBandWidth',
'maxBandWidth', 'latency', 'IOType']
QOS_KEYS = ['MAXIOPS', 'MINIOPS', 'MINBANDWidth',
'MAXBANDWidth', 'LATENCY', 'IOTYPE']
MAX_LUN_NUM_IN_QOS = 64
HYPERMETRO_CLASS = "cinder.volume.drivers.huawei.hypermetro.HuaweiHyperMetro"
DEFAULT_REPLICA_WAIT_INTERVAL = 1
DEFAULT_REPLICA_WAIT_TIMEOUT = 10

View File

@ -1658,8 +1658,6 @@ class HuaweiFCDriver(HuaweiBaseDriver, driver.FibreChannelDriver):
if self.fcsan:
# Use FC switch.
host_id = self.client.add_host_with_check(host_name,
original_host_name)
zone_helper = fc_zone_helper.FCZoneHelper(self.fcsan, self.client)
(tgt_port_wwns, portg_id, init_targ_map) = (
zone_helper.build_ini_targ_map(wwns, host_id, lun_id))
@ -1667,8 +1665,6 @@ class HuaweiFCDriver(HuaweiBaseDriver, driver.FibreChannelDriver):
self.client.ensure_fc_initiator_added(ini, host_id)
else:
# Not use FC switch.
host_id = self.client.add_host_with_check(
host_name, original_host_name)
online_wwns_in_host = (
self.client.get_host_online_fc_initiators(host_id))
online_free_wwns = self.client.get_online_free_wwns()
@ -1682,7 +1678,7 @@ class HuaweiFCDriver(HuaweiBaseDriver, driver.FibreChannelDriver):
if not wwns_in_host and not iqns_in_host:
self.client.remove_host(host_id)
msg = _('Can not add FC initiator to host.')
msg = _('No FC initiator can be added to host.')
LOG.error(msg)
raise exception.VolumeBackendAPIException(data=msg)

View File

@ -180,8 +180,6 @@ class HuaweiHyperMetro(object):
def disconnect_volume_fc(self, volume, connector):
"""Delete map between a volume and a host for FC."""
# Login remote storage device.
wwns = connector['wwpns']
volume_name = huawei_utils.encode_name(volume['id'])
metadata = huawei_utils.get_volume_metadata(volume)