Skip to content

Conversation

@cheesesashimi
Copy link
Member

- What I did

Historically, OKD always tracks the latest version of CentOS Stream, making dual OS stream support unnecessary. Building upon @pablintino's work in #5476, I introduced separate OSImageStream reconciliation behavior for OKD so that it will basically no-op.

- How to verify it

Behavior in OCP should continue to work as it should. Any behaviors around OSImageStreams in OKD should not occur, at least not until we determine what behaviors should occur.

- Description for the changelog
Introduce separate OSImageStream behavior for OKD

pablintino and others added 4 commits December 15, 2025 08:59
Template-generated MachineConfigs (e.g., 01-master-kubelet,
01-master-container-runtime) were setting OSImageURL on the final
rendered MachineConfig, even though only user-provided MachineConfigs
should be able to override this field.

The root cause was that template generation explicitly sets OSImageURL
on all generated MCs, and the merge logic (MergeMachineConfigs) was
treating all MCs equally when determining the final OSImageURL value.
This meant template-generated MCs would always propagate the base OS
image URL to the rendered MC, making it impossible for the system to
distinguish between a default value and an intentional override.

This commit fixes the issue by modifying MergeMachineConfigs to skip
any MachineConfig with the
machineconfiguration.openshift.io/generated-by-controller-version
annotation when evaluating OSImageURL and BaseOSExtensionsContainerImage
overrides. This ensures that only user-provided MachineConfigs can
override these fields, while still allowing template-generated MCs to
have the field populated (which is necessary due to resourcemerge not
blanking out previously-set values during upgrades).

The same logic is applied to BaseOSExtensionsContainerImage for
consistency.
@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 Dec 15, 2025
@openshift-ci
Copy link
Contributor

openshift-ci bot commented Dec 15, 2025

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-merge-robot openshift-merge-robot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Dec 15, 2025
@openshift-merge-robot
Copy link
Contributor

PR needs rebase.

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.

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Dec 15, 2025

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: cheesesashimi

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

The pull request process is described 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

@openshift-ci openshift-ci bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Dec 15, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants