In order to expose OVN LoadBalancers at OpenStack with BGP the traffic needs to be exposed on the chassis having the CR-LRP port. As this information is only available currently at the OVN SB DB, the ovn-bgp-agent [1] is connected to it. This forces making some assumptions about OVN SB DBs that may change in the future (such as the availability of a Load_Balancer table). In order not to double the number of connections to OVN DBs (i.e., SB + NB), it would be required to add the gateway chassis binding information to the NB. This would enable only connecting to NB to expose the routes though BGP. [1] https://opendev.org/x/ovn-bgp-agent
Hi Luis, I'm triaging this issue. I'm having trouble understanding which information you need in the northbound database. Can you be more specific about what you currently are getting from the southbound database and where in the northbound database you would like it to live? Is the issue that you have set multiple gateway chassis for a router port and you need to know which of the configured chassis the port is currently bound on? Or have I misinterpreted the request? Thanks!
Hi Mark, that is exactly what I need. For instance, https://opendev.org/x/ovn-bgp-agent is using this information to be able to expose ovn-lb through BGP (as the ARP reply comes from the cr-lrp port where the loadbalancer members are connected through) on the node currently holding the gateway chassis port. This information is available at SB DB, but not at NB DB. For what I saw, that is the only information I'm missing so that we could change the agent to use NB instead of SB.
Thanks, Luis. I'll mark triage complete.
on the unfixed versioin: :: [ 05:53:27 ] :: [ BEGIN ] :: Running 'ovn-nbctl find logical_router_port name=r1_s2' _uuid : 2c9ef7da-7fc7-4094-9661-19af077422fa enabled : [] external_ids : {} gateway_chassis : [82236df8-ce89-4827-b50e-3226384919b9] ha_chassis_group : [] ipv6_prefix : [] ipv6_ra_configs : {} mac : "00:de:ad:ff:01:02" name : r1_s2 networks : ["172.16.102.1/24"] options : {} peer : [] on the fixed version: ovn23.09-23.09.0-73.el9fdp.x86_64 ovn23.09-central-23.09.0-73.el9fdp.x86_64 ovn23.09-host-23.09.0-73.el9fdp.x86_64 :: [ 05:45:24 ] :: [ BEGIN ] :: Running 'ovn-nbctl find logical_router_port name=r1_s2' _uuid : 8511cdc8-c64f-44dd-a221-6d3c6f6aa707 enabled : [] external_ids : {} gateway_chassis : [bf01aa86-02db-4722-a93d-f374f5b93620] ha_chassis_group : [] ipv6_prefix : [] ipv6_ra_configs : {} mac : "00:de:ad:ff:01:02" name : r1_s2 networks : ["172.16.102.1/24"] options : {} peer : [] status : {hosting-chassis=hv1} --------------here add new information set verified.
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory (ovn23.09 bug fix and enhancement update), and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHBA-2024:0392