openshift / openshift/vcf-migration-operator

Auto-resolved image import picks wrong RHCOS major stream (9 instead of 10)

Open
#110 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Go
Stars
1
Forks
6
Avg merge
2d 20h
Merged PRs (30d)
12

Description

Summary

When spec.image is left empty for automatic resolution (the documented default path), the operator resolves and imports RHCOS 9.x, even when the cluster's nodes are actually running RHCOS 10.x. Confirmed live: the operator resolved and attempted to import rhel-9.8/builds/9.8.20260428-0 while the test cluster's nodes reported Red Hat Enterprise Linux CoreOS 10.2.20260902-0.

Why this matters

OCP 5.0 supports two RHCOS major streams in the same release (dual-stream RHCOS 9/RHCOS 10 support, OCPSTRAT-1150). A customer letting the operator auto-import the destination template would get new control plane or worker nodes provisioned on a different major OS version than the rest of the cluster, silently, with no warning surfaced anywhere in the migration CR's status.

Root cause

The auto-resolve path uses stream-metadata-go against the coreos-bootimages ConfigMap but does not appear to check which RHCOS major stream the cluster's existing nodes are actually running. It defaults to resolving the historical/primary stream (RHCOS 9) regardless of what the cluster is currently on.

Recommendation

The auto-resolve path should detect the cluster's current active RHCOS stream, for example from existing node OS-image values or the relevant MachineConfigPool's configured stream, and resolve against that stream rather than defaulting to RHCOS 9.

Environment

  • OCP 5.0.0-rc.1, nodes running RHCOS 10.2.20260902-0
  • vcf-migration-operator dev-preview build, spec.image: {} (auto-resolve)

Filed from hackathon testing under OCPSTRAT-2677.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start at the auto-resolve path that uses stream-metadata-go with the coreos-bootimages ConfigMap. Inspect how existing node OS-image values or the MachineConfigPool stream can identify the active RHCOS major version, then verify that spec.image: {} resolves to that stream instead of defaulting to RHCOS 9. Done means the imported image matches the cluster's active RHCOS major stream.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
backend, infrastructure
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
56/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.