Skip to content

Comments

MCO-2133: Select bootimages based on OSImageStream#10321

Open
pablintino wants to merge 1 commit intoopenshift:mainfrom
pablintino:mco-2133
Open

MCO-2133: Select bootimages based on OSImageStream#10321
pablintino wants to merge 1 commit intoopenshift:mainfrom
pablintino:mco-2133

Conversation

@pablintino
Copy link
Contributor

Consume the osImageStream install-config field through all code paths that consume embedded bootimage metadata, allowing the installer to load per-stream files (rhel-9.json, rhel-10.json) instead of a single rhcos.json. Defaults to RHEL 9 when the field is not set.

@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label Feb 18, 2026
@openshift-ci-robot
Copy link
Contributor

openshift-ci-robot commented Feb 18, 2026

@pablintino: This pull request references MCO-2133 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "4.22.0" version, but no target version was set.

Details

In response to this:

Consume the osImageStream install-config field through all code paths that consume embedded bootimage metadata, allowing the installer to load per-stream files (rhel-9.json, rhel-10.json) instead of a single rhcos.json. Defaults to RHEL 9 when the field is not set.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@openshift-ci openshift-ci bot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Feb 18, 2026
@openshift-ci
Copy link
Contributor

openshift-ci bot commented Feb 18, 2026

Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Feb 18, 2026

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign sdodson for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@pablintino pablintino force-pushed the mco-2133 branch 2 times, most recently from 8f70a1a to 15030dd Compare February 19, 2026 08:01
@pablintino pablintino marked this pull request as ready for review February 19, 2026 08:02
@openshift-ci openshift-ci bot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Feb 19, 2026
@openshift-ci openshift-ci bot requested review from mresvanis and mtulio February 19, 2026 08:03
type CoreOSBuildFetcher func(ctx context.Context) (*stream.Stream, error)

func DefaultCoreOSStreamGetter(ctx context.Context) (*stream.Stream, error) {
return rhcos.FetchCoreOSBuild(ctx, rhcos.DefaultOSImageStream)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure if I'm missing something, but my expectations for this asset weres to modify setStreamGetter method to take into account the OSImageStream (by reading it from the agent.OptionalInstallConfig{}, already listed as a dependency). Otherwise the live ISO will remain pinned to rhcos9.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I haven't covered the agent cause I saw that I'd need to cover the case where the install-config is not provided but the AgentConfig is given, that means I need to add a field to it and so on. To avoid making the change bigger and bigger I thought about leaving the agent side consistent and ready for a follow up.
Anyways, if you think that for now supporting the intall-config.yaml only is enought, cool, I can incorporate this simple change to this PR and do the rest as a follow up.

@pablintino pablintino force-pushed the mco-2133 branch 2 times, most recently from 8cac45c to 1812d64 Compare February 20, 2026 09:02
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Simplest ever approach, should this be ok for now? I'm not too familiar with the concept of marketplace, so not really sure.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is the fresh file @ravanelli provided, thanks!

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewers: Please take a look at this change. It's the safest approach I could come up with. Basically, the structure of the ConfigMap is preserved and the stream field will continue to be reported, but from now on, it will use the default stream. A new streams field with a JSON map<streamName, streamJson> is now present. The format for SCOS remains unchanged, and the marketplace file is merged only if the file exists, which is only true for rhcos-9 for now.

cc:@djoshy


// DefaultOSImageStream is the OS image stream used when the install-config
// does not specify one.
const DefaultOSImageStream = types.OSImageStreamRHCOS9
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've hard-coded this default value since it'll be simple to open a PR and change it during the 5.0 branchout. I can modify this code to use an init function that sets the default based on the compiled version, but I'd prefer the current approach. It's simpler and more reliable than trying to guess the version from the version string.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The purpose of these changes is to replicate what I did in the regular stream.go file. Of course, in SCOS everything is hard-coded to use the scos.json file and nothing changes.

Consume the osImageStream install-config field through all code paths
that consume embedded bootimage metadata, allowing the installer to
load per-stream files (rhel-9.json, rhel-10.json) instead of a single
rhcos.json. Defaults to RHEL 9 when the field is not set.

Signed-off-by: Pablo Rodriguez Nava <git@amail.pablintino.com>
@openshift-ci
Copy link
Contributor

openshift-ci bot commented Feb 20, 2026

@pablintino: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
ci/prow/e2e-aws-ovn-heterogeneous 3d585f6 link false /test e2e-aws-ovn-heterogeneous
ci/prow/e2e-nutanix-ovn 3d585f6 link false /test e2e-nutanix-ovn
ci/prow/e2e-vsphere-ovn-zones 3d585f6 link false /test e2e-vsphere-ovn-zones
ci/prow/e2e-aws-ovn-single-node 3d585f6 link false /test e2e-aws-ovn-single-node
ci/prow/e2e-azurestack 3d585f6 link false /test e2e-azurestack
ci/prow/golint 3d585f6 link true /test golint
ci/prow/e2e-aws-ovn-dualstack-ipv4-primary-techpreview 3d585f6 link false /test e2e-aws-ovn-dualstack-ipv4-primary-techpreview
ci/prow/e2e-vsphere-multi-vcenter-ovn 3d585f6 link false /test e2e-vsphere-multi-vcenter-ovn
ci/prow/e2e-aws-ovn-edge-zones 3d585f6 link false /test e2e-aws-ovn-edge-zones
ci/prow/azure-ovn-marketplace-images 3d585f6 link false /test azure-ovn-marketplace-images
ci/prow/e2e-aws-ovn-dualstack-ipv6-primary-techpreview 3d585f6 link false /test e2e-aws-ovn-dualstack-ipv6-primary-techpreview
ci/prow/e2e-aws-ovn-imdsv2 3d585f6 link false /test e2e-aws-ovn-imdsv2
ci/prow/e2e-azure-ovn 3d585f6 link true /test e2e-azure-ovn
ci/prow/e2e-aws-ovn-shared-vpc-edge-zones 3d585f6 link false /test e2e-aws-ovn-shared-vpc-edge-zones
ci/prow/e2e-vsphere-ovn-hybrid-env 3d585f6 link false /test e2e-vsphere-ovn-hybrid-env

Full PR test history. Your PR dashboard.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

jira/valid-reference Indicates that this PR references a valid Jira ticket of any type.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants