I’m not really clear on what you’re trying to achieve, for instance, why are you using a mixture of geneve and vxlans at the same time?
However, what I can say is that:
You must certainly not use the OVN southbound connection details in lxc config set network.ovn.northbound_connection - this will not work, and if it is for you, then something else is wrong.
I’m confused why your ovn-sbctl show command is showing different things on different hosts. This seems wrong to me, like they are not using the same northbound database as their source. Also I’m not clear what hosts are involved, do you have separate hosts for the OVN NB and SB database cluster vs the chassis hosts that run the actual LXD instances?
My recommendation is to start simple and then work up the complexity from there.
So I would start with a simple 4 node setup; 3x LXD nodes in a cluster and a separate OVN DB node.
Or use one of the nodes as a single NB/SB DB node.
This is what I described here:
Once you’re happy with that, then you can look at adding clustering to the OVN DB itself. @stgraber has done this with the LXD infrastructure so he may be able to show you the connection strings he used for LXD’s northbound setting and OVS’s external_ids:ovn-remote setting?
I’ve given up, for now, trying to get a 3 node OVN cluster working. I’ve gone the simple route: creating a controller node and setting the other 2 to sync nb & sb from that.
Took about 2 hours, mainly because I had to repeat it 3 times to get it right, and I got a log flood & high CPU because of a typo in the controller config.