From f11b3656bb2f3b2d72c3513d26cd3c45510b124f Mon Sep 17 00:00:00 2001 From: Dmitriy Chubinidze Date: Sun, 29 Jun 2025 08:46:14 +0000 Subject: [PATCH] Add example of bridge setting Added basic instructions for configuring a network bridge using nmcli, with a note on alternative network management tools. Signed-off-by: Dmitriy Chubinidze Change-Id: I3ae65e611508e635cf25a1346126d637fba1d3fe --- ...tibonded_compute_prod.nmconnection.example | 162 ++++++++++++++++++ ...ultibonded_infra_prod.nmconnection.example | 82 +++++++++ 2 files changed, 244 insertions(+) create mode 100644 etc/NetworkManager/multibonded_compute_prod.nmconnection.example create mode 100644 etc/NetworkManager/multibonded_infra_prod.nmconnection.example diff --git a/etc/NetworkManager/multibonded_compute_prod.nmconnection.example b/etc/NetworkManager/multibonded_compute_prod.nmconnection.example new file mode 100644 index 0000000000..f96d555b36 --- /dev/null +++ b/etc/NetworkManager/multibonded_compute_prod.nmconnection.example @@ -0,0 +1,162 @@ +# This is an example of a multi-NIC bonded configuration for NetworkManager +# to create the required bridges for OpenStack-Ansible. In your environment, +# the configuration may differ. +# The example shows a compute host setup where compute hosts also serve +# as network gateway nodes. +# Assuming eth0/1 and eth2/3 are dual-port NICs, eth0 is paired with eth2 +# and eth1 with eth3 to improve resiliency in case one NIC card fails. + +# Here is the configuration for the control plane bond, which handles +# the control plane traffic: + +[connection] +id=Bond connection 1 +type=bond +interface-name=bond0 + +[bond] +downdelay=0 +miimon=1 +mode=802.3ad +updelay=0 + +# # Slave interface configuration (includes eth0 and eth2): + +# bond0 port 1 (eth0) +[connection] +id=bond0 port 1 +type=ethernet +controller=bond0 +interface-name=eth0 +port-type=bond + +# bond0 port 2 (eth2) +[connection] +id=bond0 port 2 +type=ethernet +controller=bond0 +interface-name=eth2 +port-type=bond + +# Bridge interface for host and container management: + +[connection] +id=br-mgmt +type=bridge +interface-name=br-mgmt + +[ipv4] +address1=172.29.236.4/22 +method=manual + +# Bridge interface for storage network (optional): + +[connection] +id=br-storage +type=bridge +interface-name=br-storage + +# VLAN interface for container/host management carried over bond0: + +[connection] +id=VLAN connection 1 +type=vlan +controller=br-mgmt +port-type=bridge + +[vlan] +id=10 +parent=bond0 + +# Storage network VLAN interface (optional) + +[connection] +id=VLAN connection 2 +type=vlan +controller=br-storage +port-type=bridge +[vlan] +id=20 +parent=bond0 + +### This bond carries VLAN and VXLAN traffic, ensuring isolation from +# the control plane traffic on bond0. + +# And config for data plane bond: + +[connection] +id=Bond connection 2 +type=bond +interface-name=bond1 + +[bond] +downdelay=0 +miimon=1 +mode=802.3ad +updelay=0 + +# And it's slaves: + +# bond1 port 1 (eth1) + +[connection] +id=bond1 port 1 +uuid=f6d6ae3b-db16-4bc0-b996-fad0d894186d +type=ethernet +controller=bond1 +interface-name=eth1 +port-type=bond + +# bond1 port 2 (eth3) + +[connection] +id=bond1 port 2 +type=ethernet +controller=bond1 +interface-name=eth3 +port-type=bond + +# OpenStack Networking VXLAN (tunnel/overlay) bridge interface: + +[connection] +id=br-vxlan +type=bridge +interface-name=br-vxlan + +# Bridge interface for storage network (optional): + +[connection] +id=br-storage +type=bridge +interface-name=br-storage + +# VXLAN (tunnel/overlay) VLAN interface for OpenStack networking: + +[connection] +id=VLAN connection 3 +type=vlan +controller=br-vxlan +port-type=bridge +timestamp=1752076721 + +[ethernet] + +[vlan] +flags=1 +id=30 +parent=bond1 + +# The br-vlan bridge originates from older setups using containerized Neutron agents. +# It’s no longer needed or recommended — you can use the physical interface directly, +# which allows full utilization of the entire physical NIC without an extra bridge. + +[connection] +id=Bond connection 2 +type=bond +interface-name=bond1 + +[bond] +downdelay=0 +miimon=1 +mode=802.3ad +updelay=0 diff --git a/etc/NetworkManager/multibonded_infra_prod.nmconnection.example b/etc/NetworkManager/multibonded_infra_prod.nmconnection.example new file mode 100644 index 0000000000..7a214fb3e4 --- /dev/null +++ b/etc/NetworkManager/multibonded_infra_prod.nmconnection.example @@ -0,0 +1,82 @@ +# This is a multi-NIC bonded configuration for NetworkManager to create +# the required bridges for OpenStack-Ansible. +# The example below shows the setup for the infrastructure host; +# adapt the assigned IP addresses accordingly for other hosts. + +# Assuming that eth0/1 and eth2/3 are dual port NIC's we pair +# eth0 with eth2 and eth1 with eth3 for increased resiliency +# in the case of one interface card failing. + +# Here is the configuration for the control plane bond, which handles +# the control plane traffic: + +[connection] +id=Bond connection 1 +type=bond +interface-name=bond0 + +[bond] +downdelay=0 +miimon=1 +mode=802.3ad +updelay=0 + +# Slave interface configuration (includes eth0 and eth2): + +# bond0 port 1 (eth0) +[connection] +id=bond0 port 1 +type=ethernet +controller=bond0 +interface-name=eth0 +port-type=bond + +# bond0 port 2 (eth2) +[connection] +id=bond0 port 2 +type=ethernet +controller=bond0 +interface-name=eth2 +port-type=bond + +# Bridge interface for host and container management: + +[connection] +id=br-mgmt +type=bridge +interface-name=br-mgmt + +[ipv4] +address1=172.29.236.1/22 +method=manual + +# Bridge interface for storage network (optional): + +[connection] +id=br-storage +type=bridge +interface-name=br-storage + +# VLAN interface for container/host management carried over bond0: + +[connection] +id=VLAN connection 1 +type=vlan +controller=br-mgmt +port-type=bridge + +[vlan] +id=10 +parent=bond0 + +# Optional storage network VLAN interface: + +[connection] +id=VLAN connection 2 +type=vlan +controller=br-storage +port-type=bridge + +[vlan] +id=20 +parent=bond0