use the better way to handle the not found exception
1. What is the problem? When local neutron get the in deleting resource, we should return 404 not found. in before i used the _delete tag to handle it. but do not look like a good way. 2. What is the solution to the problem? Try hanlde it in the local and raise the network not found exception. 3. What the features to be implemented in the Tricircle to realize the solution? No new features. Change-Id: Iceacaa83e9b31d05a2435586e8bbb3b433d90a4b Signed-off-by: song baisen <songbaisen@szzt.com.cn>
This commit is contained in:
parent
ab7401ef31
commit
e8415b2594
|
@ -559,10 +559,6 @@ class TricirclePlugin(db_base_plugin_v2.NeutronDbPluginV2,
|
||||||
return policy['id'] if policy else None
|
return policy['id'] if policy else None
|
||||||
|
|
||||||
def get_network(self, context, network_id, fields=None):
|
def get_network(self, context, network_id, fields=None):
|
||||||
delete = False
|
|
||||||
if network_id.endswith('_delete'):
|
|
||||||
delete = True
|
|
||||||
network_id = network_id[0: network_id.find('_delete')]
|
|
||||||
|
|
||||||
dict_para = {'resource_id': network_id, 'resource_type': 'network'}
|
dict_para = {'resource_id': network_id, 'resource_type': 'network'}
|
||||||
try:
|
try:
|
||||||
|
@ -570,10 +566,8 @@ class TricirclePlugin(db_base_plugin_v2.NeutronDbPluginV2,
|
||||||
except t_exceptions.ResourceIsInDeleting():
|
except t_exceptions.ResourceIsInDeleting():
|
||||||
return network_id
|
return network_id
|
||||||
except t_exceptions.ResourceNotFound:
|
except t_exceptions.ResourceNotFound:
|
||||||
if delete:
|
raise exceptions.NotFound()
|
||||||
pass
|
|
||||||
else:
|
|
||||||
raise exceptions.NotFound()
|
|
||||||
net = super(TricirclePlugin, self).get_network(context, network_id,
|
net = super(TricirclePlugin, self).get_network(context, network_id,
|
||||||
fields)
|
fields)
|
||||||
|
|
||||||
|
|
|
@ -182,9 +182,10 @@ class TricirclePlugin(plugin.Ml2Plugin):
|
||||||
t_ctx = t_context.get_context_from_neutron_context(context)
|
t_ctx = t_context.get_context_from_neutron_context(context)
|
||||||
if self._skip_non_api_query(t_ctx):
|
if self._skip_non_api_query(t_ctx):
|
||||||
return []
|
return []
|
||||||
para = network['id'] + '_delete'
|
|
||||||
t_network = self.neutron_handle.handle_get(
|
t_network = self.neutron_handle.handle_get(
|
||||||
t_ctx, 'network', para)
|
t_ctx, 'network', network['id'])
|
||||||
|
if not t_network:
|
||||||
|
return []
|
||||||
return self._ensure_subnet(context, t_network)
|
return self._ensure_subnet(context, t_network)
|
||||||
if not subnet_ids:
|
if not subnet_ids:
|
||||||
return []
|
return []
|
||||||
|
|
Loading…
Reference in New Issue