yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #87593
[Bug 1933273] Re: Unable to update mtu on DVR snat
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 <skaplons@xxxxxxxxxx>
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
References