Merge "Huawei: Judgement failure when creating hypermetro"
This commit is contained in:
commit
62a65629ce
@ -2323,6 +2323,20 @@ class HuaweiISCSIDriverTestCase(test.TestCase):
|
|||||||
self.driver.create_volume, hyper_volume)
|
self.driver.create_volume, hyper_volume)
|
||||||
mock_delete_lun.assert_called_with('1')
|
mock_delete_lun.assert_called_with('1')
|
||||||
|
|
||||||
|
@mock.patch.object(rest_client.RestClient, 'get_all_pools',
|
||||||
|
return_value=FAKE_STORAGE_POOL_RESPONSE)
|
||||||
|
@mock.patch.object(rest_client.RestClient, 'get_pool_info',
|
||||||
|
return_value={})
|
||||||
|
def test_create_hypermetro_remote_pool_none_fail(self,
|
||||||
|
mock_pool_info,
|
||||||
|
mock_all_pool_info):
|
||||||
|
param = {'TYPE': '11',
|
||||||
|
'PARENTID': ''}
|
||||||
|
self.driver.client.login()
|
||||||
|
self.assertRaises(exception.VolumeBackendAPIException,
|
||||||
|
self.driver.metro.create_hypermetro,
|
||||||
|
'2', param)
|
||||||
|
|
||||||
@mock.patch.object(rest_client.RestClient, 'check_lun_exist',
|
@mock.patch.object(rest_client.RestClient, 'check_lun_exist',
|
||||||
return_value=True)
|
return_value=True)
|
||||||
@mock.patch.object(rest_client.RestClient, 'check_hypermetro_exist',
|
@mock.patch.object(rest_client.RestClient, 'check_hypermetro_exist',
|
||||||
|
@ -40,6 +40,11 @@ class HuaweiHyperMetro(object):
|
|||||||
config_pool = self.configuration.metro_storage_pools
|
config_pool = self.configuration.metro_storage_pools
|
||||||
remote_pool = self.rmt_client.get_all_pools()
|
remote_pool = self.rmt_client.get_all_pools()
|
||||||
pool = self.rmt_client.get_pool_info(config_pool, remote_pool)
|
pool = self.rmt_client.get_pool_info(config_pool, remote_pool)
|
||||||
|
if not pool:
|
||||||
|
err_msg = _("Remote pool cannot be found.")
|
||||||
|
LOG.error(err_msg)
|
||||||
|
raise exception.VolumeBackendAPIException(data=err_msg)
|
||||||
|
|
||||||
# Create remote lun.
|
# Create remote lun.
|
||||||
lun_params['pool_id'] = pool['ID']
|
lun_params['pool_id'] = pool['ID']
|
||||||
remotelun_info = self.rmt_client.create_lun(lun_params)
|
remotelun_info = self.rmt_client.create_lun(lun_params)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user