-
Story
-
Resolution: Unresolved
-
Undefined
-
None
-
None
-
None
In order to properly test both Image Mode OpenShift as well as additional dual-stream functionality, there is a need to build a custom OS image off-cluster and then set OSImageURL on a MachineConfig to ensure that the override works as expected. Thankfully, there is already a known-good path forward.
We're currently overriding OSImageURL in TestOSImageURLOverride like this: https://github.com/openshift/machine-config-operator/blob/5c30302c9194aea91f2dec09f5620548809f1a74/test/e2e-2of2/osimageurl_override_test.go#L13-L24
This consumes the OS image that is automatically produced by the CI system. The CI configuration for producing that OS image can be found here: https://github.com/openshift/release/blob/6f2c57fd2e6dc664660f63715385ed19ad6f86e4/ci-operator/config/openshift/machine-config-operator/openshift-machine-config-operator-main.yaml#L69-L80
And it is injected into the test step here: https://github.com/openshift/release/blob/6f2c57fd2e6dc664660f63715385ed19ad6f86e4/ci-operator/config/openshift/machine-config-operator/openshift-machine-config-operator-main.yaml#L273-L275
In order to properly test both RHEL 9 and RHEL 10, there is a need to build both RHEL 9 and RHEL 10 versions of this image. Since the configs in https://github.com/openshift/release change very infrequently, the image that we are producing there has really out-of-date hard-coded packages. Instead, what we should do is move the Containerfiles into the MCO repo and update the release config to point to those Containerfiles instead.
Done When:
- Two containerfiles are introduced into the MCO repository that can build a custom OS image with the same packages as the Containerfile specified in the openshift/release repo.
- The openshift/release configuration is updated to point to these Containerfiles instead of the literal inline config. This includes updating the e2e-gcp-op-2of2 test to consume the new image.