Configuring multiple NICs in Openshift 4 leads to both NICs inheriting a default gateway
Issue
When I configure Openshift 4 with multiple NICs, the order in which I configure the NICs in ignition determines which NICs inherit a default gateway. For example, if I configure my layer2 non-routable network first (ens192 below), then two gateways will be configured (one for each ens192 and ens224).
ip=10.X.Y.Z::10.X.Y.1:255.255.255.0:host1.example.com:ens192:none
ip=10.A.B.D::10.A.B.C:255.255.255.192:host1.example.com:ens224:none
nameserver=X.X.X.X
coreos.inst.install_dev=sda
coreos.inst.image_url=http://10.A.B.C:8080/install/rhcos-4.3.8-x86_64-metal.x86_64.raw.gz
coreos.inst.ignition_url=http://10.A.B.C:8080/ignition/worker.ign
This can be easily resolved by manually editing the node machineconfig to inherit/remove the incorrect gateway.
However, if I change the order of the network definitions, the storage network will not pick up a default gateway and the manual change is not needed. For example, the configuration below leads to the correct configuration with ens224 configured with a gateway and the ens192 network configured without a gateway.
ip=10.A.B.D::10.A.B.C:255.255.255.192:host1.example.com:ens224:none
ip=10.X.Y.Z::10.X.Y.1:255.255.255.0:host1.example.com:ens192:none
nameserver=X.X.X.X
coreos.inst.install_dev=sda
coreos.inst.image_url=http://10.A.B.C:8080/install/rhcos-4.3.8-x86_64-metal.x86_64.raw.gz
coreos.inst.ignition_url=http://10.A.B.C:8080/ignition/worker.ign
Environment
Openshift 4.3
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.