Reviewed: https://review.opendev.org/c/openstack/neutron/+/799781 Committed: https://opendev.org/openstack/neutron/commit/6ce48c30bdc153e75c4b9b409203f472b065c11b Submitter: "Zuul (22348)" Branch: master
commit 6ce48c30bdc153e75c4b9b409203f472b065c11b Author: Slawek Kaplonski <[email protected]> Date: Wed Jul 7 12:00:14 2021 +0200 [L3] Use processing queue for network update events Router_info's _process_internal_ports() method is the one which is manipulating router_info.internal_ports cache and network_update() method from the L3 agent is relying on that Router_info's cache to check if updated network is connected to the router or not. So they shouldn't be run together as that may cause some race conditions and unexpected issues, like e.g. described in the related bug. Until now, network_update event was the only one which was processed without using queue of events. And because of that such race condition as described above were possible. To fix that, this patch changes network_update method in the way that it now adds update events for each router hosted by agent to the queue. Those events for single routers are then processed, checks if network is actually connected to the router and if yes, schedules router update to be processed. Closes-Bug: #1933234 Change-Id: I2efe66a7415f7a18fb85bd2536a1901e751d6203 ** Changed in: neutron Status: In Progress => 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/1933234 Title: [Fullstack] TestLegacyL3Agent.test_mtu_update fails sometimes Status in neutron: Fix Released Bug description: Traceback (most recent call last): File "/home/zuul/src/opendev.org/openstack/neutron/neutron/tests/base.py", line 183, in func return f(self, *args, **kwargs) File "/home/zuul/src/opendev.org/openstack/neutron/neutron/tests/fullstack/test_l3_agent.py", line 322, in test_mtu_update common_utils.wait_until_true(lambda: ri_dev.link.mtu == mtu) File "/home/zuul/src/opendev.org/openstack/neutron/neutron/common/utils.py", line 707, in wait_until_true raise WaitTimeout(_("Timed out after %d seconds") % timeout) neutron.common.utils.WaitTimeout: Timed out after 60 seconds example: https://storage.bhs.cloud.ovh.net/v1/AUTH_dcaab5e32b234d56b626f72581e3644c/zuul_opendev_logs_c93/674044/13/check/neutron- fullstack-with-uwsgi/c9334b7/testr_results.html So router interface device MTU is not updated after network MTU update. To manage notifications about this bug go to: https://bugs.launchpad.net/neutron/+bug/1933234/+subscriptions -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : [email protected] Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp

