From 50817d16b4ef2d3287b7e5fefe1340aef75f5733 Mon Sep 17 00:00:00 2001 From: David J Wilder Date: Mon, 23 Sep 2024 14:31:24 -0700 Subject: [PATCH] Race in configure-ovs.sh affects bonding interface configuration. Bonded network configurations with mode=active-backup and fail_over_mac=follow are not functioning due to a race when activating network profiles. activate_nm_connections() attempts to activate all its generated profiles that are not currently in the "active" state. As autoconnect-slaves is set, once br-ex is activated the bond and all its slaves are automatically activated. Their state is set to "activating" until they become active. The "activating" state is not tested for therefor some of the subordinate profiles maybe activated multiple times causing a race in the bonding driver and incorrectly configuring the bond. Link: https://github.com/openshift/machine-config-operator/issues/4605 Signed-off-by: David Wilder --- templates/common/_base/files/configure-ovs-network.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/common/_base/files/configure-ovs-network.yaml b/templates/common/_base/files/configure-ovs-network.yaml index ff924592aa..3d3f369c57 100644 --- a/templates/common/_base/files/configure-ovs-network.yaml +++ b/templates/common/_base/files/configure-ovs-network.yaml @@ -573,7 +573,7 @@ contents: # But set the entry in master_interfaces to true if this is a slave # Also set autoconnect to yes local active_state=$(nmcli -g GENERAL.STATE conn show "$conn") - if [ "$active_state" == "activated" ]; then + if [ "$active_state" == "activated" ] || [ "$active_state" == "activating" ]; then echo "Connection $conn already activated" if $is_slave; then master_interfaces[$master_interface]=true