Bug 1897743 - Default route is always selected for Node InternalIP
Summary: Default route is always selected for Node InternalIP
Keywords:
Status: CLOSED DUPLICATE of bug 1949827
Alias: None
Product: OpenShift Container Platform
Classification: Red Hat
Component: Networking
Version: 4.6
Hardware: Unspecified
OS: Linux
high
high
Target Milestone: ---
: ---
Assignee: Yossi Boaron
QA Contact: Victor Voronkov
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2020-11-13 23:30 UTC by Robert Bost
Modified: 2023-12-15 20:06 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2021-06-11 15:41:59 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)

Description Robert Bost 2020-11-13 23:30:38 UTC
Description of problem:

Starting in OCP 4.6 the default route is always selected for the Node's InternalIP when installing using UPI. 

Installation has multiple network interfaces configured at install time. 

In OCP 4.5 the expected interface was selected which was the first interface immediately after loopback in `ip addr` listing. 

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


How reproducible: Each time. 


Actual results: InternalIP for Node is incorrectly selected. 


Expected results: Either matching behavior in 4.5 where first interface is selected or having option to choose interface at install time.

Comment 3 Dan Williams 2020-11-17 14:34:35 UTC
Interface listing in 'ip addr' depends on kernel device enumeration order which is not stable and can change. Kubelet (or a cloud provider) is responsible detecting the node's IP address and posting to the apiserver. If you need a specific interface listed as the node's InternalIP then you need to pass specific options to kubelet to tell it which interface to use.

See https://bugzilla.redhat.com/show_bug.cgi?id=1872632 for a variation of this problem (on bare-metal installs).

Comment 4 Robert Bost 2020-11-17 17:41:01 UTC
> If you need a specific interface listed as the node's InternalIP then you need to pass specific options to kubelet to tell it which interface to use.

Yeah, the main concern is that in OCP 4.5 and earlier, looks like the kubelet picked up the InternalIP automatically. But, in 4.6 and later, the runtime-cfg sets its via a kubelet arg. Runtime-cfg picks the IP based on default route (different behavior than before).

Comment 6 Ben Nemec 2021-06-11 15:41:59 UTC

*** This bug has been marked as a duplicate of bug 1949827 ***


Note You need to log in before you can comment on or make changes to this bug.