Description of problem: The vSphere vmxnet3 `allmulti` workaround from BZ 1854355 does not get applied when the vmxnet3 devices are teamed or bonded. The teamed/bonded cluster seems functional so maybe the workaround is no longer necessary. https://github.com/openshift/machine-config-operator/blob/release-4.8/templates/common/_base/files/configure-ovs-network.yaml#L43 # if the interface is of type vmxnet3 add multicast capability for that driver # REMOVEME: Once BZ:1854355 is fixed, this needs to get removed. function configure_driver_options { intf=$1 driver=$(cat "/sys/class/net/${intf}/device/uevent" | grep DRIVER | awk -F "=" '{print $2}') echo "Driver name is" $driver if [ "$driver" = "vmxnet3" ]; then ifconfig "$intf" allmulti fi } team0 is a teamed vmxnet3 ens192 and ens224: + configure_driver_options team0 + intf=team0 ++ cat /sys/class/net/team0/device/uevent ++ grep DRIVER ++ awk -F = '{print $2}' cat: /sys/class/net/team0/device/uevent: No such file or directory + driver= + echo 'Driver name is' Driver name is + '[' '' = vmxnet3 ']' + echo 'Networking already configured and up for br-ex!' Networking already configured and up for br-ex! + ovs-vsctl --timeout=30 --if-exists del-br br0 bond0 is a bonded vmxnet3 ens192 and ens224: + configure_driver_options bond0 + intf=bond0 ++ cat /sys/class/net/bond0/device/uevent ++ grep DRIVER ++ awk -F = '{print $2}' cat: /sys/class/net/bond0/device/uevent: No such file or directory + driver= + echo 'Driver name is' Driver name is + '[' '' = vmxnet3 ']' + exit 0 + handle_exit_error + e=0 + '[' 0 -eq 0 ']' + exit 0 Version-Release number of selected component (if applicable): 4.8.0-0.ci.test-2021-07-13-181010-ci-ln-894tm7b-latest with https://github.com/openshift/machine-config-operator/pull/2643 How reproducible: Always Steps to Reproduce: 1. configure and vSphere UPI with teaming or bonding as described in BZ 1977426 2. reboot node 3. check ovs-configuration.service logs Actual results: `allmuluti` is not enabled on ens192 and ens224. + configure_driver_options bond0 + intf=bond0 ++ cat /sys/class/net/bond0/device/uevent ++ grep DRIVER ++ awk -F = '{print $2}' cat: /sys/class/net/bond0/device/uevent: No such file or directory + driver= + echo 'Driver name is' Driver name is + '[' '' = vmxnet3 ']' + exit 0 + handle_exit_error + e=0 + '[' 0 -eq 0 ']' + exit 0 [root@compute-0 core]# ifconfig ens192 ens192: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 ether 00:50:56:ac:fa:a6 txqueuelen 1000 (Ethernet) RX packets 465287 bytes 644713821 (614.8 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 58424 bytes 35675313 (34.0 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 [root@compute-0 core]# ifconfig ens224 ens224: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 ether 00:50:56:ac:fa:a6 txqueuelen 1000 (Ethernet) RX packets 465338 bytes 644727627 (614.8 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 2 bytes 260 (260.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 [root@compute-0 core]# ifconfig team0 team0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 ether 00:50:56:ac:fa:a6 txqueuelen 1000 (Ethernet) RX packets 76712 bytes 618106430 (589.4 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 58067 bytes 36225939 (34.5 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 Expected results: Assuming the workaround is still required or valid on bonded/teamed devices `allmutli` should be applied. Otherwise should the workaround be removed?
Verified on 4.9.0-0.nightly-2021-08-03-135217 Aug 03 22:15:37 compute-0 configure-ovs.sh[1394]: + configure_driver_options bond0 Aug 03 22:15:37 compute-0 configure-ovs.sh[1394]: + intf=bond0 Aug 03 22:15:37 compute-0 configure-ovs.sh[1394]: + '[' '!' -f /sys/class/net/bond0/device/uevent ']' Aug 03 22:15:37 compute-0 configure-ovs.sh[1394]: + echo 'Device file doesn'\''t exist, skipping setting multicast mode' Aug 03 22:15:37 compute-0 configure-ovs.sh[1394]: Device file doesn't exist, skipping setting multicast mode Aug 03 22:15:37 compute-0 configure-ovs.sh[1394]: + configured=true Aug 03 22:15:37 compute-0 configure-ovs.sh[1394]: + break Aug 03 22:15:37 compute-0 configure-ovs.sh[1394]: + '[' true '!=' true ']' Aug 03 22:15:37 compute-0 configure-ovs.sh[1394]: + '[' -f /etc/ovnk/extra_bridge ']' Aug 03 22:15:37 compute-0 configure-ovs.sh[1394]: + '[' '!' -f /etc/ovnk/extra_bridge ']' Aug 03 22:15:37 compute-0 configure-ovs.sh[1394]: + nmcli connection show br-ex1 Aug 03 22:15:37 compute-0 configure-ovs.sh[1394]: + nmcli connection show ovs-if-phys1 Aug 03 22:15:37 compute-0 configure-ovs.sh[1394]: + ovs-vsctl --timeout=30 --if-exists del-br br0 Aug 03 22:15:37 compute-0 configure-ovs.sh[1394]: + exit 0 Aug 03 22:15:37 compute-0 configure-ovs.sh[1394]: + handle_exit_error Aug 03 22:15:37 compute-0 configure-ovs.sh[1394]: + e=0 Aug 03 22:15:37 compute-0 configure-ovs.sh[1394]: + '[' 0 -eq 0 ']' Aug 03 22:15:37 compute-0 configure-ovs.sh[1394]: + exit 0
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory (Moderate: OpenShift Container Platform 4.9.0 bug fix and security update), and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHSA-2021:3759