a public network with multi subnets , but based on ovn, They can't communicate with each other
This bug report will be marked for expiration in 27 days if no further activity occurs. (find out why)
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
neutron |
Incomplete
|
Medium
|
Unassigned |
Bug Description
a public network with multi subnets , but based on ovn, They can't communicate with each other
Hi, I think it's not a bug, or it's a logical bug, when I change my mechanism_driver from openvswitch to ovn, I've been troubled by this matter for a long time.
ok, my scenario: I applied a subnets from ISP provider, let's call it subnet1 of public_network , After a period of time, the subnet IP is not enough, So I applied for another subnets, let's call it subnet2 of public_network. until now, the public_network will have two subnet.
But FIPs based on two subnets cannot communicate with each other, The FIP of the subnet2 cannot communicate with itself either.
I found some bug reports : <https:/
And in my test, I' found it's a neutron logical bug, yes or no, it's a bug, ha
In neutron ovn_client.py, the function _update_
```
def _update_
"""Update a logical router port."""
networks, ipv6_ra_configs = (
lsp_address = ovn_const.
lrp_name = utils.ovn_
update = {'networks': networks, 'ipv6_ra_configs': ipv6_ra_configs}
is_gw_port = const.DEVICE_
commands = [
def _get_nets_
networks = set()
is_gw_port = const.DEVICE_
# here, it's port_fixed_ips, so subnets2 no fixed ip belong to router external_port
for fixed_ip in port_fixed_ips:
subnet = self._plugin.
cidr = netaddr.
```
ok, fine, that's ok, it can be resolved, set router port multiple fixed ip. But there is no documentation or tutorial telling openstack administrators to do this. no one.
```
# openstack port show b64eb3b2-
{
...
"fixed_ips": [
{
"subnet_id": "d7241630-
"ip_address": "192.168.0.100"
},
{
"subnet_id": "e8cd9b0b-
"ip_address": "192.168.1.100"
}
],
...
}
```
When mechanism_driver is openvswitch, Routing is implemented by iptables, which does not require multiple fixed IPs to be set on the routing port. but ovn not, it need.
So my opinion is
plan1: traverse all subnet in _get_nets_
or plan2: tell us need add multiple fixed ip to router external_port when have multiple subnets
This is a very complex logic, including knowledge of ovn, openvswitch, neutorn, and even router. I can't explain it clearly in this limited content, but I think someone should know about it.