def _create_nuage_def_l3domain_adv_fwd_template(self, l3dom_id, neutron_router_id): nuageadvfwdtmplt = nuagelib.NuageInAdvFwdTemplate() fwd_temps = self.restproxy.post( nuageadvfwdtmplt.post_resource_l3(l3dom_id), nuageadvfwdtmplt.post_data_default_l3( l3dom_id, get_vsd_external_id(neutron_router_id))) return fwd_temps[0]['ID'] if fwd_temps else None
def _create_nuage_def_l2domain_adv_fwd_template(self, l2dom_id, neutron_subnet): nuageadvfwdtmplt = nuagelib.NuageInAdvFwdTemplate() external_id = helper.get_subnet_external_id(neutron_subnet) response = self.restproxy.post( nuageadvfwdtmplt.post_resource_l2(l2dom_id), nuageadvfwdtmplt.post_data_default_l2(l2dom_id, external_id), ignore_err_codes=[restproxy.REST_DUPLICATE_ACL_PRIORITY]) return response[0]['ID']
def get_in_adv_fwd_policy(restproxy_serv, parent_type, parent_id): template = None nuageadvfwdtmplt = nuagelib.NuageInAdvFwdTemplate() if parent_type == constants.L2DOMAIN: template = restproxy_serv.get( nuageadvfwdtmplt.get_resource_l2(parent_id), required=True) elif parent_type == constants.DOMAIN: template = restproxy_serv.get( nuageadvfwdtmplt.get_resource_l3(parent_id), required=True) return template[0]['ID'] if template else None
def create_in_adv_fwd_policy_template(rest_proxy, parent_type, parent_id, params): params['externalID'] = get_vsd_external_id(params['externalID']) adv_fwd_tmplt = nuagelib.NuageInAdvFwdTemplate() if parent_type == constants.L2DOMAIN: return rest_proxy.post(adv_fwd_tmplt.post_resource_l2(parent_id), params)[0] else: return rest_proxy.post(adv_fwd_tmplt.post_resource_l3(parent_id), params)[0]
def _create_nuage_def_l2domain_adv_fwd_template(self, l2dom_id, neutron_subnet_id): nuageadvfwdtmplt = nuagelib.NuageInAdvFwdTemplate() response = self.restproxy.rest_call( 'POST', nuageadvfwdtmplt.post_resource_l2(l2dom_id), nuageadvfwdtmplt.post_data_default_l2( l2dom_id, get_vsd_external_id(neutron_subnet_id))) if not nuageadvfwdtmplt.validate(response): raise restproxy.RESTProxyError(nuageadvfwdtmplt.error_msg) return nuageadvfwdtmplt.get_response_objid(response)
def get_in_adv_fwd_policy_by_cmsid(restproxy_serv, parent_type, parent_id): nuageadvfwdtmplt = nuagelib.NuageInAdvFwdTemplate() if parent_type == constants.L2DOMAIN: response = restproxy_serv.get( nuageadvfwdtmplt.get_resource_l2(parent_id), extra_headers=extra_headers_get()) else: response = restproxy_serv.get( nuageadvfwdtmplt.get_resource_l3(parent_id), extra_headers=extra_headers_get()) return response
def get_in_adv_fwd_policy_by_externalid(restproxy_serv, parent_type, parent_id, neutron_id): headers = { 'X-NUAGE-FilterType': "predicate", 'X-Nuage-Filter': "externalID IS '%s'" % get_vsd_external_id(neutron_id) } nuageadvfwdtmplt = nuagelib.NuageInAdvFwdTemplate() if parent_type == constants.L2DOMAIN: response = restproxy_serv.get( nuageadvfwdtmplt.get_resource_l2(parent_id), extra_headers=headers) else: response = restproxy_serv.get( nuageadvfwdtmplt.get_resource_l3(parent_id), extra_headers=headers) return response
def get_in_adv_fwd_policy(restproxy_serv, parent_type, parent_id): nuageadvfwdtmplt = nuagelib.NuageInAdvFwdTemplate() if parent_type == constants.L2DOMAIN: response = restproxy_serv.rest_call( 'GET', nuageadvfwdtmplt.get_resource_l2(parent_id), '') elif parent_type == 'domain': response = restproxy_serv.rest_call( 'GET', nuageadvfwdtmplt.get_resource_l3(parent_id), '') if not nuageadvfwdtmplt.validate(response): raise restproxy.RESTProxyError(nuageadvfwdtmplt.error_msg) if not response[3]: msg = ("%s %s does not have default advanced forwarding template" % (parent_type, parent_id)) raise restproxy.RESTProxyError(msg) return nuageadvfwdtmplt.get_response_objid(response)
def delete_in_adv_fwd_policy_template(rest_proxy, tmplt_id, required=False): adv_fwd_tmplt = nuagelib.NuageInAdvFwdTemplate() rest_proxy.delete( adv_fwd_tmplt.get_resource(tmplt_id) + '?responseChoice=1', required)
def update_in_adv_fwd_policy_template(rest_proxy, nuage_id, params): adv_fwd_tmplt = nuagelib.NuageInAdvFwdTemplate() return rest_proxy.put( adv_fwd_tmplt.get_resource(nuage_id) + '?responseChoice=1', params)