Note: This is a beta release of Red Hat Bugzilla 5.0. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Also email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback here.
Bug 1692566 - Master should not use port tcp/9 check to check if node is healthy for automatically assigning egress IP
Summary: Master should not use port tcp/9 check to check if node is healthy for automa...
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: OpenShift Container Platform
Classification: Red Hat
Component: Networking
Version: 3.11.0
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
: ---
Assignee: Casey Callendrello
QA Contact: Meng Bo
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2019-03-25 21:59 UTC by Ryan Howe
Modified: 2019-03-28 15:38 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2019-03-28 15:38:05 UTC
Target Upstream Version:


Attachments (Terms of Use)

Description Ryan Howe 2019-03-25 21:59:54 UTC
Description of problem:

The check if the node is healthy or not is a plain tcp check on port 9. If we return with a "No route to host" vs "Connection refused" this check considers the node not healthy. 

https://github.com/openshift/origin/blob/release-3.11/pkg/network/common/egressip.go#L473-L496

# telnet 10.0.88.167 9
Trying 10.0.88.167...
telnet: connect to address 10.0.88.167: No route to host


Some firewall are set up to reject-with icmp-host-unreachable or drop traffic to unopen ports. Resulting in the egress controller thinking this node is unhealthy and moving the egress IP. 

If we do a check we should rely on the kubelet port which we know should be open.

Comment 1 Ryan Howe 2019-03-28 15:38:05 UTC
This is not a bug the traffic will arrive
over tun0 and be accepted by the "-A INPUT -i tun0 -j ACCEPT" rule
before hitting the RHEL firewall rule.


https://github.com/openshift/origin/blob/release-3.11/pkg/network/common/egressip.go#L463-L481


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