Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion pkg/cli/admin/release/image_mapper.go
Original file line number Diff line number Diff line change
Expand Up @@ -198,7 +198,8 @@ func loadImageStreamTransforms(input, local *imageapi.ImageStream, allowMissingI
}
existing, ok := versions[k]
if ok {
if existing.Version != v.Version {
// we allow multiple machine-os versions due to dual stream efforts
if existing.Version != v.Version && k != "machine-os" {
Copy link
Copy Markdown
Member

@ardaguclu ardaguclu Dec 3, 2025

Choose a reason for hiding this comment

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

This disables component version skew check entirely for machine-os component. Would it be better if we only allow 2 different machine-os versions and fail if there are 3 (to prevent any divergence) as we did #1662 (and #1656).

Additionally, same changes need to go Hypershift https://github.com/openshift/hypershift/blob/02f528cd5364b03168500ada33c9a0d9d0593025/support/releaseinfo/releaseinfo.go#L185

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Thanks for pointing out the hypershift use case. For the time being we're simply dropping the machine-os version from the rhel-coreos-10 images but I think we need to figure out how to effectively re-introduce this. Ideally for 4.22 but perhaps deferred to the next release after 4.22. I'm going to close this for the time being but open up a ticket for the RHCOS team to dive into this across the problem space.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Limiting to two values here will probably backfire later because we may have more streams coming up : the nvidia kernel, confidential clusters.. Now that this can of worms is open, more may even be added

return nil, nil, nil, fmt.Errorf("input image stream has multiple versions defined for version %s: %s defines %s but was already set to %s on %s", k, tag.Name, v, existing, strings.Join(tagsByName[k], ", "))
}
} else {
Expand Down
6 changes: 4 additions & 2 deletions pkg/cli/admin/release/info.go
Original file line number Diff line number Diff line change
Expand Up @@ -1058,7 +1058,8 @@ func readComponentVersions(is *imageapi.ImageStream, errOut io.Writer) (Componen
sort.Strings(keys)
for _, k := range keys {
v := combined[k]
if v.Len() > 1 {
// we allow multiple machine-os versions due to dual stream efforts
if v.Len() > 1 && k != "machine-os" {
multiples = multiples.Insert(k)
}
if _, ok := out[k]; ok {
Expand All @@ -1075,7 +1076,8 @@ func readComponentVersions(is *imageapi.ImageStream, errOut io.Writer) (Componen
if !ok {
continue
}
if v.Len() > 1 {
// we allow multiple machine-os versions due to dual stream efforts
if v.Len() > 1 && k != "machine-os" {
multiples = multiples.Insert(k)
}
version, ok := out[k]
Expand Down