Description:
In dev or test environments where redundancy is not matter on AHV, you may want to create bridges with a single uplink. When multiple uplinks are used they are added to bond acting as a single logical interface, to which bridge is connected. Open vSwitch (OVS) does not support bonds with single uplink and as workaround we directly connect bridge to single uplink.
Solution:
WARNING: On clusters running any AOS version between 5.10 and 5.10.3.2 DO NOT run “update_uplinks” with single interface specified on the interfaces .
If you have node with single interface in a bridge or want to create one please upgrade AOS to 5.10.4 or newer before making any changes or engage Nutanix Support
WARNING: Updating uplinks using “manage_ovs” will delete and recreate the bond with default configuration.
Consider following before updating uplinks:
- Make host in maintenance mode before performing this activity.
- if you are using active-backup load balancing mode then uplink update can cause short network disconnect .
- If balance-slb or balance-tcp (LACP) load balancing mode is used on AHV uplink update will reset configuration to active-passive.
It is strongly recommended to perform changes on single node at the time after making sure that cluster can tolerate node failure.
Follow the post of cluster health that describes how to check if cluster can tolerate node failure.
Dont use “allssh manage_ovs update_uplinks” command from CVM that may lead to a cluster outage and critical alerts.
Only use it if cluster is not in production and has no user guest VMs running(Be careful).
To update bridge to single uplink please run following command on any CVM:
nutanix@cvm1:~$ manage_ovs --bridge_name br1 --interfaces eth1 update_uplinks
Manage_ovs willshow report bond with same name as interface in show_uplinks output:
nutanix@cvm1:~$ manage_ovs show_uplinks Bridge: br0 Bond: eth3 bond_mode: active-backup interfaces: eth3 lacp: off lacp-fallback: false lacp_speed: slow
“ovs-appctl bond/list” will not be showing any bonds:
root@ahvhost# ovs-appctl bond/list bond type recircID slaves root@ahvhost#
"ovs-vsctl show" will show that br0 is using eth3 interface:
[root@ahvhost ~]# ovs-vsctl show ... Bridge "br0" ... Port "eth3" Interface "eth3" ...
For comparison, here is how “ovs-vsctl show” on AHV output looks like when there are 2 or more uplinks in bond:
[root@ahvhost ~]# ovs-vsctl show Bridge "br0" ... Port "br0-up" Interface "eth3" Interface "eth4"
One comment