Description of problem: followup to BZ 1877481 In 4.5, `networkType: OpenshiftSDN` worked. In 4.6, it results in installation failure with hard to understand messages. Using `networkType: OpenShiftSDN` works in 4.6. (Capital-S vs lowercase) install log usually looks like this: time="2020-09-10T20:55:25Z" level=info msg="Cluster operator machine-config Progressing is True with : Working towards 4.6.0-0.nightly-2020-09-10-145837" time="2020-09-10T20:55:25Z" level=error msg="Cluster operator machine-config Degraded is True with RequiredPoolsFailed: Unable to apply 4.6.0-0.nightly-2020-09-10-145837: timed out waiting for the condition during syncRequiredMachineConfigPools: pool master has not progressed to latest configuration: configuration status for pool master is empty: pool is degraded because nodes fail with \"3 nodes are reporting degraded status on sync\": \"Node ip-10-0-161-165.ec2.internal is reporting: \\\"machineconfig.machineconfiguration.openshift.io \\\\\\\"rendered-master-64cb83bf095afac90544003fc5b9f2b6\\\\\\\" not found\\\", Node ip-10-0-244-171.ec2.internal is reporting: \\\"machineconfig.machineconfiguration.openshift.io \\\\\\\"rendered-master-64cb83bf095afac90544003fc5b9f2b6\\\\\\\" not found\\\", Node ip-10-0-230-197.ec2.internal is reporting: \\\"machineconfig.machineconfiguration.openshift.io \\\\\\\"rendered-master-64cb83bf095afac90544003fc5b9f2b6\\\\\\\" not found\\\"\", retrying" time="2020-09-10T20:55:25Z" level=info msg="Cluster operator machine-config Available is False with : Cluster not available for 4.6.0-0.nightly-2020-09-10-145837" time="2020-09-10T20:55:25Z" level=fatal msg="failed to initialize the cluster: Cluster operator machine-config is still updating" time="2020-09-10T20:55:26Z" level=error msg="error after waiting for command completion" error="exit status 1" installID=hgbr6ffn There should instead be some upfront validation. Or perhaps the case shouldn't break it like in 4.5. Version-Release number of selected component (if applicable): 4.6 nightly How reproducible: always Steps to Reproduce: 1. set `networkType: OpenshiftSDN` in install-config yaml 2. install Actual results: failure Expected results: successful install Additional info: follow up to BZ 1877481
This is a user facing API that changed, regressed, and broke real customers. This is a 4.6 blocker.
*** Bug 1877481 has been marked as a duplicate of this bug. ***
CNO fixes it to be the canonical form in the network config Status, but MCO now has code that looks at the network config Spec (createDiscoveredControllerConfigSpec() in machine-config-operator/pkg/operator/render.go) because it wants to set up system OVS correctly from the get-go. So I guess we need to be case-insensitive there too.
Agreed on draft PR to fix this at installer layer, thus changing component and clearing up POST to NEW: https://github.com/openshift/machine-config-operator/pull/2101
The install-config API for this field is an opaque string. Therefore the canonicalization should not happen in the installer moving back to networking component. $ openshift-install explain installconfig.networking.networkType KIND: InstallConfig VERSION: v1 RESOURCE: <string> NetworkType is the type of network to install. The default is OpenShiftSDN
Verified this bug on 4.6.0-0.nightly-2020-09-24-095222 with 'OpenshiftSDN' also works
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 (OpenShift Container Platform 4.6 GA Images), 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/RHBA-2020:4196