def create_volume(self, volume): """Create a volume.""" pool_info = self.restclient.find_pool_info() volume_name = huawei_utils.encode_name(volume['id']) volume_description = volume['name'] volume_size = huawei_utils.get_volume_size(volume) LOG.info(_LI( 'Create volume: %(volume)s, size: %(size)s.'), {'volume': volume_name, 'size': volume_size}) params = huawei_utils.get_lun_conf_params(self.xml_file_path) params['pool_id'] = pool_info['ID'] params['volume_size'] = volume_size params['volume_description'] = volume_description # Prepare LUN parameters. lun_param = huawei_utils.init_lun_parameters(volume_name, params) # Create LUN on the array. lun_info = self.restclient.create_volume(lun_param) lun_id = lun_info['ID'] return {'provider_location': lun_info['ID'], 'ID': lun_id, 'lun_info': lun_info}
def create_volume(self, volume): """Create a volume.""" pool_name = volume_utils.extract_host(volume['host'], level='pool') pools = self.restclient.find_all_pools() pool_info = self.restclient.find_pool_info(pool_name, pools) if not pool_info: msg = (_('Error in getting pool information for the pool: %s.') % pool_name) LOG.error(msg) raise exception.VolumeBackendAPIException(data=msg) volume_name = huawei_utils.encode_name(volume['id']) volume_description = volume['name'] volume_size = huawei_utils.get_volume_size(volume) LOG.info(_LI( 'Create volume: %(volume)s, size: %(size)s.'), {'volume': volume_name, 'size': volume_size}) params = huawei_utils.get_lun_conf_params(self.xml_file_path) params['pool_id'] = pool_info['ID'] params['volume_size'] = volume_size params['volume_description'] = volume_description # Prepare LUN parameters. lun_param = huawei_utils.init_lun_parameters(volume_name, params) # Create LUN on the array. lun_info = self.restclient.create_volume(lun_param) lun_id = lun_info['ID'] return {'provider_location': lun_info['ID'], 'ID': lun_id, 'lun_info': lun_info}
def test_get_lun_conf_params(self): self.driver.restclient.login() luninfo = huawei_utils.get_lun_conf_params(self.xml_file_path) luninfo["pool_id"] = "0" luninfo["volume_size"] = 2 luninfo["volume_description"] = "test volume" luninfo = huawei_utils.init_lun_parameters("5mFHcBv4RkCcD+JyrWc0SA", luninfo) self.assertEqual("5mFHcBv4RkCcD+JyrWc0SA", luninfo["NAME"])
def test_get_lun_conf_params(self): self.driver.restclient.login() luninfo = huawei_utils.get_lun_conf_params(self.xml_file_path) luninfo['pool_id'] = '0' luninfo['volume_size'] = 2 luninfo['volume_description'] = 'test volume' luninfo = huawei_utils.init_lun_parameters('5mFHcBv4RkCcD+JyrWc0SA', luninfo) self.assertEqual('5mFHcBv4RkCcD+JyrWc0SA', luninfo['NAME'])
def create_volume(self, volume): """Create a volume.""" pool_name = volume_utils.extract_host(volume['host'], level='pool') pools = self.restclient.find_all_pools() pool_info = self.restclient.find_pool_info(pool_name, pools) if not pool_info: msg = (_('Error in getting pool information for the pool: %s.') % pool_name) LOG.error(msg) raise exception.VolumeBackendAPIException(data=msg) volume_name = huawei_utils.encode_name(volume['id']) volume_description = volume['name'] volume_size = huawei_utils.get_volume_size(volume) LOG.info(_LI('Create volume: %(volume)s, size: %(size)s.'), { 'volume': volume_name, 'size': volume_size }) params = huawei_utils.get_lun_conf_params(self.xml_file_path) params['pool_id'] = pool_info['ID'] params['volume_size'] = volume_size params['volume_description'] = volume_description # Prepare LUN parameters. lun_param = huawei_utils.init_lun_parameters(volume_name, params) # Create LUN on the array. lun_info = self.restclient.create_volume(lun_param) lun_id = lun_info['ID'] return { 'provider_location': lun_info['ID'], 'ID': lun_id, 'lun_info': lun_info }