METAL-1745: Add 5.0 jobs for rhcos10 worker nodes#79338
Conversation
WalkthroughThis pull request introduces CoreOS image stream configuration for baremetal worker nodes and updates test infrastructure chains. It adds a ChangesRHCOS 10 worker stream configuration
Estimated code review effort🎯 2 (Simple) | ⏱️ ~12 minutes Suggested labels
🚥 Pre-merge checks | ✅ 12✅ Passed checks (12 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
/pj-rehearse periodic-ci-openshift-openshift-tests-private-release-4.23-multi-nightly-metal-ipi-ovn-ipv4-rhcos10-worker-tp-amd-f7 periodic-ci-openshift-openshift-tests-private-release-4.23-multi-nightly-metal-ipi-ovn-ipv4-vmedia-rhcos10-worker-tp-arm-f7 |
|
@sgoveas: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel. |
There was a problem hiding this comment.
Actionable comments posted: 4
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In
`@ci-operator/step-registry/baremetal/lab/ipi/install/baremetal-lab-ipi-install-commands.sh`:
- Around line 261-290: The code uses WORKER_COREOS_STREAM directly in sed
replacements and an unquoted heredoc which can break manifests if the value
contains unexpected characters; add validation that WORKER_COREOS_STREAM matches
a safe pattern (e.g. ^[A-Za-z0-9._-]+$) and fail early if it doesn't, then use
the validated value (e.g. WORKER_COREOS_STREAM_SANITIZED) in the sed commands
and the heredoc for 99_worker-osimagestream.yaml; also switch sed to a delimiter
that reduces escaping issues (for example use |) and ensure all replacements
reference the sanitized variable (occurrences in the for loops and the heredoc
that create MachineConfigPool).
In `@ci-operator/step-registry/baremetal/lab/post/baremetal-lab-post-chain.yaml`:
- Around line 4-7: The shared post chain currently includes the step ref
"baremetal-lab-wait" which can block teardown for up to 72h; remove
"baremetal-lab-wait" from the common post chain in baremetal-lab-post-chain.yaml
so the shared post-cleanup no longer references that ref, and instead add a
separate dedicated post chain or workflow (e.g.,
"baremetal-lab-post-manual-wait") that includes "baremetal-lab-wait" for
manual/debug runs or make its inclusion conditional so normal teardown is never
delayed.
In
`@ci-operator/step-registry/openshift/e2e/test/qe/openshift-e2e-test-qe-chain.yaml`:
- Line 16: The chain description "Execute e2e tests from QE, which include
golang (openshift-extended-test), cucushift (cucushift-e2e), cypress
(openshift-extended-web-tests), ...(more to add)" is outdated; update the
docstring in openshift-e2e-test-qe-chain.yaml (the top description/comment
containing that text) to accurately state the current execution scope (e.g.,
"Runs installer health checks only") and optionally note that
extended/cucushift/web suites are not executed by this chain so future
maintainers aren’t misled.
- Around line 5-14: The QE refs for this chain have been commented out, which
disables QE coverage; restore the original list by uncommenting or re-adding the
refs so the chain runs QE tests: ensure the entries idp-htpasswd,
fips-check-fips-or-die, fips-check-node-scan, cucushift-pre,
openshift-extended-test, cucushift-e2e, openshift-extended-web-tests,
openshift-extended-test-supplementary, openshift-e2e-test-clusterinfra-qe, and
openshift-e2e-test-qe-report appear (in the same logical order) in the YAML
instead of being commented so the openshift-e2e-test-qe coverage is executed.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository YAML (base), Central YAML (inherited)
Review profile: CHILL
Plan: Enterprise
Run ID: 9dec86da-0be9-46d2-a504-0a17bcdc526f
⛔ Files ignored due to path filters (1)
ci-operator/jobs/openshift/openshift-tests-private/openshift-openshift-tests-private-release-4.23-periodics.yamlis excluded by!ci-operator/jobs/**
📒 Files selected for processing (6)
ci-operator/config/openshift/openshift-tests-private/openshift-openshift-tests-private-release-4.23__multi-nightly.yamlci-operator/step-registry/baremetal/lab/ipi/install/baremetal-lab-ipi-install-commands.shci-operator/step-registry/baremetal/lab/ipi/install/baremetal-lab-ipi-install-ref.yamlci-operator/step-registry/baremetal/lab/post/baremetal-lab-post-chain.yamlci-operator/step-registry/baremetal/lab/wait/baremetal-lab-wait-ref.yamlci-operator/step-registry/openshift/e2e/test/qe/openshift-e2e-test-qe-chain.yaml
| if [[ -n "${WORKER_COREOS_STREAM:-}" ]]; then | ||
| for bmh_file in "${INSTALL_DIR}"/openshift/99_openshift-cluster-api_hosts-*.yaml; do | ||
| if ! grep -q 'installer.openshift.io/role: control-plane' "${bmh_file}"; then | ||
| sed -i "s/coreos.openshift.io\/stream: .*/coreos.openshift.io\/stream: ${WORKER_COREOS_STREAM}/" "${bmh_file}" | ||
| fi | ||
| done | ||
| # Patch worker MachineSet hostSelector to match the new stream | ||
| for ms_file in "${INSTALL_DIR}"/openshift/99_openshift-cluster-api_worker-machineset-*.yaml; do | ||
| sed -i "s/coreos.openshift.io\/stream: .*/coreos.openshift.io\/stream: ${WORKER_COREOS_STREAM}/" "${ms_file}" | ||
| done | ||
| # Set the worker MachineConfigPool to use the specified stream for | ||
| # the on-disk OS. Requires the OSStreams feature gate (TechPreviewNoUpgrade). | ||
| cat > "${INSTALL_DIR}/openshift/99_worker-osimagestream.yaml" <<EOF | ||
| apiVersion: machineconfiguration.openshift.io/v1 | ||
| kind: MachineConfigPool | ||
| metadata: | ||
| labels: | ||
| machineconfiguration.openshift.io/mco-built-in: "" | ||
| pools.operator.machineconfiguration.openshift.io/worker: "" | ||
| name: worker | ||
| spec: | ||
| machineConfigSelector: | ||
| matchLabels: | ||
| machineconfiguration.openshift.io/role: worker | ||
| nodeSelector: | ||
| matchLabels: | ||
| node-role.kubernetes.io/worker: "" | ||
| osImageStream: | ||
| name: ${WORKER_COREOS_STREAM} | ||
| EOF |
There was a problem hiding this comment.
Validate and escape WORKER_COREOS_STREAM before using it in sed/YAML.
WORKER_COREOS_STREAM is used unescaped in replacements and heredoc output; unexpected characters can break manifest generation or patching.
Suggested hardening
if [[ -n "${WORKER_COREOS_STREAM:-}" ]]; then
+ if [[ ! "${WORKER_COREOS_STREAM}" =~ ^[a-zA-Z0-9._-]+$ ]]; then
+ echo "[ERROR] Invalid WORKER_COREOS_STREAM: ${WORKER_COREOS_STREAM}"
+ exit 1
+ fi
+ esc_stream="$(printf '%s' "${WORKER_COREOS_STREAM}" | sed 's/[\/&]/\\&/g')"
for bmh_file in "${INSTALL_DIR}"/openshift/99_openshift-cluster-api_hosts-*.yaml; do
if ! grep -q 'installer.openshift.io/role: control-plane' "${bmh_file}"; then
- sed -i "s/coreos.openshift.io\/stream: .*/coreos.openshift.io\/stream: ${WORKER_COREOS_STREAM}/" "${bmh_file}"
+ sed -i "s/coreos.openshift.io\/stream: .*/coreos.openshift.io\/stream: ${esc_stream}/" "${bmh_file}"
fi
done📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| if [[ -n "${WORKER_COREOS_STREAM:-}" ]]; then | |
| for bmh_file in "${INSTALL_DIR}"/openshift/99_openshift-cluster-api_hosts-*.yaml; do | |
| if ! grep -q 'installer.openshift.io/role: control-plane' "${bmh_file}"; then | |
| sed -i "s/coreos.openshift.io\/stream: .*/coreos.openshift.io\/stream: ${WORKER_COREOS_STREAM}/" "${bmh_file}" | |
| fi | |
| done | |
| # Patch worker MachineSet hostSelector to match the new stream | |
| for ms_file in "${INSTALL_DIR}"/openshift/99_openshift-cluster-api_worker-machineset-*.yaml; do | |
| sed -i "s/coreos.openshift.io\/stream: .*/coreos.openshift.io\/stream: ${WORKER_COREOS_STREAM}/" "${ms_file}" | |
| done | |
| # Set the worker MachineConfigPool to use the specified stream for | |
| # the on-disk OS. Requires the OSStreams feature gate (TechPreviewNoUpgrade). | |
| cat > "${INSTALL_DIR}/openshift/99_worker-osimagestream.yaml" <<EOF | |
| apiVersion: machineconfiguration.openshift.io/v1 | |
| kind: MachineConfigPool | |
| metadata: | |
| labels: | |
| machineconfiguration.openshift.io/mco-built-in: "" | |
| pools.operator.machineconfiguration.openshift.io/worker: "" | |
| name: worker | |
| spec: | |
| machineConfigSelector: | |
| matchLabels: | |
| machineconfiguration.openshift.io/role: worker | |
| nodeSelector: | |
| matchLabels: | |
| node-role.kubernetes.io/worker: "" | |
| osImageStream: | |
| name: ${WORKER_COREOS_STREAM} | |
| EOF | |
| if [[ -n "${WORKER_COREOS_STREAM:-}" ]]; then | |
| if [[ ! "${WORKER_COREOS_STREAM}" =~ ^[a-zA-Z0-9._-]+$ ]]; then | |
| echo "[ERROR] Invalid WORKER_COREOS_STREAM: ${WORKER_COREOS_STREAM}" | |
| exit 1 | |
| fi | |
| esc_stream="$(printf '%s' "${WORKER_COREOS_STREAM}" | sed 's/[\/&]/\\&/g')" | |
| for bmh_file in "${INSTALL_DIR}"/openshift/99_openshift-cluster-api_hosts-*.yaml; do | |
| if ! grep -q 'installer.openshift.io/role: control-plane' "${bmh_file}"; then | |
| sed -i "s/coreos.openshift.io\/stream: .*/coreos.openshift.io\/stream: ${esc_stream}/" "${bmh_file}" | |
| fi | |
| done | |
| # Patch worker MachineSet hostSelector to match the new stream | |
| for ms_file in "${INSTALL_DIR}"/openshift/99_openshift-cluster-api_worker-machineset-*.yaml; do | |
| sed -i "s/coreos.openshift.io\/stream: .*/coreos.openshift.io\/stream: ${esc_stream}/" "${ms_file}" | |
| done | |
| # Set the worker MachineConfigPool to use the specified stream for | |
| # the on-disk OS. Requires the OSStreams feature gate (TechPreviewNoUpgrade). | |
| cat > "${INSTALL_DIR}/openshift/99_worker-osimagestream.yaml" <<EOF | |
| apiVersion: machineconfiguration.openshift.io/v1 | |
| kind: MachineConfigPool | |
| metadata: | |
| labels: | |
| machineconfiguration.openshift.io/mco-built-in: "" | |
| pools.operator.machineconfiguration.openshift.io/worker: "" | |
| name: worker | |
| spec: | |
| machineConfigSelector: | |
| matchLabels: | |
| machineconfiguration.openshift.io/role: worker | |
| nodeSelector: | |
| matchLabels: | |
| node-role.kubernetes.io/worker: "" | |
| osImageStream: | |
| name: ${WORKER_COREOS_STREAM} | |
| EOF |
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In
`@ci-operator/step-registry/baremetal/lab/ipi/install/baremetal-lab-ipi-install-commands.sh`
around lines 261 - 290, The code uses WORKER_COREOS_STREAM directly in sed
replacements and an unquoted heredoc which can break manifests if the value
contains unexpected characters; add validation that WORKER_COREOS_STREAM matches
a safe pattern (e.g. ^[A-Za-z0-9._-]+$) and fail early if it doesn't, then use
the validated value (e.g. WORKER_COREOS_STREAM_SANITIZED) in the sed commands
and the heredoc for 99_worker-osimagestream.yaml; also switch sed to a delimiter
that reduces escaping issues (for example use |) and ensure all replacements
reference the sanitized variable (occurrences in the for loops and the heredoc
that create MachineConfigPool).
| # - ref: baremetal-lab-agent-gather | ||
| # - chain: gather | ||
| - ref: baremetal-lab-wait | ||
| - ref: baremetal-lab-post-dhcp-pxe-conf |
There was a problem hiding this comment.
Do not block shared post-cleanup with baremetal-lab-wait.
Injecting baremetal-lab-wait into the common post chain can delay teardown by up to 72h (current default), which risks lab capacity exhaustion and delayed cleanup.
Safer direction
- # - ref: baremetal-lab-agent-gather
- # - chain: gather
- - ref: baremetal-lab-wait
+ - ref: baremetal-lab-agent-gather
+ - chain: gatherIf the wait is only for manual/debug workflows, keep it in a dedicated post chain/workflow rather than the shared one.
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| # - ref: baremetal-lab-agent-gather | |
| # - chain: gather | |
| - ref: baremetal-lab-wait | |
| - ref: baremetal-lab-post-dhcp-pxe-conf | |
| - ref: baremetal-lab-agent-gather | |
| - chain: gather | |
| - ref: baremetal-lab-post-dhcp-pxe-conf |
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@ci-operator/step-registry/baremetal/lab/post/baremetal-lab-post-chain.yaml`
around lines 4 - 7, The shared post chain currently includes the step ref
"baremetal-lab-wait" which can block teardown for up to 72h; remove
"baremetal-lab-wait" from the common post chain in baremetal-lab-post-chain.yaml
so the shared post-cleanup no longer references that ref, and instead add a
separate dedicated post chain or workflow (e.g.,
"baremetal-lab-post-manual-wait") that includes "baremetal-lab-wait" for
manual/debug runs or make its inclusion conditional so normal teardown is never
delayed.
| # - ref: idp-htpasswd | ||
| # - ref: fips-check-fips-or-die | ||
| # - ref: fips-check-node-scan | ||
| # - ref: cucushift-pre | ||
| # - ref: openshift-extended-test | ||
| # - ref: cucushift-e2e | ||
| # - ref: openshift-extended-web-tests | ||
| # - ref: openshift-extended-test-supplementary | ||
| # - ref: openshift-e2e-test-clusterinfra-qe | ||
| # - ref: openshift-e2e-test-qe-report |
There was a problem hiding this comment.
This effectively disables QE coverage for this chain.
With these refs commented, the chain only performs cluster-health checks, so openshift-e2e-test-qe no longer runs QE tests and can produce false-green signal.
Suggested fix
-# - ref: idp-htpasswd
-# - ref: fips-check-fips-or-die
-# - ref: fips-check-node-scan
-# - ref: cucushift-pre
-# - ref: openshift-extended-test
-# - ref: cucushift-e2e
-# - ref: openshift-extended-web-tests
-# - ref: openshift-extended-test-supplementary
-# - ref: openshift-e2e-test-clusterinfra-qe
-# - ref: openshift-e2e-test-qe-report
+ - ref: idp-htpasswd
+ - ref: fips-check-fips-or-die
+ - ref: fips-check-node-scan
+ - ref: cucushift-pre
+ - ref: openshift-extended-test
+ - ref: cucushift-e2e
+ - ref: openshift-extended-web-tests
+ - ref: openshift-extended-test-supplementary
+ - ref: openshift-e2e-test-clusterinfra-qe
+ - ref: openshift-e2e-test-qe-report📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| # - ref: idp-htpasswd | |
| # - ref: fips-check-fips-or-die | |
| # - ref: fips-check-node-scan | |
| # - ref: cucushift-pre | |
| # - ref: openshift-extended-test | |
| # - ref: cucushift-e2e | |
| # - ref: openshift-extended-web-tests | |
| # - ref: openshift-extended-test-supplementary | |
| # - ref: openshift-e2e-test-clusterinfra-qe | |
| # - ref: openshift-e2e-test-qe-report | |
| - ref: idp-htpasswd | |
| - ref: fips-check-fips-or-die | |
| - ref: fips-check-node-scan | |
| - ref: cucushift-pre | |
| - ref: openshift-extended-test | |
| - ref: cucushift-e2e | |
| - ref: openshift-extended-web-tests | |
| - ref: openshift-extended-test-supplementary | |
| - ref: openshift-e2e-test-clusterinfra-qe | |
| - ref: openshift-e2e-test-qe-report |
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In
`@ci-operator/step-registry/openshift/e2e/test/qe/openshift-e2e-test-qe-chain.yaml`
around lines 5 - 14, The QE refs for this chain have been commented out, which
disables QE coverage; restore the original list by uncommenting or re-adding the
refs so the chain runs QE tests: ensure the entries idp-htpasswd,
fips-check-fips-or-die, fips-check-node-scan, cucushift-pre,
openshift-extended-test, cucushift-e2e, openshift-extended-web-tests,
openshift-extended-test-supplementary, openshift-e2e-test-clusterinfra-qe, and
openshift-e2e-test-qe-report appear (in the same logical order) in the YAML
instead of being commented so the openshift-e2e-test-qe coverage is executed.
| # - ref: openshift-e2e-test-clusterinfra-qe | ||
| # - ref: openshift-e2e-test-qe-report | ||
| documentation: |- | ||
| Execute e2e tests from QE, which include golang (openshift-extended-test), cucushift (cucushift-e2e), cypress (openshift-extended-web-tests), ...(more to add) |
There was a problem hiding this comment.
Update documentation to match the new execution scope.
The docstring still says this chain executes extended/cucushift/web QE suites, but current steps run only installer health checks.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In
`@ci-operator/step-registry/openshift/e2e/test/qe/openshift-e2e-test-qe-chain.yaml`
at line 16, The chain description "Execute e2e tests from QE, which include
golang (openshift-extended-test), cucushift (cucushift-e2e), cypress
(openshift-extended-web-tests), ...(more to add)" is outdated; update the
docstring in openshift-e2e-test-qe-chain.yaml (the top description/comment
containing that text) to accurately state the current execution scope (e.g.,
"Runs installer health checks only") and optionally note that
extended/cucushift/web suites are not executed by this chain so future
maintainers aren’t misled.
|
/pj-rehearse periodic-ci-openshift-openshift-tests-private-release-4.23-multi-nightly-metal-ipi-ovn-ipv4-rhcos10-worker-tp-amd-f7 periodic-ci-openshift-openshift-tests-private-release-4.23-multi-nightly-metal-ipi-ovn-ipv4-vmedia-rhcos10-worker-tp-arm-f7 |
|
@sgoveas: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel. |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In
`@ci-operator/step-registry/baremetal/lab/ipi/install/baremetal-lab-ipi-install-commands.sh`:
- Around line 95-96: The script currently hard-codes CI release image
coordinates into OPENSHIFT_INSTALL_RELEASE_IMAGE_OVERRIDE and
MULTI_RELEASE_IMAGE; change it to use the ci-operator provided release image
environment variable(s) instead: if OPENSHIFT_INSTALL_RELEASE_IMAGE_OVERRIDE or
MULTI_RELEASE_IMAGE are not already set, assign them from the ci-operator
release variable (e.g., RELEASE_IMAGE) by using something like
OPENSHIFT_INSTALL_RELEASE_IMAGE_OVERRIDE="${OPENSHIFT_INSTALL_RELEASE_IMAGE_OVERRIDE:-${RELEASE_IMAGE}}"
and MULTI_RELEASE_IMAGE="${MULTI_RELEASE_IMAGE:-${RELEASE_IMAGE}}", so you don’t
force a specific ci-ln-* image and you respect any externally-provided values.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository YAML (base), Central YAML (inherited)
Review profile: CHILL
Plan: Enterprise
Run ID: 4c73af61-2ede-4da8-affa-7b54b06930a4
⛔ Files ignored due to path filters (1)
ci-operator/jobs/openshift/openshift-tests-private/openshift-openshift-tests-private-release-4.23-periodics.yamlis excluded by!ci-operator/jobs/**
📒 Files selected for processing (6)
ci-operator/config/openshift/openshift-tests-private/openshift-openshift-tests-private-release-4.23__multi-nightly.yamlci-operator/step-registry/baremetal/lab/ipi/install/baremetal-lab-ipi-install-commands.shci-operator/step-registry/baremetal/lab/ipi/install/baremetal-lab-ipi-install-ref.yamlci-operator/step-registry/baremetal/lab/post/baremetal-lab-post-chain.yamlci-operator/step-registry/baremetal/lab/wait/baremetal-lab-wait-ref.yamlci-operator/step-registry/openshift/e2e/test/qe/openshift-e2e-test-qe-chain.yaml
🚧 Files skipped from review as they are similar to previous changes (5)
- ci-operator/step-registry/baremetal/lab/post/baremetal-lab-post-chain.yaml
- ci-operator/step-registry/openshift/e2e/test/qe/openshift-e2e-test-qe-chain.yaml
- ci-operator/step-registry/baremetal/lab/wait/baremetal-lab-wait-ref.yaml
- ci-operator/step-registry/baremetal/lab/ipi/install/baremetal-lab-ipi-install-ref.yaml
- ci-operator/config/openshift/openshift-tests-private/openshift-openshift-tests-private-release-4.23__multi-nightly.yaml
| export OPENSHIFT_INSTALL_RELEASE_IMAGE_OVERRIDE="registry.build10.ci.openshift.org/ci-ln-lgvqh3t/release:latest" | ||
| export MULTI_RELEASE_IMAGE="registry.build10.ci.openshift.org/ci-ln-lgvqh3t/release:latest" |
There was a problem hiding this comment.
Avoid hard-coding CI release image coordinates in this shared install step.
Line 95 and Line 96 pin to a specific ci-ln-* namespace/image, which is brittle for shared step-registry usage and can break installs when that namespace/image is absent. Prefer ci-operator-provided release image env vars instead of a fixed value.
Suggested fix
-export OPENSHIFT_INSTALL_RELEASE_IMAGE_OVERRIDE="registry.build10.ci.openshift.org/ci-ln-lgvqh3t/release:latest"
-export MULTI_RELEASE_IMAGE="registry.build10.ci.openshift.org/ci-ln-lgvqh3t/release:latest"
+: "${OPENSHIFT_INSTALL_RELEASE_IMAGE_OVERRIDE:=${RELEASE_IMAGE_INITIAL}}"
+: "${MULTI_RELEASE_IMAGE:=${RELEASE_IMAGE_LATEST}}"
+export OPENSHIFT_INSTALL_RELEASE_IMAGE_OVERRIDE
+export MULTI_RELEASE_IMAGE🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In
`@ci-operator/step-registry/baremetal/lab/ipi/install/baremetal-lab-ipi-install-commands.sh`
around lines 95 - 96, The script currently hard-codes CI release image
coordinates into OPENSHIFT_INSTALL_RELEASE_IMAGE_OVERRIDE and
MULTI_RELEASE_IMAGE; change it to use the ci-operator provided release image
environment variable(s) instead: if OPENSHIFT_INSTALL_RELEASE_IMAGE_OVERRIDE or
MULTI_RELEASE_IMAGE are not already set, assign them from the ci-operator
release variable (e.g., RELEASE_IMAGE) by using something like
OPENSHIFT_INSTALL_RELEASE_IMAGE_OVERRIDE="${OPENSHIFT_INSTALL_RELEASE_IMAGE_OVERRIDE:-${RELEASE_IMAGE}}"
and MULTI_RELEASE_IMAGE="${MULTI_RELEASE_IMAGE:-${RELEASE_IMAGE}}", so you don’t
force a specific ci-ln-* image and you respect any externally-provided values.
|
/pj-rehearse periodic-ci-openshift-openshift-tests-private-release-4.23-multi-nightly-metal-ipi-ovn-ipv4-rhcos10-worker-tp-amd-f7 periodic-ci-openshift-openshift-tests-private-release-4.23-multi-nightly-metal-ipi-ovn-ipv4-vmedia-rhcos10-worker-tp-amd-f7 |
|
@sgoveas: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel. |
|
/pj-rehearse periodic-ci-openshift-openshift-tests-private-release-5.0-multi-nightly-metal-ipi-ovn-ipv4-rhcos10-worker-tp-amd-f7 periodic-ci-openshift-openshift-tests-private-release-5.0-multi-nightly-metal-ipi-ovn-ipv4-vmedia-rhcos10-worker-tp-amd-f7 |
|
@sgoveas: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel. |
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: sgoveas The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
|
@sgoveas: This pull request references METAL-1745 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 "5.0.0" version, but no target version was set. DetailsIn response to this:
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. |
|
[REHEARSALNOTIFIER]
A total of 183 jobs have been affected by this change. The above listing is non-exhaustive and limited to 25 jobs. A full list of affected jobs can be found here Interacting with pj-rehearseComment: Once you are satisfied with the results of the rehearsals, comment: |
|
/pj-rehearse periodic-ci-openshift-openshift-tests-private-release-5.0-multi-nightly-metal-ipi-ovn-ipv4-rhcos10-worker-tp-amd-f14 periodic-ci-openshift-openshift-tests-private-release-5.0-multi-nightly-metal-ipi-ovn-ipv4-vmedia-rhcos10-worker-tp-arm-f14 |
|
@sgoveas: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel. |
|
@sgoveas: The following tests failed, say
Full PR test history. Your PR dashboard. DetailsInstructions 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. |
Overview
This PR configures CI infrastructure to support testing OpenShift with a RHCOS 10 (rhel-10) worker OS stream variant. It extends the baremetal IPI test pipeline to allow worker nodes to use an alternative CoreOS stream during cluster installation and testing.
CI Configuration Changes
New test jobs added for RHCOS 10 worker testing:
rhcos10-workerin their names, supporting both standard and virtual-media deploymentsWORKER_COREOS_STREAM: rhel-10to target the RHCOS 10 streamBaremetal IPI installation flow:
baremetal-lab-ipi-installstep to support an optionalWORKER_COREOS_STREAMvariableTest orchestration adjustments:
baremetal-lab-agent-gatherstep in the post-installation chainbaremetal-lab-waitstep to use thebaremetal-qe-basecontainer image instead of the CLI imageImage registry configuration:
registry.build10.ci.openshift.org) for release images during installationImpact
The infrastructure now supports testing OpenShift cluster deployments where worker nodes run RHCOS 10 instead of the standard stream, enabling validation of compatibility and stability with the newer OS variant in baremetal environments.