Skip to content

CNTRLPLANE-3509: Deep-verify release component digests in nodepool resolve step#80576

Merged
openshift-merge-bot[bot] merged 1 commit into
openshift:mainfrom
jparrill:hyp-fallback-nightly
Jun 17, 2026
Merged

CNTRLPLANE-3509: Deep-verify release component digests in nodepool resolve step#80576
openshift-merge-bot[bot] merged 1 commit into
openshift:mainfrom
jparrill:hyp-fallback-nightly

Conversation

@jparrill

@jparrill jparrill commented Jun 16, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Fixes CI flakiness where TestNodePoolPrevReleaseN2/N3 fail with manifest unknown because the CI registry garbage-collects component image digests while the release tag itself remains accessible
  • The existing verify_image_pullable only checked the release tag via oc image info, which passed even for stale releases with GC'd internal digests
  • Adds a deep verification step: extract the machine-config-operator digest from the release metadata and verify it is actually pullable in the registry
  • If the MCO digest has been GC'd, the function returns failure and the fallback to the nightly stream is triggered as originally intended

Root cause analysis

In PR openshift/hypershift#8669, the e2e-aks job failed because:

  1. The release controller reported 4.21.0-0.ci-2026-06-08 (7 days old) and 4.20.0-0.ci-2026-06-07 (8 days old) as the latest accepted CI releases
  2. verify_image_pullable ran oc image info on the release tag → passed (tag still exists)
  3. At runtime, HyperShift's ignition server tried to pull machine-config-operator by digest from the release → manifest unknown (digest GC'd)
  4. NodePools with fresh images (N1/4.22 at 3 days, N4/4.19 at 1 day) passed; only the stale ones failed

The fallback to nightly was never triggered because oc image info on the release tag passed — it doesn't check internal component digests.

Changes

  • verify_image_pullable() now performs 3 checks:
    1. oc image info --filter-by-os linux/amd64 on the release tag (existing check)
    2. oc adm release info --image-for=machine-config-operator to extract the MCO digest from release metadata
    3. oc image info --filter-by-os linux/amd64 on the MCO digest to verify it's still pullable

Test plan

  • Verified locally that oc image info + oc adm release info --image-for + oc image info chain works for valid releases
  • Verified locally that the chain correctly fails for non-existent releases (exit code 1)
  • The nightly fallback path in resolve_release_image runs the same verify_image_pullable on the nightly release

/cc @openshift/hypershift-team

🤖 Generated with Claude Code

Summary by CodeRabbit

This PR fixes CI flakiness in OpenShift’s HyperShift NodePool “previous release” tests (notably TestNodePoolPrevReleaseN2/N3) by hardening how the resolve-nodepool-releases step validates candidate release images in the CI registry.

What changed (practical impact)

The CI registry can garbage-collect individual component image digests (while the release tag itself still resolves). Previously, the step only confirmed that the release tag existed, which could still pass even when HyperShift later tried to pull components (e.g., machine-config-operator) by digest, causing “manifest unknown” failures at runtime.

To prevent stale releases from being used, verify_image_pullable() in:
ci-operator/step-registry/hypershift/resolve-nodepool-releases/hypershift-resolve-nodepool-releases-commands.sh
now performs deeper verification:

  1. Confirms the release tag manifest is pullable for linux/amd64 (oc image info --filter-by-os linux/amd64).
  2. Extracts the machine-config-operator digest from release metadata (oc adm release info --image-for=machine-config-operator).
  3. Confirms that the extracted MCO digest is also pullable for linux/amd64 (oc image info --filter-by-os linux/amd64 against the digest).

If any digest is missing (e.g., garbage-collected), the function fails verification so the job falls back to the nightly stream as intended.

Auth handling improvement

The change also centralizes registry authentication handling by introducing an auth_args value (derived only when /etc/ci-pull-credentials/.dockerconfigjson exists) and applying it consistently to both the release-tag and digest pullability checks.

@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label Jun 16, 2026
@openshift-ci-robot

openshift-ci-robot commented Jun 16, 2026

Copy link
Copy Markdown
Contributor

@jparrill: This pull request references CNTRLPLANE-3509 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 task to target the "5.0.0" version, but no target version was set.

Details

In response to this:

Summary

  • Fixes CI flakiness where TestNodePoolPrevReleaseN2/N3 fail with manifest unknown because the CI registry garbage-collects component image digests while the release tag itself remains accessible
  • The existing verify_image_pullable only checked the release tag via oc image info, which passed even for stale releases with GC'd internal digests
  • Adds a deep verification step: extract the machine-config-operator digest from the release metadata and verify it is actually pullable in the registry
  • If the MCO digest has been GC'd, the function returns failure and the fallback to the nightly stream is triggered as originally intended

Root cause analysis

In PR openshift/hypershift#8669, the e2e-aks job failed because:

  1. The release controller reported 4.21.0-0.ci-2026-06-08 (7 days old) and 4.20.0-0.ci-2026-06-07 (8 days old) as the latest accepted CI releases
  2. verify_image_pullable ran oc image info on the release tag → passed (tag still exists)
  3. At runtime, HyperShift's ignition server tried to pull machine-config-operator by digest from the release → manifest unknown (digest GC'd)
  4. NodePools with fresh images (N1/4.22 at 3 days, N4/4.19 at 1 day) passed; only the stale ones failed

The fallback to nightly was never triggered because oc image info on the release tag passed — it doesn't check internal component digests.

Changes

  • verify_image_pullable() now performs 3 checks:
  1. oc image info --filter-by-os linux/amd64 on the release tag (existing check)
  2. oc adm release info --image-for=machine-config-operator to extract the MCO digest from release metadata
  3. oc image info --filter-by-os linux/amd64 on the MCO digest to verify it's still pullable

Test plan

  • Verified locally that oc image info + oc adm release info --image-for + oc image info chain works for valid releases
  • Verified locally that the chain correctly fails for non-existent releases (exit code 1)
  • The nightly fallback path in resolve_release_image runs the same verify_image_pullable on the nightly release

/cc @openshift/hypershift-team

🤖 Generated with Claude Code

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 commented Jun 16, 2026

Copy link
Copy Markdown
Contributor

@jparrill: GitHub didn't allow me to request PR reviews from the following users: openshift/hypershift-team.

Note that only openshift members and repo collaborators can review this PR, and authors cannot review their own PRs.

Details

In response to this:

Summary

  • Fixes CI flakiness where TestNodePoolPrevReleaseN2/N3 fail with manifest unknown because the CI registry garbage-collects component image digests while the release tag itself remains accessible
  • The existing verify_image_pullable only checked the release tag via oc image info, which passed even for stale releases with GC'd internal digests
  • Adds a deep verification step: extract the machine-config-operator digest from the release metadata and verify it is actually pullable in the registry
  • If the MCO digest has been GC'd, the function returns failure and the fallback to the nightly stream is triggered as originally intended

Root cause analysis

In PR openshift/hypershift#8669, the e2e-aks job failed because:

  1. The release controller reported 4.21.0-0.ci-2026-06-08 (7 days old) and 4.20.0-0.ci-2026-06-07 (8 days old) as the latest accepted CI releases
  2. verify_image_pullable ran oc image info on the release tag → passed (tag still exists)
  3. At runtime, HyperShift's ignition server tried to pull machine-config-operator by digest from the release → manifest unknown (digest GC'd)
  4. NodePools with fresh images (N1/4.22 at 3 days, N4/4.19 at 1 day) passed; only the stale ones failed

The fallback to nightly was never triggered because oc image info on the release tag passed — it doesn't check internal component digests.

Changes

  • verify_image_pullable() now performs 3 checks:
  1. oc image info --filter-by-os linux/amd64 on the release tag (existing check)
  2. oc adm release info --image-for=machine-config-operator to extract the MCO digest from release metadata
  3. oc image info --filter-by-os linux/amd64 on the MCO digest to verify it's still pullable

Test plan

  • Verified locally that oc image info + oc adm release info --image-for + oc image info chain works for valid releases
  • Verified locally that the chain correctly fails for non-existent releases (exit code 1)
  • The nightly fallback path in resolve_release_image runs the same verify_image_pullable on the nightly release

/cc @openshift/hypershift-team

🤖 Generated with Claude Code

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 openshift-ci Bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Jun 16, 2026
@coderabbitai

coderabbitai Bot commented Jun 16, 2026

Copy link
Copy Markdown
Contributor

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository YAML (base), Central YAML (inherited)

Review profile: CHILL

Plan: Enterprise

Run ID: 3534eb07-3d2a-41a0-879a-1884d33529ce

📥 Commits

Reviewing files that changed from the base of the PR and between fec02f3 and 5dfe2e3.

📒 Files selected for processing (1)
  • ci-operator/step-registry/hypershift/resolve-nodepool-releases/hypershift-resolve-nodepool-releases-commands.sh

Walkthrough

The verify_image_pullable function in the HyperShift resolve-nodepool-releases script is refactored to introduce an auth_args variable set conditionally based on Docker config file presence. This auth variable is then applied consistently to both oc image info invocations: the release manifest linux/amd64 check and the machine-config-operator digest pullability check.

Changes

Auth Argument Threading

Layer / File(s) Summary
Conditional auth threading in verify_image_pullable
ci-operator/step-registry/hypershift/resolve-nodepool-releases/hypershift-resolve-nodepool-releases-commands.sh
Introduces auth_args variable set from Docker config file existence, threads it through the oc image info linux/amd64 release manifest check, the oc adm release info --image-for=machine-config-operator call, and the subsequent digest oc image info pullability check.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~5 minutes

Suggested reviewers

  • sjenning
  • bryan-cox
🚥 Pre-merge checks | ✅ 14 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (14 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately reflects the main change: deepening verification of release component digests (specifically the machine-config-operator) in the nodepool resolve step to prevent using stale releases with garbage-collected components.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Stable And Deterministic Test Names ✅ Passed PR contains no Ginkgo tests—only shell scripts and standard Go tests using testing.T framework. Custom check for Ginkgo test name stability is not applicable.
Test Structure And Quality ✅ Passed PR modifies only a bash CI script (hypershift-resolve-nodepool-releases-commands.sh), not Ginkgo test code. Custom check for "Test Structure and Quality" is not applicable.
Microshift Test Compatibility ✅ Passed PR modifies only CI shell scripts and configuration files, not Ginkgo e2e tests. No test code to assess for MicroShift compatibility.
Single Node Openshift (Sno) Test Compatibility ✅ Passed No new Ginkgo e2e tests are added in this PR. Changes are limited to a bash shell script in the CI operator step registry for Docker registry operations. The SNO test compatibility check does not a...
Topology-Aware Scheduling Compatibility ✅ Passed This PR modifies a CI infrastructure shell script (step-registry) for resolving release images, not deployment manifests, operator code, or controllers. No Kubernetes scheduling constraints are int...
Ote Binary Stdout Contract ✅ Passed The check is not applicable: this PR modifies a bash CI step script, not an OTE Go test binary. OTE Binary Stdout Contract applies to Go binaries communicating JSON to openshift-tests, not CI infra...
Ipv6 And Disconnected Network Test Compatibility ✅ Passed Check is not applicable: PR modifies only a shell script in ci-operator step registry; no Ginkgo e2e tests are added.
No-Weak-Crypto ✅ Passed No weak cryptographic algorithms, custom crypto implementations, or non-constant-time secret comparisons found in the modified shell script. Changes involve OpenShift CLI commands and Docker regist...
Container-Privileges ✅ Passed PR modifies only a bash CI automation script for image verification. No container privilege configurations (privileged, hostPID, hostNetwork, hostIPC, SYS_ADMIN, allowPrivilegeEscalation) were intr...
No-Sensitive-Data-In-Logs ✅ Passed All logging statements output only non-sensitive data (image references, version strings, HTTP codes). Authentication arguments are used only with output suppressed via /dev/null redirects, never e...

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🧹 Nitpick comments (1)
ci-operator/step-registry/hypershift/resolve-nodepool-releases/hypershift-resolve-nodepool-releases-commands.sh (1)

38-60: ⚡ Quick win

Use an auth argument array to avoid unquoted expansion and duplicate branching.

auth_args is currently a string that is intentionally split at call sites; switching to an array is safer and lets you collapse the repeated if [[ -n "${auth_args}" ]] branches.

Suggested refactor
 verify_image_pullable() {
     local pullspec=$1
-    local auth_args=""
+    local -a auth_args=()
     if [[ -f "${REGISTRY_AUTH}" ]]; then
-        auth_args="-a ${REGISTRY_AUTH}"
+        auth_args=(-a "${REGISTRY_AUTH}")
     fi
 
     # Check 1: release tag manifest exists and is the right architecture
-    if [[ -n "${auth_args}" ]]; then
-        oc image info --filter-by-os linux/amd64 ${auth_args} "${pullspec}" &>/dev/null || return 1
-    else
-        oc image info --filter-by-os linux/amd64 "${pullspec}" &>/dev/null || return 1
-    fi
+    oc image info --filter-by-os linux/amd64 "${auth_args[@]}" "${pullspec}" &>/dev/null || return 1
 
     # Check 2: internal component digests are still alive in the registry.
     # The release tag can outlive its component digests when the CI registry
     # garbage-collects old images. Extract the MCO digest from the release
     # metadata and verify it is actually pullable.
     local mco_digest
-    mco_digest=$(oc adm release info ${auth_args} "${pullspec}" --image-for=machine-config-operator 2>/dev/null) || return 1
-    if [[ -n "${auth_args}" ]]; then
-        oc image info --filter-by-os linux/amd64 ${auth_args} "${mco_digest}" &>/dev/null || return 1
-    else
-        oc image info --filter-by-os linux/amd64 "${mco_digest}" &>/dev/null || return 1
-    fi
+    mco_digest=$(oc adm release info "${auth_args[@]}" "${pullspec}" --image-for=machine-config-operator 2>/dev/null) || return 1
+    oc image info --filter-by-os linux/amd64 "${auth_args[@]}" "${mco_digest}" &>/dev/null || return 1
 }
🤖 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/hypershift/resolve-nodepool-releases/hypershift-resolve-nodepool-releases-commands.sh`
around lines 38 - 60, The auth_args variable is currently a string that gets
intentionally split at call sites, causing duplicated if-else branches
throughout the code. Convert auth_args to an array instead by initializing it as
an empty array and conditionally adding the authentication arguments as array
elements. Then replace all the duplicated if-else branches checking for
non-empty auth_args with single command lines using array expansion syntax
"${auth_args[@]}" to unpack the array arguments. Apply this refactoring to both
the oc image info calls checking pullspec and mco_digest, as well as the oc adm
release info call.

Source: Linters/SAST tools

🤖 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.

Nitpick comments:
In
`@ci-operator/step-registry/hypershift/resolve-nodepool-releases/hypershift-resolve-nodepool-releases-commands.sh`:
- Around line 38-60: The auth_args variable is currently a string that gets
intentionally split at call sites, causing duplicated if-else branches
throughout the code. Convert auth_args to an array instead by initializing it as
an empty array and conditionally adding the authentication arguments as array
elements. Then replace all the duplicated if-else branches checking for
non-empty auth_args with single command lines using array expansion syntax
"${auth_args[@]}" to unpack the array arguments. Apply this refactoring to both
the oc image info calls checking pullspec and mco_digest, as well as the oc adm
release info call.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository YAML (base), Central YAML (inherited)

Review profile: CHILL

Plan: Enterprise

Run ID: a10b5dae-c199-4fc4-8483-fb23bdc474b8

📥 Commits

Reviewing files that changed from the base of the PR and between 845aae1 and fec02f3.

📒 Files selected for processing (1)
  • ci-operator/step-registry/hypershift/resolve-nodepool-releases/hypershift-resolve-nodepool-releases-commands.sh

@csrwng csrwng left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

a couple of nits, otherwise lgtm

fi

# Check 1: release tag manifest exists and is the right architecture
if [[ -n "${auth_args}" ]]; then

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

nit: if specifying ${auth_args} in the command line without quotes, I don't think you need this if

# metadata and verify it is actually pullable.
local mco_digest
mco_digest=$(oc adm release info ${auth_args} "${pullspec}" --image-for=machine-config-operator 2>/dev/null) || return 1
if [[ -n "${auth_args}" ]]; then

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

same as above

The CI registry can garbage-collect individual component image digests
while the release tag itself remains accessible. This caused
NodePool tests to fail with "manifest unknown" when the ignition server
tried to pull component images (e.g. machine-config-operator) by digest.

The existing verify_image_pullable only checked the release tag via
`oc image info`, which passed even for stale releases. Add a second
check that extracts the MCO digest from the release metadata and
verifies it is actually pullable in the registry. If the digest has
been GC'd, the fallback to the nightly stream is triggered as intended.

Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
Signed-off-by: Juan Manuel Parrilla Madrid <[email protected]>
@jparrill jparrill force-pushed the hyp-fallback-nightly branch from fec02f3 to 5dfe2e3 Compare June 16, 2026 14:19
@csrwng

csrwng commented Jun 16, 2026

Copy link
Copy Markdown
Contributor

/lgtm

@openshift-ci

openshift-ci Bot commented Jun 16, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: csrwng, jparrill

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 lgtm Indicates that a PR is ready to be merged. label Jun 16, 2026
@jparrill

Copy link
Copy Markdown
Contributor Author

/pj-rehearse pull-ci-openshift-hypershift-main-e2e-aws-4-22

@jparrill

Copy link
Copy Markdown
Contributor Author

/pj-rehearse pull-ci-openshift-hypershift-main-e2e-aks-4-22

@jparrill

Copy link
Copy Markdown
Contributor Author

/pj-rehearse pull-ci-openshift-hypershift-main-e2e-aks

@jparrill

Copy link
Copy Markdown
Contributor Author

/pj-rehearse pull-ci-openshift-hypershift-main-e2e-aws

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

[REHEARSALNOTIFIER]
@jparrill: the pj-rehearse plugin accommodates running rehearsal tests for the changes in this PR. Expand 'Interacting with pj-rehearse' for usage details. The following rehearsable tests have been affected by this change:

Test name Repo Type Reason
pull-ci-openshift-openstack-resource-controller-main-e2e-hypershift openshift/openstack-resource-controller presubmit Registry content changed
pull-ci-openshift-openstack-resource-controller-release-5.1-e2e-hypershift openshift/openstack-resource-controller presubmit Registry content changed
pull-ci-openshift-openstack-resource-controller-release-5.0-e2e-hypershift openshift/openstack-resource-controller presubmit Registry content changed
pull-ci-openshift-openstack-resource-controller-release-4.23-e2e-hypershift openshift/openstack-resource-controller presubmit Registry content changed
pull-ci-openshift-openstack-resource-controller-release-4.22-e2e-hypershift openshift/openstack-resource-controller presubmit Registry content changed
pull-ci-openshift-openstack-resource-controller-release-4.21-e2e-hypershift openshift/openstack-resource-controller presubmit Registry content changed
pull-ci-openshift-openstack-resource-controller-release-4.20-e2e-hypershift openshift/openstack-resource-controller presubmit Registry content changed
pull-ci-openshift-openstack-resource-controller-release-4.19-e2e-hypershift openshift/openstack-resource-controller presubmit Registry content changed
pull-ci-openshift-cluster-baremetal-operator-main-e2e-hypershift openshift/cluster-baremetal-operator presubmit Registry content changed
pull-ci-openshift-cluster-baremetal-operator-release-5.1-e2e-hypershift openshift/cluster-baremetal-operator presubmit Registry content changed
pull-ci-openshift-cluster-baremetal-operator-release-5.0-e2e-hypershift openshift/cluster-baremetal-operator presubmit Registry content changed
pull-ci-openshift-cluster-baremetal-operator-release-4.23-e2e-hypershift openshift/cluster-baremetal-operator presubmit Registry content changed
pull-ci-openshift-cluster-baremetal-operator-release-4.22-e2e-hypershift openshift/cluster-baremetal-operator presubmit Registry content changed
pull-ci-openshift-cluster-baremetal-operator-release-4.21-e2e-hypershift openshift/cluster-baremetal-operator presubmit Registry content changed
pull-ci-openshift-cluster-api-provider-azure-main-hypershift-e2e-aks openshift/cluster-api-provider-azure presubmit Registry content changed
pull-ci-openshift-cluster-api-provider-azure-release-5.1-hypershift-e2e-aks openshift/cluster-api-provider-azure presubmit Registry content changed
pull-ci-openshift-cluster-api-provider-azure-release-5.0-hypershift-e2e-aks openshift/cluster-api-provider-azure presubmit Registry content changed
pull-ci-openshift-cluster-api-provider-azure-release-4.23-hypershift-e2e-aks openshift/cluster-api-provider-azure presubmit Registry content changed
pull-ci-openshift-cluster-api-provider-azure-release-4.22-hypershift-e2e-aks openshift/cluster-api-provider-azure presubmit Registry content changed
pull-ci-openshift-cluster-api-provider-azure-release-4.21-hypershift-e2e-aks openshift/cluster-api-provider-azure presubmit Registry content changed
pull-ci-openshift-cluster-api-provider-azure-release-4.20-hypershift-e2e-aks openshift/cluster-api-provider-azure presubmit Registry content changed
pull-ci-openshift-cluster-api-provider-azure-release-4.19-hypershift-e2e-aks openshift/cluster-api-provider-azure presubmit Registry content changed
pull-ci-openshift-azure-kubernetes-kms-main-e2e-hypershift openshift/azure-kubernetes-kms presubmit Registry content changed
pull-ci-openshift-azure-kubernetes-kms-release-5.1-e2e-hypershift openshift/azure-kubernetes-kms presubmit Registry content changed
pull-ci-openshift-azure-kubernetes-kms-release-5.0-e2e-hypershift openshift/azure-kubernetes-kms presubmit Registry content changed

A total of 567 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-rehearse

Comment: /pj-rehearse to run up to 5 rehearsals
Comment: /pj-rehearse skip to opt-out of rehearsals
Comment: /pj-rehearse {test-name}, with each test separated by a space, to run one or more specific rehearsals
Comment: /pj-rehearse more to run up to 10 rehearsals
Comment: /pj-rehearse max to run up to 25 rehearsals
Comment: /pj-rehearse auto-ack to run up to 5 rehearsals, and add the rehearsals-ack label on success
Comment: /pj-rehearse list to get an up-to-date list of affected jobs
Comment: /pj-rehearse abort to abort all active rehearsals
Comment: /pj-rehearse network-access-allowed to allow rehearsals of tests that have the restrict_network_access field set to false. This must be executed by an openshift org member who is not the PR author

Once you are satisfied with the results of the rehearsals, comment: /pj-rehearse ack to unblock merge. When the rehearsals-ack label is present on your PR, merge will no longer be blocked by rehearsals.
If you would like the rehearsals-ack label removed, comment: /pj-rehearse reject to re-block merging.

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

@jparrill: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

@jparrill: your /pj-rehearse request was not processed because the request waited in queue for longer than 5 minutes. Please retry in a few minutes.

4 similar comments
@openshift-merge-bot

Copy link
Copy Markdown
Contributor

@jparrill: your /pj-rehearse request was not processed because the request waited in queue for longer than 5 minutes. Please retry in a few minutes.

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

@jparrill: your /pj-rehearse request was not processed because the request waited in queue for longer than 5 minutes. Please retry in a few minutes.

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

@jparrill: your /pj-rehearse request was not processed because the request waited in queue for longer than 5 minutes. Please retry in a few minutes.

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

@jparrill: your /pj-rehearse request was not processed because the request waited in queue for longer than 5 minutes. Please retry in a few minutes.

@jparrill

Copy link
Copy Markdown
Contributor Author

/pj-rehearse pull-ci-openshift-hypershift-main-e2e-aws-4-22

@jparrill

Copy link
Copy Markdown
Contributor Author

/pj-rehearse pull-ci-openshift-hypershift-main-e2e-aks-4-22

@jparrill

Copy link
Copy Markdown
Contributor Author

/pj-rehearse pull-ci-openshift-hypershift-main-e2e-aks

@jparrill

Copy link
Copy Markdown
Contributor Author

/pj-rehearse pull-ci-openshift-hypershift-main-e2e-aws

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

@jparrill: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

1 similar comment
@openshift-merge-bot

Copy link
Copy Markdown
Contributor

@jparrill: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

@jparrill: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

1 similar comment
@openshift-merge-bot

Copy link
Copy Markdown
Contributor

@jparrill: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@jparrill

Copy link
Copy Markdown
Contributor Author

/retest

@jparrill

Copy link
Copy Markdown
Contributor Author

/pj-rehearse pull-ci-openshift-hypershift-main-e2e-aks-4-22

@jparrill

Copy link
Copy Markdown
Contributor Author

/pj-rehearse pull-ci-openshift-hypershift-main-e2e-aws

@jparrill

Copy link
Copy Markdown
Contributor Author

/pj-rehearse pull-ci-openshift-hypershift-main-e2e-aws-4-22

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

@jparrill: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@jparrill

Copy link
Copy Markdown
Contributor Author

/pj-rehearse pull-ci-openshift-kubernetes-release-4.22-e2e-aws-ovn-hypershift

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

@jparrill: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

1 similar comment
@openshift-merge-bot

Copy link
Copy Markdown
Contributor

@jparrill: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

@jparrill: your /pj-rehearse request was not processed because the request waited in queue for longer than 5 minutes. Please retry in a few minutes.

@jparrill

Copy link
Copy Markdown
Contributor Author

/pj-rehearse pull-ci-openshift-hypershift-main-e2e-aws

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

@jparrill: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@jparrill

Copy link
Copy Markdown
Contributor Author

/pj-rehearse pull-ci-openshift-kubernetes-release-4.22-e2e-aws-ovn-hypershift

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

@jparrill: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@jparrill

Copy link
Copy Markdown
Contributor Author

/pj-rehearse ack

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

@jparrill: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@openshift-merge-bot openshift-merge-bot Bot added the rehearsals-ack Signifies that rehearsal jobs have been acknowledged label Jun 17, 2026
@openshift-ci

openshift-ci Bot commented Jun 17, 2026

Copy link
Copy Markdown
Contributor

@jparrill: The following test 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/rehearse/openshift/hypershift/main/e2e-aws 5dfe2e3 link unknown /pj-rehearse pull-ci-openshift-hypershift-main-e2e-aws

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.

@openshift-merge-bot openshift-merge-bot Bot merged commit d46e312 into openshift:main Jun 17, 2026
16 of 17 checks passed
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. jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. lgtm Indicates that a PR is ready to be merged. rehearsals-ack Signifies that rehearsal jobs have been acknowledged

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants