Hello all:

Along with the already implemented and merged feature "Multiple backend support for L3 routers in ML2/OVN" [1], it was needed to implement the HA extension support for the ML2/OVN routers. This is also a long standing technical debt in the L3 side of the ML2/OVN mech driver. The non-OVN routers have a HA flag to define the high availability support; the OVN routers, that are HA by default, do not expose nor accept this API flag.

The following patch [2] implements this API extension for the ML2/OVN routers. This patch adds the needed extension to the mechanism driver and adds the "ha" flag to the router resource. Because right now OVN routers are only HA, creating or setting an OVN router to "no-ha" will fail (raising the corresponding exception). This is tested in the patch.

The proposal of this FFE was discussed in the Neutron team meeting yesterday [3].

Regards.

[1]https://review.opendev.org/q/topic:%22router-flavor-ovn%22
[2]https://review.opendev.org/c/openstack/neutron/+/910889
[3]https://meetings.opendev.org/meetings/networking/2024/networking.2024-03-05-14.00.log.html#l-21