yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #95743
[Bug 2097747] Re: neutron not update ovn routers
[Expired for neutron because there has been no activity for 60 days.]
** Changed in: neutron
Status: Incomplete => Expired
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/2097747
Title:
neutron not update ovn routers
Status in neutron:
Expired
Bug description:
openstack relase: stable/wallaby
related bugs: https://bugs.launchpad.net/neutron/+bug/2058433
https://bugs.launchpad.net/neutron/+bug/2035281
In bug(2058433), I encountered a multi-subnet issue, which caused
interconnection issues between multiple subnets. I solved it by adding
multiple fixed_ips to a router_gateway_port.
In bug(2035281), It fundamentally solved my problem, but since I'm in
a production environment, I can't update the source code.
ok, that's fine. But I found a new bug when I add/update/delete
multiple fixed_ips on router_gateway_port .
In the _update_lrouter_port function in ovn_client.py, it will find
all cidr networks through the
_get_nets_and_ipv6_ra_confs_for_router_port function, which will be
updated to ovn lsp-route.
When I add fixed_ip multiple times to cause the port to be updated,
the route will be repeated. like below
```shell
docker exec -it ovn_nb_db ovn-nbctl lr-route-list c728637d-b8c4-4dd5-b897-28e18b89656a
# xx.xxx is a same prefix.
IPv4 Routes
172.16.0.0/24 10.0.0.10 dst-ip
0.0.0.0/0 xx.xxx.177.129 dst-ip
0.0.0.0/0 xx.xxx.177.129 dst-ip
0.0.0.0/0 xx.xxx.203.193 dst-ip
0.0.0.0/0 xx.xxx.203.193 dst-ip
0.0.0.0/0 xx.xxx.203.193 dst-ip
0.0.0.0/0 xx.xxx.203.65 dst-ip
0.0.0.0/0 xx.xxx.203.65 dst-ip
0.0.0.0/0 xx.xxx.203.65 dst-ip
0.0.0.0/0 xx.xxx.234.1 dst-ip
0.0.0.0/0 xx.xxx.234.1 dst-ip
```
But it won't make any difference
ok, when i delete a fixed_ip on router_gateway_port, it still have a
route.
When I add multiple fixed_ips, it will turn into emcp mode when
routing, and a route will be randomly selected from my several
gateways. So when I delete a fixed_ip but the route still exists, it
will not be able to find the corresponding gateway in ecmp mode.
I think this is because there is only a method in the code for adding,
not updating or deleting. Therefore, it will lead to repeated addition
or inability to delete
in function self._nb_idl.update_lrouter_port, It is
```
for col, val in self.columns.items():
if col == 'gateway_chassis':
col, val = _add_gateway_chassis(self.api, txn, self.name,
val)
setattr(lrouter_port, col, val)
```
---
Oh~!, I was think it's a neutron bug , but now i think it's a ovn bug.
To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/2097747/+subscriptions
References