MicroOVN High Availability Mode?

The best that I can tell, MicroOVN stands up a clustered OVN with the L3HA mode set at Controller Independent Active-backup. Meaning, that one LXD member is selected as the OVN chassis and all host network traffic is routed through it.

Reference: https://github.com/ovn-org/ovn/blob/19de791062fbdb38741c65c476343cb53c88542e/Documentation/topics/high-availability.rst

Is it possible to configure MicroOVN to use the Active-Active Backup mode described in the above reference? So that the traffic isn’t routed through just one of the LXD members? Or is this how it’s already setup and the OVN Chassis from lxc network info <ovn> is just the leader in the raft?

Hi, it’s not always the same OVN chassis but instead randomly chosen to allow spreading the uplink traffic across all of the cluster nodes.
If the selected chassis fails another one will be used instead.

When you say host traffic we have to differentiate between traffic coming from the LXD networks (and their connected instances) and traffic originating from the actual cluster nodes. The latter isn’t flowing via OVN.

MicroOVN stands up a clustered OVN with the L3HA mode set at Controller Independent Active-backup. Meaning, that one LXD member is selected as the OVN chassis and all host network traffic is routed through it.

Correct, but the selected active chassis is per-OVN network, so if you have multiple OVN networks, a potentially different active chassis is picked for each network. Rather than them all using the same cluster member chassis for external comms.

Is it possible to configure MicroOVN to use the Active-Active Backup mode described in the above reference.

No it isn’t. Each LXD OVN network has a virtual router that has an single IP onto the uplink network.
This IP can “float” between the LXD cluster members such that if one member goes down the OVN network’s IP fails over to another cluster member. This is done at the L2 level by way of ARP/NDP adverts.

I was expecting it to be using L3HA based on what appears to be very outdated documentation from OVN. If it’s using L2HA it changes some things.

But this makes it sound like they could choose the same chassis?.

The issue I’m trying to figure out is how to load balance the traffic of the cluster’s hosts (vms) so that they utilize more than one servers UPLINK NIC.

Looking at that linked document I would say its most akin to “Controller Independent Active-backup” https://github.com/ovn-org/ovn/blob/19de791062fbdb38741c65c476343cb53c88542e/Documentation/topics/high-availability.rst#controller-independent-active-backup

OVN deals with automatically moving the router for each OVN network to its next chassis should one chassis fail (based on pre-computed per-OVN chassis priority list).

If using multiple OVN networks LXD will use a different priority list so that all traffic from all networks won’t choose the same chassis.

One can influence which LXD cluster members are considered for a role of being an OVN chassis by setting cluster member roles, see:

https://documentation.ubuntu.com/lxd/en/latest/explanation/clustering/#member-roles

The issue I’m trying to figure out is how to load balance the traffic of the cluster’s hosts (vms) so that they utilize more than one servers UPLINK NIC

This sounds like a different issue/question.

One can configure multiple “uplink” physical networks (https://documentation.ubuntu.com/lxd/en/latest/reference/network_physical/) each utilising a different external interface on the LXD host.

Then each OVN network can be specified to use a particular network as is uplink such that external traffic goes via that interface.

See https://documentation.ubuntu.com/lxd/en/latest/howto/network_create/#create-a-network-in-a-cluster