Bug 2079832

Summary: nodeip-configuration and ovs-configure select different primary IP addresses
Product: OpenShift Container Platform Reporter: Andreas Karis <akaris>
Component: NetworkingAssignee: Andreas Karis <akaris>
Networking sub component: ovn-kubernetes QA Contact: Anurag saxena <anusaxen>
Status: CLOSED NOTABUG Docs Contact:
Severity: low    
Priority: low CC: ffernand, kboumedh, rh-container
Version: 4.11   
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2022-05-26 14:27:07 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Andreas Karis 2022-04-28 10:47:03 UTC
Description of problem:

nodeip-configuration and ovs-configure select different primary IP addresses

Even thought OVN stably selects an interface on UPI the cluster fails.  OVN is not communicating with kubelet.

OVN is not abiding by https://docs.openshift.com/container-platform/4.10/support/troubleshooting/troubleshooting-network-issues.html#nw-how-nw-iface-selected_troubleshooting-network-issues

OVN's "correct" interface is not matching /etc/systemd/system/kubelet.service.d/20-nodenet.conf

> For installations on bare metal or with virtual machines that have more than one network interface controller (NIC), the NIC that OpenShift Container Platform uses for communication with the Kubernetes API server is determined by the nodeip-configuration.service service unit that is run by systemd when the node boots. The service iterates through the network interfaces on the node and the first network interface that is configured with a subnet than can host the IP address for the API server is selected for OpenShift Container Platform communication.


configure-ovs needs to:

> Create a shell script that determines the IP address to use for OpenShift Container Platform communication. Have the script create a custom unit file such as /etc/systemd/system/kubelet.service.d/98-nodenet-override.conf. Use the custom unit file, 98-nodenet-override.conf, to set the KUBELET_NODE_IP environment variable to the IP address.


Or vice-versa if KUBELET_NODE_IP is defined then that is the "correct" IP and configure-ovs should use that instead of the default route logic.

/etc/systemd/system/kubelet.service.d/20-nodenet.conf
[Service]
Environment="KUBELET_NODE_IP=10.123.74.75" "KUBELET_NODE_IPS=10.123.74.75"


Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:


Additional info:

Comment 2 Igal Tsoiref 2022-05-10 19:06:08 UTC
*** Bug 2080148 has been marked as a duplicate of this bug. ***

Comment 3 Andreas Karis 2022-05-26 14:27:07 UTC
I am closing this in favor of https://issues.redhat.com/browse/SDN-3053