Bug 1879077
Summary: | Nodes tainted after configuring additional host iface | ||
---|---|---|---|
Product: | OpenShift Container Platform | Reporter: | Michal Minar <miminar> |
Component: | Networking | Assignee: | Federico Paolinelli <fpaoline> |
Networking sub component: | openshift-sdn | QA Contact: | Federico Paolinelli <fpaoline> |
Status: | CLOSED ERRATA | Docs Contact: | |
Severity: | high | ||
Priority: | unspecified | CC: | aconstan, anbhat, bbennett, danw, dcbw, djdumas, fpaoline, jhopper, vpickard, zzhao |
Version: | 4.5 | Keywords: | Reopened |
Target Milestone: | --- | ||
Target Release: | 4.8.0 | ||
Hardware: | x86_64 | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | No Doc Update | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2021-07-27 22:32:55 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: | |||
Bug Depends On: | |||
Bug Blocks: | 1962637 |
Description
Michal Minar
2020-09-15 12:02:06 UTC
I was wrong about this one: "this taint is not overridden by the operator" OpenShift SDN container taints the node on its startup. To amend that, we are now using this work-around: https://gist.github.com/miminar/1399627ef114f96245f011185fa3747b openshift-sdn does not currently support installation on systems with multiple interfaces, where the VXLAN interface does not have the lowest-metric (eg most preferred) default route. It has always been this way, and there are already RFEs to support multiple interfaces, but other features have been a priority. (In reply to Dan Williams from comment #9) > openshift-sdn does not currently support installation on systems with > multiple interfaces, where the VXLAN interface does not have the > lowest-metric (eg most preferred) default route. Actually, the MTU-tainting code is buggy; it taints the node if there is _any_ interface with a default route and a too-small MTU, even if it's not the interface that will actually get used. It probably ought to only check the interface that holds the primary node IP, since that's guaranteed to be the interface that at least inbound VXLAN traffic will use. If someone has a cluster with zany asymmetric routing such that outbound VXLAN uses a different interface, then they can just be responsible for sanity-checking the MTU on that interface themselves. @vpickard taking this assuming you are not working on it, feel free to ping in case you are @fpaoline Thanks for taking this one! Verified this bug on 4.8.0-0.nightly-2021-05-07-075528 There are two interface eno1 and eno2, and set eno2 with lower MTU 1400 than 1500 step 1: sh-4.4# ip a show eno1 2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000 link/ether dc:f4:01:e7:5d:84 brd ff:ff:ff:ff:ff:ff inet 10.73.116.54/23 brd 10.73.117.255 scope global dynamic noprefixroute eno1 valid_lft 34688sec preferred_lft 34688sec inet6 2620:52:0:4974:25d3:20de:2f60:293/64 scope global dynamic noprefixroute valid_lft 2591941sec preferred_lft 604741sec inet6 fe80::8e:f470:4074:97e9/64 scope link noprefixroute valid_lft forever preferred_lft forever sh-4.4# ip a show eno2 3: eno2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1400 qdisc mq state UP group default qlen 1000 link/ether dc:f4:01:e7:5d:85 brd ff:ff:ff:ff:ff:ff inet 192.168.222.112/24 brd 192.168.222.255 scope global dynamic noprefixroute eno2 valid_lft 1524sec preferred_lft 1524sec inet6 fe80::def4:1ff:fee7:5d85/64 scope link noprefixroute valid_lft forever preferred_lft forever sh-4.4# ip a show br0 14: br0: <BROADCAST,MULTICAST> mtu 1450 qdisc noop state DOWN group default qlen 1000 link/ether b6:5f:07:08:a2:4a brd ff:ff:ff:ff:ff:ff sh-4.4# ip route default via 192.168.222.101 dev eno2 default via 10.73.117.254 dev eno1 proto dhcp metric 100 10.73.116.0/23 dev eno1 proto kernel scope link src 10.73.116.54 metric 100 10.128.0.0/14 dev tun0 scope link 172.30.0.0/16 dev tun0 192.168.222.0/24 dev eno2 proto kernel scope link src 192.168.222.112 metric 101 step 2: Delete sdn pod to make it recreated on this node step 3: Check the logs of sdn new created # oc logs sdn-lf7xb -n openshift-sdn -c sdn | grep -i mtu I0508 14:06:25.729983 398667 node.go:247] Checking default interface MTU step 4: Create one rc and scale 20 pods and found pods can schedule to this node. 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.8.2 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:2438 |