Bonded interfaces are misconfigured after patching from 7.5.0 to 7.6.0.1 regardless of whether BONDING_OPTS was correctly set pre-patch.
The Network Manager migration runsnmcli c migrateacross allifcfg-*files in a single unordered pass. When slave ifcfg files are processed before the bond master profile is registered with Network Manager, Network Manager creates standalone Ethernet connection profiles for the slaves rather than bond-slave profiles. The result is that one slave interface independently claims the management IP and carries all traffic while the bond master transmits nothing. On HA systems, the bond fails entirely and the appliance loses network connectivity.
nmcli c migrate
ifcfg-*
To confirm if you are impacted:1. Use SSH to log in to all JSA hosts in your deployment as the root user.2. Type the following command on each host:ip link show type bond Example output:bond0: <NO-CARRIER,BROADCAST,MULTICAST,MASTER,UP> mtu 1500 qdisc noqueue state DOWN mode DEFAULT group default qlen 10003. Check if slave interfaces have speed and duplex set:for dev in $(grep -l "^SLAVE=yes" /etc/sysconfig/network-scripts/ifcfg-* | xargs -I{} sed -n 's/^DEVICE=//p' {}); do echo $dev; ethtool $dev | grep -E "Speed|Duplex"; done4. Review the output to determine if your host is affected:If the output shows unknown (Example below) please follow the pre-upgrade remediation steps below in the solution section.enp1s0Speed: Unknown!Duplex: Unknown! (255)
ip link show type bond
bond0: <NO-CARRIER,BROADCAST,MULTICAST,MASTER,UP> mtu 1500 qdisc noqueue state DOWN mode DEFAULT group default qlen 1000
for dev in $(grep -l "^SLAVE=yes" /etc/sysconfig/network-scripts/ifcfg-* | xargs -I{} sed -n 's/^DEVICE=//p' {}); do echo $dev; ethtool $dev | grep -E "Speed|Duplex"; done
enp1s0
Speed: Unknown!
Duplex: Unknown! (255)
If you have bonded interfaces but the Speed and Duplex are set correctly (example below) Then you can continue with upgrade to 7.6.0 FixPack 1. enp1s0Speed: 1000Mb/sDuplex: Full
Speed: 1000Mb/s
Duplex: Full
If there is no output, you have no bonds and are not affected. Then you can continue with upgrade to 7.6.0 Fix Pack 1.
Bonded interfaces stop functioning as expected.
PRIOR TO PATCHING:Run the following if bonding exists to update the slave interfaces with the correct ETHTOOL_OPTS
for dev in $(grep -l "^SLAVE=yes" /etc/sysconfig/network-scripts/ifcfg-* | xargs -I{} sed -n 's/^DEVICE=//p' {}); do file="/etc/sysconfig/network-scripts/ifcfg-$dev"; if grep -q "^ETHTOOL_OPTS=" "$file"; then echo "$dev: ETHTOOL_OPTS already present, skipping"; else speed=$(ethtool $dev 2>/dev/null | awk '/Speed:/{gsub(/[^0-9]/,"",$2); s=$2+0} END{print (s==0||s==65535)?1000:s}'); duplex=$(ethtool $dev 2>/dev/null | awk '/Duplex:/{print tolower($2)}'); duplex=${duplex:-full}; [[ "$duplex" != "full" && "$duplex" != "half" ]] && duplex=full; echo "ETHTOOL_OPTS=\"autoneg off speed $speed duplex $duplex\"" >> "$file" && echo "$dev: added ETHTOOL_OPTS=\"autoneg off speed $speed duplex $duplex\""; fi; done
Note** If patching has already completed to 7.6.x and the above workaround was not applied on 7.5.x build prior to patching, then please Contact Support for a possible workaround that might address this issue in some instances. https://support.juniper.net/support/requesting-support/
N/A