Reviewed: https://review.opendev.org/c/openstack/neutron/+/799439 Committed: https://opendev.org/openstack/neutron/commit/21eabbcf03cb29be9899adbd6eaea207892cf07b Submitter: "Zuul (22348)" Branch: master
commit 21eabbcf03cb29be9899adbd6eaea207892cf07b Author: Slawek Kaplonski <[email protected]> Date: Mon Jul 5 09:40:28 2021 +0200 [DVR] Fix update of the MTU in the DVR HA routers This is follow up of the patch [1] which fixed updating MTU in the snat namespace for the DVR routers. In case of DVR-HA routers there was additional issue with that as L3 agent tried to update MTU for the qr- interface in the self.ha_namespace which, for DVR-HA routers is snat namespace. This patch fixes that issue by setting MTU on the qr- interface in qrouter namespace and also setting MTU on the snat interface in snat namespace. [1] https://review.opendev.org/c/openstack/neutron/+/799226 Closes-bug: #1933273 Change-Id: I409bc674b65e4f495ebd42d03e97a09d51482339 ** 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/1933273 Title: Unable to update mtu on DVR snat Status in neutron: Fix Released Bug description: When updating the mtu on a network, the new mtu is correctly set in qrouter-namespace but not in snat-namespace. Also, a stack trace is reported in l3-agent logs stating that the qr- abcdef interface is not found. Step by step: - create a router in DVR mode (I also have HA, but non HA is also affected) - add an external gw - add a network to this router Check the network mtu on the compute on both namespaces: $ ip netns exec qrouter-9d5352e8-4f40-49a0-a632-9406042478b8 ip l ... 18: qr-e05ab302-1b: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 $ ip netns exec snat-9d5352e8-4f40-49a0-a632-9406042478b8 ip l ... 16: sg-7ab0954c-73: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 (mtu is 1450) - change the network mtu: $ openstack network set --mtu 1400 MyNetwork Check the network mtu on the compute on both namespaces: $ ip netns exec qrouter-9d5352e8-4f40-49a0-a632-9406042478b8 ip l ... 18: qr-e05ab302-1b: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1400 $ ip netns exec snat-9d5352e8-4f40-49a0-a632-9406042478b8 ip l ... 16: sg-7ab0954c-73: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 In neutron-l3-agent.log file, I can see: ERROR neutron.agent.l3.router_info [-] Network interface qr-e05ab302-1b not found in namespace snat-9d5352e8-4f40-49a0-a632-9406042478b8.: neutron.privileged.agent.linux.ip_lib.Net[..truncated..] ERROR neutron.agent.l3.router_info Traceback (most recent call last): ERROR neutron.agent.l3.router_info File "/usr/lib/python3/dist-packages/neutron/common/utils.py", line 167, in call ERROR neutron.agent.l3.router_info return func(*args, **kwargs) ERROR neutron.agent.l3.router_info File "/usr/lib/python3/dist-packages/neutron/agent/l3/router_info.py", line 1243, in process ERROR neutron.agent.l3.router_info self._process_internal_ports() ERROR neutron.agent.l3.router_info File "/usr/lib/python3/dist-packages/neutron/agent/l3/router_info.py", line 656, in _process_internal_ports ERROR neutron.agent.l3.router_info interface_name, ip_cidrs, p['mtu']) ERROR neutron.agent.l3.router_info File "/usr/lib/python3/dist-packages/neutron/agent/l3/ha_router.py", line 367, in internal_network_updated ERROR neutron.agent.l3.router_info self._disable_ipv6_addressing_on_interface(interface_name) ERROR neutron.agent.l3.router_info File "/usr/lib/python3/dist-packages/neutron/agent/l3/ha_router.py", line 331, in _disable_ipv6_addressing_on_interface ERROR neutron.agent.l3.router_info ipv6_lladdr = ip_lib.get_ipv6_lladdr(device.link.address) ERROR neutron.agent.l3.router_info File "/usr/lib/python3/dist-packages/neutron/agent/linux/ip_lib.py", line 476, in address ERROR neutron.agent.l3.router_info return self.attributes.get('link/ether') ERROR neutron.agent.l3.router_info File "/usr/lib/python3/dist-packages/neutron/agent/linux/ip_lib.py", line 509, in attributes ERROR neutron.agent.l3.router_info self._parent.namespace) ERROR neutron.agent.l3.router_info File "/usr/lib/python3/dist-packages/oslo_privsep/priv_context.py", line 247, in _wrap ERROR neutron.agent.l3.router_info return self.channel.remote_call(name, args, kwargs) ERROR neutron.agent.l3.router_info File "/usr/lib/python3/dist-packages/oslo_privsep/daemon.py", line 224, in remote_call ERROR neutron.agent.l3.router_info raise exc_type(*result[2]) ERROR neutron.agent.l3.router_info neutron.privileged.agent.linux.ip_lib.NetworkInterfaceNotFound: Network interface qr-e05ab302-1b not found in namespace snat-9d5352e8-4f40-49a0-a[..truncated..] ERROR neutron.agent.l3.router_info Note that I am running OpenStack Victoria To manage notifications about this bug go to: https://bugs.launchpad.net/neutron/+bug/1933273/+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

