From 76712800752e8989fb86e05b78c1a87f89227b25 Mon Sep 17 00:00:00 2001 From: David J Wilder Date: Mon, 9 Dec 2024 10:12:46 -0800 Subject: [PATCH] Give bonding slaves time to implicitly activate. With bonded network configurations slaves interfaces will be implicitly activate after br-ex is explicitly activated. This implicit activation can take a number of seconds, during this time if one and only one slave is explicitly activated the bonding driver may set the same MAC address to both slaves. This will cause the bond to fail when option fail_over_mac=follow is set. This change gives bond slaves up to 5 seconds to implicitly activate preventing the issue. Link: https://github.com/openshift/machine-config-operator/issues/4605 Signed-off-by: David Wilder --- templates/common/_base/files/configure-ovs-network.yaml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/templates/common/_base/files/configure-ovs-network.yaml b/templates/common/_base/files/configure-ovs-network.yaml index ff924592aa..0a006ea592 100644 --- a/templates/common/_base/files/configure-ovs-network.yaml +++ b/templates/common/_base/files/configure-ovs-network.yaml @@ -569,6 +569,13 @@ contents: fi fi + # slaves should implicitly activate, give them a chance to do so + if $is_slave; then + if ! timeout 5 bash -c "while ! nmcli -g GENERAL.STATE conn show "$conn" | grep activated; do sleep 1; done"; then + echo "WARNING: slave $conn did not implicitly activate in 5s, activating explicitly." + fi + fi + # Do not activate interfaces that are already active # But set the entry in master_interfaces to true if this is a slave # Also set autoconnect to yes