def get_netpartition_data(self, ent_name): req_params = {'name': ent_name} nuagenet_partition = nuagelib.NuageNetPartition( create_params=req_params) nuage_ent_extra_headers = nuagenet_partition.extra_headers_get() response = self.restproxy.rest_call( 'GET', nuagenet_partition.get_resource(), '', extra_headers=nuage_ent_extra_headers) if nuagenet_partition.get_validate(response): np_id = nuagenet_partition.get_net_partition_id(response) l3dom_tname = ent_name + DEF_L3DOM_TEMPLATE_PFIX l3dom_id = helper.get_l3domid_for_netpartition( self.restproxy, np_id, l3dom_tname) if not l3dom_id: l3dom_id = self._create_default_l3template_for_netpart( np_id, l3dom_tname) l2dom_tname = ent_name + DEF_L2DOM_TEMPLATE_PFIX l2dom_id = helper.get_l2domid_for_netpartition( self.restproxy, np_id, l2dom_tname) if not l2dom_id: l2dom_id = self._create_default_l2template_for_netpart( np_id, l2dom_tname) nuage_netpart_data = { 'np_id': np_id, 'l3dom_tid': l3dom_id, 'l2dom_tid': l2dom_id } return nuage_netpart_data else: return None
def get_netpartition_data(self, ent_name): req_params = {'name': ent_name} nuagenet_partition = nuagelib.NuageNetPartition( create_params=req_params) nuage_ent_extra_headers = nuagenet_partition.extra_headers_get() enterprises = self.restproxy.get(nuagenet_partition.get_resource(), extra_headers=nuage_ent_extra_headers) if enterprises: np_id = enterprises[0]['ID'] if ent_name == SHARED_INFRASTRUCTURE: l3dom_tname = SHARED_DOMAIN_TEMPLATE l3dom_id = helper.get_l3domid_for_netpartition( self.restproxy, np_id, l3dom_tname) nuage_netpart_data = {'l2dom_tid': None} else: l3dom_tname = ent_name + DEF_L3DOM_TEMPLATE_PFIX l3dom_id = helper.get_l3domid_for_netpartition( self.restproxy, np_id, l3dom_tname) if not l3dom_id: l3dom_id = self._create_default_l3template_for_netpart( np_id, l3dom_tname) l2dom_tname = ent_name + DEF_L2DOM_TEMPLATE_PFIX l2dom_id = helper.get_l2domid_for_netpartition( self.restproxy, np_id, l2dom_tname) if not l2dom_id: l2dom_id = self._create_default_l2template_for_netpart( np_id, l2dom_tname) nuage_netpart_data = {'l2dom_tid': l2dom_id} nuage_netpart_data['np_id'] = np_id nuage_netpart_data['l3dom_tid'] = l3dom_id return nuage_netpart_data else: return None
def get_net_partition_name_by_id(self, ent_id): create_params = {'netpart_id': ent_id} nuage_net_partition = nuagelib.NuageNetPartition(create_params) response = self.restproxy.rest_call( 'GET', nuage_net_partition.get_resource_by_id(), '') if nuage_net_partition.get_validate(response): name = nuage_net_partition.get_response_obj(response)['name'] return name
def _is_first_netpartition(self): nuagenet_partition = nuagelib.NuageNetPartition() response = self.restproxy.rest_call('GET', nuagenet_partition.get_resource(), '') if nuagenet_partition.validate(response) and response[3] == '': return True return False
def get_net_partition_id_by_name(restproxy_serv, ent_name): req_params = {'name': ent_name} nuagenet_partition = nuagelib.NuageNetPartition(create_params=req_params) nuage_ent_extra_headers = nuagenet_partition.extra_headers_get() enterprise = restproxy_serv.get(nuagenet_partition.get_resource(), extra_headers=nuage_ent_extra_headers, required=True)[0] return enterprise['ID']
def delete_net_partition(self, id): nuagenet_partition = nuagelib.NuageNetPartition( create_params={"netpart_id": id}) resp = self.restproxy.rest_call( 'GET', nuagenet_partition.get_resource_by_id(), '') if not nuagenet_partition.validate(resp): if resp[0] != constants.RES_NOT_FOUND: raise restproxy.RESTProxyError(nuagenet_partition.error_msg) else: return details_on_nuage = nuagenet_partition.get_response_obj(resp) if details_on_nuage.get('externalID') == id + '@openstack': nuagenet_partition = nuagelib.NuageNetPartition() response = self.restproxy.rest_call( 'DELETE', nuagenet_partition.delete_resource(id), '') if not nuagenet_partition.validate(response): raise restproxy.RESTProxyError(nuagenet_partition.error_msg)
def delete_net_partition(self, id): nuagenet_partition = nuagelib.NuageNetPartition( create_params={"netpart_id": id}) try: enterprise = self.restproxy.get( nuagenet_partition.get_resource_by_id(), required=True)[0] except restproxy.RESTProxyError as e: if e.code != constants.RES_NOT_FOUND: raise restproxy.RESTProxyError(nuagenet_partition.error_msg) return external_id = enterprise.get('externalID') if external_id and external_id.endswith('@openstack'): nuagenet_partition = nuagelib.NuageNetPartition() self.restproxy.delete(nuagenet_partition.delete_resource(id)) else: logging.warning("Enterprise {} is not deleted!".format( enterprise['name']))
def set_external_id_for_netpart_rel_elems(self, net_partition_dict): # set external-ID for Enterprise on VSD. params = {"netpart_id": net_partition_dict['np_id']} nuagenet_partition = nuagelib.NuageNetPartition(create_params=params) response = helper.set_external_id_with_openstack( self.restproxy, nuagenet_partition.get_resource_by_id(), net_partition_dict['np_id']) if not nuagenet_partition.validate(response): code = nuagenet_partition.get_error_code(response) raise restproxy.RESTProxyError(nuagenet_partition.error_msg, code)
def get_net_partitions(self): netpartition = nuagelib.NuageNetPartition() enterprises = self.restproxy.get(netpartition.get_resource(), required=True) res = [] for enterprise in enterprises: np_dict = dict() np_dict['net_partition_name'] = enterprise['name'] np_dict['net_partition_id'] = enterprise['ID'] res.append(np_dict) return res
def get_net_partition_id_by_name(restproxy_serv, ent_name): req_params = {'name': ent_name} nuagenet_partition = nuagelib.NuageNetPartition(create_params=req_params) nuage_ent_extra_headers = nuagenet_partition.extra_headers_get() response = restproxy_serv.rest_call('GET', nuagenet_partition.get_resource(), '', extra_headers=nuage_ent_extra_headers) if nuagenet_partition.get_validate(response): ent_id = nuagenet_partition.get_net_partition_id(response) return ent_id return None
def link_default_netpartition(self, params): nuagenet_partition = nuagelib.NuageNetPartition(create_params=params) nuage_ent_extra_headers = nuagenet_partition.extra_headers_get() enterprise = self.restproxy.get(nuagenet_partition.get_resource(), extra_headers=nuage_ent_extra_headers, required=True) np_id = enterprise['ID'] l3dom_id = helper.get_l3domid_for_netpartition(self.restproxy, np_id, params['l3template']) l2dom_id = helper.get_l2domid_for_netpartition(self.restproxy, np_id, params['l2template']) return np_id, l3dom_id, l2dom_id
def get_net_partitions(self): netpartition = nuagelib.NuageNetPartition() response = self.restproxy.rest_call('GET', netpartition.get_resource(), '') if not netpartition.validate(response): raise restproxy.RESTProxyError(netpartition.error_msg) res = [] for netpart in netpartition.get_response_objlist(response): np_dict = dict() np_dict['net_partition_name'] = netpart['name'] np_dict['net_partition_id'] = netpart['ID'] res.append(np_dict) return res
def check_del_def_net_partition(self, ent_name): req_params = {'name': ent_name} nuagenet_partition = nuagelib.NuageNetPartition( create_params=req_params) nuage_ent_extra_headers = nuagenet_partition.extra_headers_get() response = self.restproxy.rest_call( 'GET', nuagenet_partition.get_resource(), '', extra_headers=nuage_ent_extra_headers) if nuagenet_partition.get_validate(response): ent_id = nuagenet_partition.get_net_partition_id(response) self.delete_net_partition(ent_id)
def get_netpartition_by_name(self, name): req_params = {'name': name} netpartition = nuagelib.NuageNetPartition(create_params=req_params) nuage_ent_extra_headers = netpartition.extra_headers_get() enterprises = self.restproxy.get(netpartition.get_resource(), extra_headers=nuage_ent_extra_headers) if enterprises: netpartition = enterprises[0] return { 'id': netpartition['ID'], 'name': netpartition['name'], 'description': netpartition['description'], 'neutron_id': netpartition['externalID'], }
def create_net_partition(self, params): nuagenet_partition = nuagelib.NuageNetPartition(create_params=params) enterprise = self.restproxy.post(nuagenet_partition.post_resource(), nuagenet_partition.post_data())[0] net_partition_dict = {'np_id': enterprise['ID']} l3_tmplt_name = params['name'] + DEF_L3DOM_TEMPLATE_PFIX l3dom_tid = self._create_default_l3template_for_netpart( net_partition_dict['np_id'], l3_tmplt_name) net_partition_dict['l3dom_tid'] = l3dom_tid l2_tmplt_name = params['name'] + DEF_L2DOM_TEMPLATE_PFIX l2dom_tid = self._create_default_l2template_for_netpart( net_partition_dict['np_id'], l2_tmplt_name) net_partition_dict['l2dom_tid'] = l2dom_tid return net_partition_dict
def get_netpartition_by_name(self, name): req_params = {'name': name} netpartition = nuagelib.NuageNetPartition(create_params=req_params) nuage_ent_extra_headers = netpartition.extra_headers_get() response = self.restproxy.rest_call( 'GET', netpartition.get_resource(), '', extra_headers=nuage_ent_extra_headers) if netpartition.get_validate(response): netpartition = netpartition.get_response_obj(response) return { 'id': netpartition['ID'], 'name': netpartition['name'], 'description': netpartition['description'], 'neutron_id': netpartition['externalID'], }
def link_default_netpartition(self, params): nuagenet_partition = nuagelib.NuageNetPartition(create_params=params) nuage_ent_extra_headers = nuagenet_partition.extra_headers_get() response = self.restproxy.rest_call( 'GET', nuagenet_partition.get_resource(), '', extra_headers=nuage_ent_extra_headers) if not nuagenet_partition.validate(response): raise restproxy.RESTProxyError(nuagenet_partition.error_msg) np_id = nuagenet_partition.get_net_partition_id(response) l3dom_id = \ helper.get_l3domid_for_netpartition(self.restproxy, np_id, params['l3template']) l2dom_id = \ helper.get_l2domid_for_netpartition(self.restproxy, np_id, params['l2template']) return (np_id, l3dom_id, l2dom_id)
def create_net_partition(self, params): nuagenet_partition = nuagelib.NuageNetPartition(create_params=params) response = self.restproxy.rest_call('POST', nuagenet_partition.post_resource(), nuagenet_partition.post_data()) if not nuagenet_partition.validate(response): code = nuagenet_partition.get_error_code(response) raise restproxy.RESTProxyError(nuagenet_partition.error_msg, code) net_partition_dict = {} net_partition_dict['np_id'] = \ nuagenet_partition.get_net_partition_id(response) l3_tmplt_name = params['name'] + DEF_L3DOM_TEMPLATE_PFIX l3dom_tid = self._create_default_l3template_for_netpart( net_partition_dict['np_id'], l3_tmplt_name) net_partition_dict['l3dom_tid'] = l3dom_tid l2_tmplt_name = params['name'] + DEF_L2DOM_TEMPLATE_PFIX l2dom_tid = self._create_default_l2template_for_netpart( net_partition_dict['np_id'], l2_tmplt_name) net_partition_dict['l2dom_tid'] = l2dom_tid return net_partition_dict
def _is_first_netpartition(self): nuagenet_partition = nuagelib.NuageNetPartition() enterprises = self.restproxy.get(nuagenet_partition.get_resource()) return len(enterprises) == 0
def get_net_partition_name_by_id(self, ent_id): create_params = {'netpart_id': ent_id} nuage_net_partition = nuagelib.NuageNetPartition(create_params) enterprises = self.restproxy.get( nuage_net_partition.get_resource_by_id()) return enterprises[0]['name'] if enterprises else None