Revert "Router namespace not created in controller".

Issue has been fixed in Neutron. See patch
https://review.openstack.org/290470

This reverts commit 7334c3cfee.

Change-Id: I0889106367ef0723ea955b09623b804e9b4e76b9
This commit is contained in:
Andreas Scheuring 2016-04-08 09:31:30 +00:00 committed by David Lyle
parent a79d2df962
commit bb38c59777
1 changed files with 6 additions and 33 deletions

View File

@ -92,11 +92,17 @@ class CreateForm(forms.SelfHandlingForm):
params = {'name': data['name']}
if 'admin_state_up' in data and data['admin_state_up']:
params['admin_state_up'] = data['admin_state_up']
if 'external_network' in data and data['external_network']:
params['external_gateway_info'] = {'network_id':
data['external_network']}
if (self.dvr_allowed and data['mode'] != 'server_default'):
params['distributed'] = (data['mode'] == 'distributed')
if (self.ha_allowed and data['ha'] != 'server_default'):
params['ha'] = (data['ha'] == 'enabled')
router = api.neutron.router_create(request, **params)
message = _('Router %s was successfully created.') % data['name']
messages.success(request, message)
return router
except Exception as exc:
if exc.status_code == 409:
msg = _('Quota exceeded for resource router.')
@ -107,39 +113,6 @@ class CreateForm(forms.SelfHandlingForm):
exceptions.handle(request, msg, redirect=redirect)
return False
# workaround for neutron bug #1535707
try:
if ('external_network' in data and
data['external_network']):
api.neutron.router_add_gateway(request,
router['id'],
data['external_network'])
message = _('Router %s was successfully created.') % data['name']
messages.success(request, message)
return router
except Exception:
try:
api.neutron.router_delete(request, router['id'])
message = _('Router %s was created but connecting to'
' an external network failed. The created'
' router has been deleted, as the overall'
' operation failed.') % data['name']
LOG.info(message)
redirect = reverse(self.failure_url)
exceptions.handle(request, message, redirect=redirect)
return False
except Exception:
message = _('Router %(name)s was created but connecting to'
' an external network failed. Attempts to'
' delete the new router also failed.'
' Router %(name)s still exists but is not connect'
' to the desired external network.') % {
'name': data['name']}
LOG.info(message)
redirect = reverse(self.failure_url)
exceptions.handle(request, message, redirect=redirect)
return False
class UpdateForm(forms.SelfHandlingForm):
name = forms.CharField(label=_("Name"), required=False)