[neutron-tempest-plugin] delete_router calls remove_router_extra_routes even when extra_routes extension is disabled
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
networking-bigswitch |
Fix Released
|
Undecided
|
Unassigned | ||
neutron |
Fix Released
|
Medium
|
Aditya Vaja |
Bug Description
A recent change [1] to neutron-
The failure stack trace looks as follows:
17:12:37 tearDownClass (neutron_
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/
17:12:37 super(FloatingI
17:12:37 File "/opt/stack/
17:12:37 router)
17:12:37 File "/opt/stack/
17:12:37 delete_
17:12:37 File "/opt/stack/
17:12:37 client.
17:12:37 File "/opt/stack/
17:12:37 self.update_
17:12:37 File "/opt/stack/
17:12:37 return self._update_
17:12:37 File "/opt/stack/
17:12:37 resp, body = self.put(uri, update_body)
17:12:37 File "tempest/
17:12:37 return self.request('PUT', url, extra_headers, headers, body, chunked)
17:12:37 File "tempest/
17:12:37 self._error_
17:12:37 File "tempest/
17:12:37 raise exceptions.
17:12:37 tempest.
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-
Probable change-id that can provide more info about why the remove was added and if it needs change: Ie9903b7078d6fc
[1] https:/
[2] https:/
Changed in neutron: | |
assignee: | nobody → Aditya Vaja (wolverine-av) |
status: | New → In Progress |
Changed in networking-bigswitch: | |
status: | New → Fix Released |
Yes, that call in delete_router() should have been added in a better way. Best solution is probably to add a cleanup call in the test setup that would trigger that, at least that's my initial thought.