The interface ens3 is hardcoded in cluster-network-operator kuryr config (See https://github.com/openshift/cluster-network-operator/commit/b961d7ad086f942a0f84472378909f81e5802dea) In a virtual machine on ppc64le, this is almost definitely wrong. For example, in my ppc64le environment, it needs to be enp0s1 instead. Could we autodetect? Or, could we let the user specify?
Verified in 4.6.0-0.nightly-2020-07-16-005008 on top of OSP 13 2020-07-09.1 puddle. As we don't have access to a ppc64 platform it's been verified by changing the default value 'ens3' by a non-existent interface name in kuryr.conf. This way we simulate the case in which the VM doesn't have an interface name with the default value, and the interface name will be discovered. Steps: 1. Scale down the network operator to 0, so the kuryr config map is not rewritten with the default config after manually changing the config map. $ oc -n openshift-network-operator scale --replicas=0 deployment/network-operator 2. Change the default link_iface value in kuryr config map: $ oc -n openshift-kuryr edit cm kuryr-config - link_iface = ens3 + link_iface = eth0 3. Restart the kuryr cni pods in order to take the new configuration 4. Create a new pod and check it's correctly attached to the interface, the next log is shown in kuryr cni: Using kubelet bind interface ens3 as bridge interface.
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 (OpenShift Container Platform 4.6 GA Images), 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/RHBA-2020:4196