[NETVIRT-1019] CSIT Sporadic failures - port leak in tempest suite Created: 20/Nov/17 Updated: 23/Jul/18 Resolved: 23/Jul/18 |
|
| Status: | Verified |
| Project: | netvirt |
| Component/s: | General |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Bug | Priority: | Medium |
| Reporter: | Jamo Luhrsen | Assignee: | Jamo Luhrsen |
| Resolution: | Done | Votes: | 0 |
| Labels: | csit:failures | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Priority: | Normal |
| Description |
|
Some ports are not cleaned up during our tempest suite and the suite teardown Functionally, I think all the tempest test cases are passing for the most I can't find the smoking gun, and it could be coming from multiple tempest I saw an update_port_precommit exception when digging around: 2017-11-20 10:14:20.192 16601 DEBUG neutron.plugins.ml2.managers [req-0e73cc7b-709c-422d-a3cd-50e84233e2fc - -] DB exception raised by Mechanism driver 'opendaylight_v2' in update_port_precommit _call_on_drivers /opt/stack/neutron/neutron/plugins/ml2/managers.py:433 2017-11-20 10:14:20.192 16601 ERROR neutron.plugins.ml2.managers Traceback (most recent call last): 2017-11-20 10:14:20.192 16601 ERROR neutron.plugins.ml2.managers File /opt/stack/neutron/neutron/plugins/ml2/managers.py, line 426, in _call_on_drivers 2017-11-20 10:14:20.192 16601 ERROR neutron.plugins.ml2.managers getattr(driver.obj, method_name)(context) 2017-11-20 10:14:20.192 16601 ERROR neutron.plugins.ml2.managers File /usr/lib/python2.7/site-packages/oslo_log/helpers.py, line 67, in wrapper 2017-11-20 10:14:20.192 16601 ERROR neutron.plugins.ml2.managers return method(*args, **kwargs) 2017-11-20 10:14:20.192 16601 ERROR neutron.plugins.ml2.managers File /opt/stack/networking-odl/networking_odl/ml2/mech_driver_v2.py, line 139, in update_port_precommit 2017-11-20 10:14:20.192 16601 ERROR neutron.plugins.ml2.managers context, odl_const.ODL_PORT, odl_const.ODL_UPDATE) 2017-11-20 10:14:20.192 16601 ERROR neutron.plugins.ml2.managers File /opt/stack/networking-odl/networking_odl/ml2/mech_driver_v2.py, line 109, in _record_in_journal 2017-11-20 10:14:20.192 16601 ERROR neutron.plugins.ml2.managers ml2_context=context) 2017-11-20 10:14:20.192 16601 ERROR neutron.plugins.ml2.managers File /opt/stack/networking-odl/networking_odl/journal/journal.py, line 121, in record 2017-11-20 10:14:20.192 16601 ERROR neutron.plugins.ml2.managers raise exception.RetryRequest(e) 2017-11-20 10:14:20.192 16601 ERROR neutron.plugins.ml2.managers RetryRequest 2017-11-20 10:14:20.192 16601 ERROR neutron.plugins.ml2.managers *_ I can also take the mac address of a port I think has leaked and grep the [0] https://logs.opendaylight.org/releng/jenkins092/netvirt-csit-1node-openstack-ocata-upstream-stateful-nitrogen/443/log_tempest.html.gz |
| Comments |
| Comment by Jamo Luhrsen [ 27/Nov/17 ] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
This is still a problem even though we thought maybe Vic's patch could have fixed it. see this email | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Jamo Luhrsen [ 08/Dec/17 ] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
because of this test patch, this will not be visible in our upstream tempest suite. Please do not mark this issue as resolved until a new test patch is made that will include a final test case in the tempest suite to try to delete the external-net. That test case should fail if/when the port leak happens. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Jamo Luhrsen [ 11/Dec/17 ] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
here's a test patch to try to catch the port leak: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Jamo Luhrsen [ 19/Dec/17 ] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
below you can see the router leak, which is connected to the external subnet. This could be a tempest
# ROUTER LISTING ("test" router is unrelated to this bug)
#RUNNING TEMPEST. NOTE THE REGEX WHICH MAKES IT QUICK TO REPRODUCE: {0} tempest.api.network.admin.test_routers.RoutersAdminTest.test_create_router_with_default_snat_value [4.851977s] ... ok {{{1} tempest.api.network.admin.test_routers.RoutersIpV6AdminTest.test_create_router_with_snat_explicit [6.949165s] ... ok}} {1} tempest.api.network.admin.test_routers.RoutersIpV6AdminTest.test_update_router_reset_gateway_without_snat [4.042365s] ... ok {{{0} tempest.api.network.admin.test_routers.RoutersAdminTest.test_update_router_reset_gateway_without_snat [4.330543s] ... ok}} {0} tempest.api.network.admin.test_routers.RoutersAdminTest.test_update_router_set_gateway_with_snat_explicit [3.372157s] ... ok {{{1} tempest.api.network.admin.test_routers.RoutersIpV6AdminTest.test_update_router_set_gateway_without_snat [4.280598s] ... ok}} tempest.api.network.admin.test_routers.RoutersAdminTest.test_update_router_set_gateway_without_snat [4.387563s] ... ok}} ====== ============== # WHEN THE BUG IS HIT, A TEMPEST ROUTER WILL BE LEFT OVER: #BELOW IS SOME EXTRA INFO TO ILLUSTRATE THE PROBLEM WE USED TO HAVE IN CSIT: }}{{(overcloud) [stack@undercloud-0 ~]$ openstack router show 31ede456-748e-4862-89a0-edbc7f2b5043 ]} |}}
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Itzik Brown [ 20/Dec/17 ] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
jluhrsen If this is a tempest cleanup problem we need to open a bug in Launchpad (https://launchpad.net/tempest).
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Jamo Luhrsen [ 20/Dec/17 ] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
itzikb, if someone is able to figure out the root cause and it turns out to be a tempest issue, they yes we should open a bug against the tempest project. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Waldemar Znoinski [ 22/Mar/18 ] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
NOTE: the 'tempest-RoutersAdminTest-router-920392578' leftover from previous test that will never be deleted
this may indicate subsequent router creation request(s) are being sent (guess: due to lack of timely response to previous ones?) and only some of them are being registered for resource_cleanup later | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Waldemar Znoinski [ 22/Mar/18 ] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
additionally when I run one test on its own tempest.api.network.admin.test_routers.RoutersAdminTest.test_create_router_with_default_snat_value I can reproduce the issue (I see 2 routers being created but only one cleaned up) in 1 every ~5 runs | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Waldemar Znoinski [ 27/Mar/18 ] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
I think the leftovers issue is more complicated than initially looked like:
launchpad bug filled for the point 1. above: https://bugs.launchpad.net/neutron/+bug/1759321 re the point 2. it doesn't seem like tempest issue (otherwise we'd see any of these leftovers in non-odl testing - point 1 above - because we run exactly the same test suite), it needs more investigation
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Jamo Luhrsen [ 10/Apr/18 ] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
when we have this fixed, this CSIT patch will help us catch any future regressions. Here's what a failure would look like | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by OpenDaylight Release [ 03/May/18 ] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Since the bug is unassigned I'm currently assigning it to you. Please assign to the relevant person. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Sam Hague [ 25/May/18 ] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
jluhrsen is this still an issue? The test case to catch port leaks was not merged yet. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Jamo Luhrsen [ 25/May/18 ] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
yes. we have a CSIT patch which will catch this in automation, but since we | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Jamo Luhrsen [ 12/Jul/18 ] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
some patches in networking-odl that will hopefully resolve this issue: https://review.openstack.org/#/c/575126/ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Jamo Luhrsen [ 23/Jul/18 ] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
This was a fix on the openstack side: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Jamo Luhrsen [ 23/Jul/18 ] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
the openstack fix was merged on Jul 19th, 2018. we can see a job the day before with leaked routers , and a job the next day with no leak |