Unable to set working ovn network

Hello,

I have 5 physical servers and I have and working microvn cluster setup by microcloud over physical devices with already set IPs.

But as you can see from the screenshot ovn network is not present.

Unfortunatly I cannot use a bridge nor I have second physical NIC without an IP.

So how can I make lxd to use the ovn network?

Hey @mihail-igoshin, in your second screenshot I can see that MicroCloud logs a warning about that some systems are not eligible for distributed networking.

It’s required that you have at least one unconfigured network interface per system so you can configure OVN networking. If not available it falls back to FAN networking. Please have a look at the pre-deployment requirements in the docs https://documentation.ubuntu.com/microcloud/latest/microcloud/how-to/install/#pre-deployment-requirements.

Yeah, I’ve seen it. Is there a way somehow to use lxdbr0 or?

Because servers are in OVH and OVH does not allow internet traffic for bridged devices unless you order additional IP. And if you have 70 containers means 70 additional IPs which crazy amount of money.

In case you don’t have multiple uplink interfaces, you can also use a bridge instead for the OVN uplink on all of the cluster members. However this is not recommended for production use. See this section in the docs https://documentation.ubuntu.com/microcloud/latest/microcloud/reference/requirements/#single-network-interface-configuration.

Also you need to have a shared layer two network between all of the cluster members (your OVH servers) so that the OVN active chassis can be moved. If your uplink network uses public IPs, you would also need to have control over the respective subnet as LXD will try to allocate addresses for each of the OVN network’s routers.

So even if you use a bridge, the uplink network’s traffic cannot terminate there.

Is there a way somehow to use lxdbr0

The layer two cannot be terminated inside the host as it needs to span across all of the servers participating in the MicroCloud. In case you setup a bridge and assign an address to it, this would theoretically only work for a single node MicroCloud deployment as you don’t need to span the layer two across multiple servers.

You cannot use lxdbr0 as MicroCloud sets up LXD so you would not be able to setup LXD prior to initializing MicroCloud. Any bridge configuration would need to be done manually upfront.

This is not the default behavior. If you spawn 70 instances inside the MicroCloud (LXD), they are attached to an OVN network and use a virtual IP from the respective OVN network. Egress traffic from those instances will use NAT when leaving the network which means there is no additional public IP address required.

I’m not a network engineer by any mean but when I create bridged interface and attach it to LXD containers do not have any network. They somehow block NAT.

Here is the quote from OVH support team:

Unfortunately, it is not possible to configure virtual machines (VMs) on our infrastructure without ordering additional IPs. VMs require individual public IP addresses to function correctly, and these are only available through additional IP orders. The main IP of the dedicated server cannot be directly assigned to a VM due to network routing limitations.

To proceed, please ensure that each VM is assigned a properly configured additional IP, as outlined in our network bridging guide.

This setup is necessary for proper connectivity and compliance with our network architecture.

If you are using plain LXD (not MicroCloud) on a single server, you can create a managed LXD bridge network which will by default use NAT so the traffic leaves on your servers IP. The instances (VMs and containers) will get an IP address from the private network range assigned to the managed bridge network.

I have 5 servers with microcloud. Can you help me with something else. While I was setup microovn I set on IP range and ovn network was created with another and when I try to change anything to the ovn network I’m getting an error message. OVN is configured on internal interface LAN without network.


The range have provided during setup is used to allocate addresses for each of the OVN networks routers, e.g. the router from the default OVN network. The network itself is using a virtual range to which you attach the instances.

I’m not sure that I understood you, but what about the error

# lxc network edit default
Config parsing error: Uplink network doesn’t contain “10.45.234.0/24” in its routes
Press enter to open the editor again or ctrl+c to abort change

And is it possible with bridged device just to create an OVN network without internet connectivity properly, because the bridge device it self does not have internet access? I will use it only for internal purposes.

Regarding the "Uplink network doesn’t contain … " error.

If you disable NAT on the OVN network, you need to ensure that traffic pointing to the OVN network (10.45.234.1/24) is properly routed to the respective external address of the OVN network’s router. You can get this address by running lxc network show default and grepping the volatile.network.ipv4.address.

If the routing is setup, you can set the network on the UPLINK network’s ipv4.routes config key which then disables this warning.

Currently we are expecting an uplink interface to be configured.

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.