def _transform_response(self, status_code, info=None, obj_name=None, fields=None): if status_code == requests.codes.ok: if not isinstance(info, list): return self._prune(info, fields) else: return [self._prune(items, fields) for items in info] plugin_base._raise_contrail_error(info, obj_name)
def _transform_response(self, status_code, info=None, obj_name=None, fields=None): if status_code == requests.codes.ok: if not isinstance(info, list): return self._prune(info, fields) else: return [self._prune(items, fields) for items in info] elif status_code == requests.codes.forbidden: info['exception'] = 'NotAuthorized' plugin_base._raise_contrail_error(info, obj_name)
def _delete_resource(self, res_type, context, id): """Delete a resource in API server This method deletes a resource in the contrail api server """ res_dict = self._encode_resource(resource_id=id) LOG.debug("delete_%(res_type)s(): %(id)s", {"res_type": res_type, "id": id}) status_code, res_info = self._request_backend(context, res_dict, res_type, "DELETE") if status_code != requests.codes.ok: plugin_base._raise_contrail_error(info=res_info, obj_name=res_type)
def remove_router_interface(self, context, router_id, interface_info): """Delete interface from a router.""" if not interface_info: msg = _("Either subnet_id or port_id must be specified") raise exc.BadRequest(resource="router", msg=msg) res_dict = self._encode_resource(resource_id=router_id, resource=interface_info) status_code, res_info = self._request_backend(context, res_dict, "router", "DELINTERFACE") if status_code != requests.codes.ok: plugin_base._raise_contrail_error(info=res_info, obj_name="remove_router_interface") return res_info
def _delete_resource(self, res_type, context, id): """Delete a resource in API server This method deletes a resource in the contrail api server """ res_dict = self._encode_resource(resource_id=id) LOG.debug("delete_%(res_type)s(): %(id)s", {'res_type': res_type, 'id': id}) status_code, res_info = self._request_backend(context, res_dict, res_type, 'DELETE') if status_code != requests.codes.ok: plugin_base._raise_contrail_error(info=res_info, obj_name=res_type)
def remove_router_interface(self, context, router_id, interface_info): """Delete interface from a router.""" if not interface_info: msg = _("Either subnet_id or port_id must be specified") raise BadRequest(resource='router', msg=msg) res_dict = self._encode_resource(resource_id=router_id, resource=interface_info) status_code, res_info = self._request_backend(context, res_dict, 'router', 'DELINTERFACE') if status_code != requests.codes.ok: plugin_base._raise_contrail_error(info=res_info, obj_name='remove_router_interface') return res_info
def add_router_interface(self, context, router_id, interface_info): """Add interface to a router.""" if not interface_info: msg = _("Either subnet_id or port_id must be specified") raise exc.BadRequest(resource="router", msg=msg) if "port_id" in interface_info: if "subnet_id" in interface_info: msg = _("Cannot specify both subnet-id and port-id") raise exc.BadRequest(resource="router", msg=msg) res_dict = self._encode_resource(resource_id=router_id, resource=interface_info) status_code, res_info = self._request_backend(context, res_dict, "router", "ADDINTERFACE") if status_code != requests.codes.ok: plugin_base._raise_contrail_error(info=res_info, obj_name="add_router_interface") return res_info
def add_router_interface(self, context, router_id, interface_info): """Add interface to a router.""" if not interface_info: msg = _("Either subnet_id or port_id must be specified") raise BadRequest(resource='router', msg=msg) if 'port_id' in interface_info: if 'subnet_id' in interface_info: msg = _("Cannot specify both subnet-id and port-id") raise BadRequest(resource='router', msg=msg) res_dict = self._encode_resource(resource_id=router_id, resource=interface_info) status_code, res_info = self._request_backend(context, res_dict, 'router', 'ADDINTERFACE') if status_code != requests.codes.ok: plugin_base._raise_contrail_error(info=res_info, obj_name='add_router_interface') return res_info