Пример #1
0
 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
Пример #3
0
 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
Пример #4
0
 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
Пример #5
0
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']
Пример #6
0
 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']))
Пример #8
0
 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
Пример #10
0
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
Пример #12
0
 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
Пример #13
0
 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
Пример #16
0
 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'],
         }
Пример #17
0
    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)
Пример #18
0
    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