yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #78031
[Bug 1805235] Re: [neutron-tempest-plugin] delete_router calls remove_router_extra_routes even when extra_routes extension is disabled
** Changed in: networking-bigswitch
Status: New => Fix Released
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1805235
Title:
[neutron-tempest-plugin] delete_router calls
remove_router_extra_routes even when extra_routes extension is
disabled
Status in networking-bigswitch:
Fix Released
Status in neutron:
Fix Released
Bug description:
A recent change [1] to neutron-tempest-plugin is causing a tempest
failure when running against networking-bigswitch neutron plugin with
L3 functionality provided by networking-bigswitch.
The failure stack trace looks as follows:
17:12:37 tearDownClass (neutron_tempest_plugin.scenario.admin.test_floatingip.FloatingIpTestCasesAdmin)
17:12:37 ----------------------------------------------------------------------------------------------
17:12:37
17:12:37 Captured traceback:
17:12:37 ~~~~~~~~~~~~~~~~~~~
17:12:37 Traceback (most recent call last):
17:12:37 File "tempest/test.py", line 224, in tearDownClass
17:12:37 six.reraise(etype, value, trace)
17:12:37 File "tempest/test.py", line 196, in tearDownClass
17:12:37 teardown()
17:12:37 File "/opt/stack/neutron-tempest-plugin/neutron_tempest_plugin/scenario/admin/test_floatingip.py", line 56, in resource_cleanup
17:12:37 super(FloatingIpTestCasesAdmin, cls).resource_cleanup()
17:12:37 File "/opt/stack/neutron-tempest-plugin/neutron_tempest_plugin/api/base.py", line 149, in resource_cleanup
17:12:37 router)
17:12:37 File "/opt/stack/neutron-tempest-plugin/neutron_tempest_plugin/api/base.py", line 260, in _try_delete_resource
17:12:37 delete_callable(*args, **kwargs)
17:12:37 File "/opt/stack/neutron-tempest-plugin/neutron_tempest_plugin/api/base.py", line 679, in delete_router
17:12:37 client.remove_router_extra_routes(router['id'])
17:12:37 File "/opt/stack/neutron-tempest-plugin/neutron_tempest_plugin/services/network/json/network_client.py", line 452, in remove_router_extra_routes
17:12:37 self.update_router(router_id, routes=None)
17:12:37 File "/opt/stack/neutron-tempest-plugin/neutron_tempest_plugin/services/network/json/network_client.py", line 394, in update_router
17:12:37 return self._update_router(router_id, set_enable_snat=False, **kwargs)
17:12:37 File "/opt/stack/neutron-tempest-plugin/neutron_tempest_plugin/services/network/json/network_client.py", line 382, in _update_router
17:12:37 resp, body = self.put(uri, update_body)
17:12:37 File "tempest/lib/common/rest_client.py", line 344, in put
17:12:37 return self.request('PUT', url, extra_headers, headers, body, chunked)
17:12:37 File "tempest/lib/common/rest_client.py", line 676, in request
17:12:37 self._error_checker(resp, resp_body)
17:12:37 File "tempest/lib/common/rest_client.py", line 787, in _error_checker
17:12:37 raise exceptions.BadRequest(resp_body, resp=resp)
17:12:37 tempest.lib.exceptions.BadRequest: Bad request
17:12:37 Details: {u'type': u'HTTPBadRequest', u'detail': u'', u'message': u"Unrecognized attribute(s) 'routes'"}
17:12:37
Failure is not during actual test, but rather during tearDown of the test.
Further inspection points to this line [2] being added to delete_router method of the base class.
Typically there is an 'if routes in kwargs' or 'if extra_routes extension enabled' sort of check, before calling the extra_route related add/delete methods.
Not sure if this was intentional and extra_routes is now a mandatory
extension. Please correct me if I'm wrong and I can update the neutron
plugin to handle it correctly.
Steps to Reproduce:
- install devstack with a third party neutron L3 plugin enabled
- ensure that this plugin does not support extra_routes extension
- run tempest with neutron-tempest-plugin enabled and enabling only floating_ip tests (to trigger L3 methods)
Probable change-id that can provide more info about why the remove was
added and if it needs change:
Ie9903b7078d6fcff307c5d76770d92df1152d473
[1] https://github.com/openstack/neutron-tempest-plugin/commit/b1a3289fe4b98d1270844aa81f60604e64ae50cf
[2] https://github.com/openstack/neutron-tempest-plugin/blob/b1a3289fe4b98d1270844aa81f60604e64ae50cf/neutron_tempest_plugin/api/base.py#L673
To manage notifications about this bug go to:
https://bugs.launchpad.net/networking-bigswitch/+bug/1805235/+subscriptions
References