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 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 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
def _raise_contrail_exception(exc, **kwargs): exc_info = {'exception': exc} exc_info.update(kwargs) contrail_plugin_base._raise_contrail_error(exc_info, kwargs.get('resource'))
def _raise_contrail_exception(exc, **kwargs): exc_info = {'exception': exc} exc_info.update(kwargs) contrail_plugin_base._raise_contrail_error(exc_info, kwargs.get('resource'))