Browse Source

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>
changes/62/550462/5
songbaisen 3 years ago
parent
commit
e8415b2594
2 changed files with 5 additions and 10 deletions
  1. +2
    -8
      tricircle/network/central_plugin.py
  2. +3
    -2
      tricircle/network/local_plugin.py

+ 2
- 8
tricircle/network/central_plugin.py View File

@ -559,10 +559,6 @@ class TricirclePlugin(db_base_plugin_v2.NeutronDbPluginV2,
return policy['id'] if policy else 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'}
try:
@ -570,10 +566,8 @@ class TricirclePlugin(db_base_plugin_v2.NeutronDbPluginV2,
except t_exceptions.ResourceIsInDeleting():
return network_id
except t_exceptions.ResourceNotFound:
if delete:
pass
else:
raise exceptions.NotFound()
raise exceptions.NotFound()
net = super(TricirclePlugin, self).get_network(context, network_id,
fields)


+ 3
- 2
tricircle/network/local_plugin.py View File

@ -182,9 +182,10 @@ class TricirclePlugin(plugin.Ml2Plugin):
t_ctx = t_context.get_context_from_neutron_context(context)
if self._skip_non_api_query(t_ctx):
return []
para = network['id'] + '_delete'
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)
if not subnet_ids:
return []


Loading…
Cancel
Save