Skip to content

OCPBUGS-85608: Fix for OCP E2E Flakiness - [sig-cli] oc adm release extract image-references [Suite:openshift/conformance/parallel]#31175

Open
YamunadeviShanmugam wants to merge 1 commit into
openshift:mainfrom
YamunadeviShanmugam:fix-e2e-extract-image-ref
Open

OCPBUGS-85608: Fix for OCP E2E Flakiness - [sig-cli] oc adm release extract image-references [Suite:openshift/conformance/parallel]#31175
YamunadeviShanmugam wants to merge 1 commit into
openshift:mainfrom
YamunadeviShanmugam:fix-e2e-extract-image-ref

Conversation

@YamunadeviShanmugam
Copy link
Copy Markdown
Contributor

@YamunadeviShanmugam YamunadeviShanmugam commented May 14, 2026

The test was brittle as it relied on a hardcoded OpenShift 4.13 image reference from a public registry (quay.io), leading to "502 Bad Gateway" or "401 Unauthorized" errors. To resolve this, the test was refactored . It now retrieves the payload image directly from the cluster’s own clusterversion API, ensuring the test always targets the relevant version without hardcoded strings.

  Running Suite:  - /home/yshanmug/Documents/dev/forks/origin
  ===========================================================
  Random Seed: 1778741576 - will randomize all specs

  Will run 1 of 1 specs
  ------------------------------
  [sig-cli] oc adm release extract image-references
  github.com/openshift/origin/test/extended/cli/admin.go:548
    STEP: Creating a kubernetes client @ 05/14/26 12:22:57.853
  I0514 12:22:57.853527 3150154 discovery.go:214] Invalidating discovery information
  I0514 12:22:58.028819 3150154 resource_usage_gatherer.go:386] Can't find any pods in namespace kube-system to grab metrics from
  I0514 12:22:58.051706 3150154 resource_usage_gatherer.go:386] Can't find any pods in namespace kube-system to grab metrics from
  I0514 12:22:58.074976 3150154 resource_usage_gatherer.go:386] Can't find any pods in namespace kube-system to grab metrics from
  I0514 12:22:58.098465 3150154 resource_usage_gatherer.go:386] Can't find any pods in namespace kube-system to grab metrics from
  I0514 12:22:58.120808 3150154 resource_usage_gatherer.go:386] Can't find any pods in namespace kube-system to grab metrics from
  I0514 12:22:58.143210 3150154 resource_usage_gatherer.go:386] Can't find any pods in namespace kube-system to grab metrics from
  I0514 12:22:58.143330 3150154 resource_usage_gatherer.go:340] Closing worker for ip-10-0-83-236.ap-south-1.compute.internal
    STEP: Creating a kubernetes client @ 05/14/26 12:22:58.143
  I0514 12:22:58.143383 3150154 resource_usage_gatherer.go:340] Closing worker for ip-10-0-51-10.ap-south-1.compute.internal
  I0514 12:22:58.143415 3150154 resource_usage_gatherer.go:340] Closing worker for ip-10-0-14-210.ap-south-1.compute.internal
  I0514 12:22:58.143438 3150154 resource_usage_gatherer.go:340] Closing worker for ip-10-0-58-11.ap-south-1.compute.internal
  I0514 12:22:58.143466 3150154 resource_usage_gatherer.go:340] Closing worker for ip-10-0-65-122.ap-south-1.compute.internal
  I0514 12:22:58.144361 3150154 discovery.go:214] Invalidating discovery information
    STEP: Creating a kubernetes client @ 05/14/26 12:22:58.144
  I0514 12:22:58.145317 3150154 discovery.go:214] Invalidating discovery information
  I0514 12:22:58.444537 3150154 resource_usage_gatherer.go:340] Closing worker for ip-10-0-0-196.ap-south-1.compute.internal
  I0514 12:22:58.713289 3150154 client.go:293] configPath is now "/tmp/configfile3416320880"
  I0514 12:22:58.713318 3150154 client.go:368] The user is now "e2e-test-oc-adm-ns-rrw85-user"
  I0514 12:22:58.713326 3150154 client.go:370] Creating project "e2e-test-oc-adm-ns-rrw85"
  I0514 12:22:58.799110 3150154 client.go:378] Waiting on permissions in project "e2e-test-oc-adm-ns-rrw85" ...
  I0514 12:22:58.894520 3150154 client.go:407] DeploymentConfig capability is enabled, adding 'deployer' SA to the list of default SAs
  I0514 12:22:58.918142 3150154 client.go:422] Waiting for ServiceAccount "default" to be provisioned...
  I0514 12:22:59.063362 3150154 client.go:422] Waiting for ServiceAccount "builder" to be provisioned...
  I0514 12:22:59.208054 3150154 client.go:422] Waiting for ServiceAccount "deployer" to be provisioned...
  I0514 12:22:59.352786 3150154 client.go:432] Waiting for RoleBinding "system:image-pullers" to be provisioned...
  I0514 12:22:59.373710 3150154 client.go:432] Waiting for RoleBinding "system:image-builders" to be provisioned...
  I0514 12:22:59.393099 3150154 client.go:432] Waiting for RoleBinding "system:deployers" to be provisioned...
  I0514 12:22:59.790808 3150154 client.go:469] Project "e2e-test-oc-adm-ns-rrw85" has been fully provisioned.
  I0514 12:23:03.350436 3150154 client.go:689] Deleted {user.openshift.io/v1, Resource=users  e2e-test-oc-adm-ns-rrw85-user}, err: <nil>
  I0514 12:23:03.376397 3150154 client.go:689] Deleted {oauth.openshift.io/v1, Resource=oauthclients  e2e-client-e2e-test-oc-adm-ns-rrw85}, err: <nil>
  I0514 12:23:03.403407 3150154 client.go:689] Deleted {oauth.openshift.io/v1, Resource=oauthaccesstokens  sha256~dw90g34ECLjsmcH44Exlf20eAbybFy0mS3kjdD58hTs}, err: <nil>
    STEP: Destroying namespace "e2e-test-oc-adm-ns-rrw85" for this suite. @ 05/14/26 12:23:03.403
    STEP: Collecting resource usage data @ 05/14/26 12:23:03.429
  I0514 12:23:03.429225 3150154 resource_usage_gatherer.go:512] Closed stop channel. Waiting for 6 workers
  I0514 12:23:03.429248 3150154 resource_usage_gatherer.go:520] Waitgroup finished.
  I0514 12:23:03.429329 3150154 framework.go:310] Printing summary: ResourceUsageSummary
  I0514 12:23:03.429397 3150154 framework.go:329] ResourceUsageSummary JSON
  {}

  I0514 12:23:03.429410 3150154 framework.go:330] Finished
  • [5.585 seconds]
  ------------------------------

  Ran 1 of 1 Specs in 5.585 seconds
  SUCCESS! -- 1 Passed | 0 Failed | 0 Pending | 0 Skipped
[
  {
    "name": "[sig-cli] oc adm release extract image-references [Suite:openshift/conformance/parallel]",
    "lifecycle": "blocking",
    "duration": 5584,
    "startTime": "2026-05-14 06:52:57.844579 UTC",
    "endTime": "2026-05-14 06:53:03.429570 UTC",
    "result": "passed",   
  }

Summary by CodeRabbit

  • Tests
    • Made the release-extract image-references test environment-aware by reading the current payload image at runtime.
    • Ensures registry pull secret and CA bundle are prepared before running the extraction and surfaces preparation failures immediately.
    • Replaced strict fixture-based output equality with targeted assertions that the output contains expected ImageStream kind/apiVersion/name patterns.

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

Pipeline controller notification
This repo is configured to use the pipeline controller. Second-stage tests will be triggered either automatically or after lgtm label is added, depending on the repository configuration. The pipeline controller will automatically detect which contexts are required and will utilize /test Prow commands to trigger the second stage.

For optional jobs, comment /test ? to see a list of all defined jobs. To trigger manually all jobs from second stage use /pipeline required command.

This repository is configured in: automatic mode

@openshift-ci-robot openshift-ci-robot added jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. jira/valid-bug Indicates that a referenced Jira bug is valid for the branch this PR is targeting. labels May 14, 2026
@openshift-ci-robot
Copy link
Copy Markdown

@YamunadeviShanmugam: This pull request references Jira Issue OCPBUGS-85608, which is valid. The bug has been moved to the POST state.

3 validation(s) were run on this bug
  • bug is open, matching expected state (open)
  • bug target version (5.0.0) matches configured target version for branch (5.0.0)
  • bug is in the state New, which is one of the valid states (NEW, ASSIGNED, POST)

The bug has been updated to refer to the pull request using the external bug tracker.

Details

In response to this:

The test was brittle as it relied on a hardcoded OpenShift 4.13 image reference from a public registry (quay.io), leading to "502 Bad Gateway" or "401 Unauthorized" errors. To resolve this, the test was refactored . It now retrieves the payload image directly from the cluster’s own clusterversion API, ensuring the test always targets the relevant version without hardcoded strings.

 Running Suite:  - /home/yshanmug/Documents/dev/forks/origin
 ===========================================================
 Random Seed: 1778741576 - will randomize all specs

 Will run 1 of 1 specs
 ------------------------------
 [sig-cli] oc adm release extract image-references
 github.com/openshift/origin/test/extended/cli/admin.go:548
   STEP: Creating a kubernetes client @ 05/14/26 12:22:57.853
 I0514 12:22:57.853527 3150154 discovery.go:214] Invalidating discovery information
 I0514 12:22:58.028819 3150154 resource_usage_gatherer.go:386] Can't find any pods in namespace kube-system to grab metrics from
 I0514 12:22:58.051706 3150154 resource_usage_gatherer.go:386] Can't find any pods in namespace kube-system to grab metrics from
 I0514 12:22:58.074976 3150154 resource_usage_gatherer.go:386] Can't find any pods in namespace kube-system to grab metrics from
 I0514 12:22:58.098465 3150154 resource_usage_gatherer.go:386] Can't find any pods in namespace kube-system to grab metrics from
 I0514 12:22:58.120808 3150154 resource_usage_gatherer.go:386] Can't find any pods in namespace kube-system to grab metrics from
 I0514 12:22:58.143210 3150154 resource_usage_gatherer.go:386] Can't find any pods in namespace kube-system to grab metrics from
 I0514 12:22:58.143330 3150154 resource_usage_gatherer.go:340] Closing worker for ip-10-0-83-236.ap-south-1.compute.internal
   STEP: Creating a kubernetes client @ 05/14/26 12:22:58.143
 I0514 12:22:58.143383 3150154 resource_usage_gatherer.go:340] Closing worker for ip-10-0-51-10.ap-south-1.compute.internal
 I0514 12:22:58.143415 3150154 resource_usage_gatherer.go:340] Closing worker for ip-10-0-14-210.ap-south-1.compute.internal
 I0514 12:22:58.143438 3150154 resource_usage_gatherer.go:340] Closing worker for ip-10-0-58-11.ap-south-1.compute.internal
 I0514 12:22:58.143466 3150154 resource_usage_gatherer.go:340] Closing worker for ip-10-0-65-122.ap-south-1.compute.internal
 I0514 12:22:58.144361 3150154 discovery.go:214] Invalidating discovery information
   STEP: Creating a kubernetes client @ 05/14/26 12:22:58.144
 I0514 12:22:58.145317 3150154 discovery.go:214] Invalidating discovery information
 I0514 12:22:58.444537 3150154 resource_usage_gatherer.go:340] Closing worker for ip-10-0-0-196.ap-south-1.compute.internal
 I0514 12:22:58.713289 3150154 client.go:293] configPath is now "/tmp/configfile3416320880"
 I0514 12:22:58.713318 3150154 client.go:368] The user is now "e2e-test-oc-adm-ns-rrw85-user"
 I0514 12:22:58.713326 3150154 client.go:370] Creating project "e2e-test-oc-adm-ns-rrw85"
 I0514 12:22:58.799110 3150154 client.go:378] Waiting on permissions in project "e2e-test-oc-adm-ns-rrw85" ...
 I0514 12:22:58.894520 3150154 client.go:407] DeploymentConfig capability is enabled, adding 'deployer' SA to the list of default SAs
 I0514 12:22:58.918142 3150154 client.go:422] Waiting for ServiceAccount "default" to be provisioned...
 I0514 12:22:59.063362 3150154 client.go:422] Waiting for ServiceAccount "builder" to be provisioned...
 I0514 12:22:59.208054 3150154 client.go:422] Waiting for ServiceAccount "deployer" to be provisioned...
 I0514 12:22:59.352786 3150154 client.go:432] Waiting for RoleBinding "system:image-pullers" to be provisioned...
 I0514 12:22:59.373710 3150154 client.go:432] Waiting for RoleBinding "system:image-builders" to be provisioned...
 I0514 12:22:59.393099 3150154 client.go:432] Waiting for RoleBinding "system:deployers" to be provisioned...
 I0514 12:22:59.790808 3150154 client.go:469] Project "e2e-test-oc-adm-ns-rrw85" has been fully provisioned.
 I0514 12:23:03.350436 3150154 client.go:689] Deleted {user.openshift.io/v1, Resource=users  e2e-test-oc-adm-ns-rrw85-user}, err: <nil>
 I0514 12:23:03.376397 3150154 client.go:689] Deleted {oauth.openshift.io/v1, Resource=oauthclients  e2e-client-e2e-test-oc-adm-ns-rrw85}, err: <nil>
 I0514 12:23:03.403407 3150154 client.go:689] Deleted {oauth.openshift.io/v1, Resource=oauthaccesstokens  sha256~dw90g34ECLjsmcH44Exlf20eAbybFy0mS3kjdD58hTs}, err: <nil>
   STEP: Destroying namespace "e2e-test-oc-adm-ns-rrw85" for this suite. @ 05/14/26 12:23:03.403
   STEP: Collecting resource usage data @ 05/14/26 12:23:03.429
 I0514 12:23:03.429225 3150154 resource_usage_gatherer.go:512] Closed stop channel. Waiting for 6 workers
 I0514 12:23:03.429248 3150154 resource_usage_gatherer.go:520] Waitgroup finished.
 I0514 12:23:03.429329 3150154 framework.go:310] Printing summary: ResourceUsageSummary
 I0514 12:23:03.429397 3150154 framework.go:329] ResourceUsageSummary JSON
 {}

 I0514 12:23:03.429410 3150154 framework.go:330] Finished
 • [5.585 seconds]
 ------------------------------

 Ran 1 of 1 Specs in 5.585 seconds
 SUCCESS! -- 1 Passed | 0 Failed | 0 Pending | 0 Skipped
[
 {
   "name": "[sig-cli] oc adm release extract image-references [Suite:openshift/conformance/parallel]",
   "lifecycle": "blocking",
   "duration": 5584,
   "startTime": "2026-05-14 06:52:57.844579 UTC",
   "endTime": "2026-05-14 06:53:03.429570 UTC",
   "result": "passed",
   "output": "  STEP: Creating a kubernetes client @ 05/14/26 12:22:57.853\nI0514 12:22:58.028819 3150154 resource_usage_gatherer.go:386] Can't find any pods in namespace kube-system to grab metrics from\nI0514 12:22:58.051706 3150154 resource_usage_gatherer.go:386] Can't find any pods in namespace kube-system to grab metrics from\nI0514 12:22:58.074976 3150154 resource_usage_gatherer.go:386] Can't find any pods in namespace kube-system to grab metrics from\nI0514 12:22:58.098465 3150154 resource_usage_gatherer.go:386] Can't find any pods in namespace kube-system to grab metrics from\nI0514 12:22:58.120808 3150154 resource_usage_gatherer.go:386] Can't find any pods in namespace kube-system to grab metrics from\nI0514 12:22:58.143210 3150154 resource_usage_gatherer.go:386] Can't find any pods in namespace kube-system to grab metrics from\nI0514 12:22:58.143330 3150154 resource_usage_gatherer.go:340] Closing worker for ip-10-0-83-236.ap-south-1.compute.internal\n  STEP: Creating a kubernetes client @ 05/14/26 12:22:58.143\nI0514 12:22:58.143383 3150154 resource_usage_gatherer.go:340] Closing worker for ip-10-0-51-10.ap-south-1.compute.internal\nI0514 12:22:58.143415 3150154 resource_usage_gatherer.go:340] Closing worker for ip-10-0-14-210.ap-south-1.compute.internal\nI0514 12:22:58.143438 3150154 resource_usage_gatherer.go:340] Closing worker for ip-10-0-58-11.ap-south-1.compute.internal\nI0514 12:22:58.143466 3150154 resource_usage_gatherer.go:340] Closing worker for ip-10-0-65-122.ap-south-1.compute.internal\n  STEP: Creating a kubernetes client @ 05/14/26 12:22:58.144\nI0514 12:22:58.444537 3150154 resource_usage_gatherer.go:340] Closing worker for ip-10-0-0-196.ap-south-1.compute.internal\nI0514 12:22:58.713289 3150154 client.go:293] configPath is now \"/tmp/configfile3416320880\"\nI0514 12:22:58.713318 3150154 client.go:368] The user is now \"e2e-test-oc-adm-ns-rrw85-user\"\nI0514 12:22:58.713326 3150154 client.go:370] Creating project \"e2e-test-oc-adm-ns-rrw85\"\nI0514 12:22:58.799110 3150154 client.go:378] Waiting on permissions in project \"e2e-test-oc-adm-ns-rrw85\" ...\nI0514 12:22:58.894520 3150154 client.go:407] DeploymentConfig capability is enabled, adding 'deployer' SA to the list of default SAs\nI0514 12:22:58.918142 3150154 client.go:422] Waiting for ServiceAccount \"default\" to be provisioned...\nI0514 12:22:59.063362 3150154 client.go:422] Waiting for ServiceAccount \"builder\" to be provisioned...\nI0514 12:22:59.208054 3150154 client.go:422] Waiting for ServiceAccount \"deployer\" to be provisioned...\nI0514 12:22:59.352786 3150154 client.go:432] Waiting for RoleBinding \"system:image-pullers\" to be provisioned...\nI0514 12:22:59.373710 3150154 client.go:432] Waiting for RoleBinding \"system:image-builders\" to be provisioned...\nI0514 12:22:59.393099 3150154 client.go:432] Waiting for RoleBinding \"system:deployers\" to be provisioned...\nI0514 12:22:59.790808 3150154 client.go:469] Project \"e2e-test-oc-adm-ns-rrw85\" has been fully provisioned.\nI0514 12:23:03.350436 3150154 client.go:689] Deleted {user.openshift.io/v1, Resource=users  e2e-test-oc-adm-ns-rrw85-user}, err: \u003cnil\u003e\nI0514 12:23:03.376397 3150154 client.go:689] Deleted {oauth.openshift.io/v1, Resource=oauthclients  e2e-client-e2e-test-oc-adm-ns-rrw85}, err: \u003cnil\u003e\nI0514 12:23:03.403407 3150154 client.go:689] Deleted {oauth.openshift.io/v1, Resource=oauthaccesstokens  sha256~dw90g34ECLjsmcH44Exlf20eAbybFy0mS3kjdD58hTs}, err: \u003cnil\u003e\n  STEP: Destroying namespace \"e2e-test-oc-adm-ns-rrw85\" for this suite. @ 05/14/26 12:23:03.403\n  STEP: Collecting resource usage data @ 05/14/26 12:23:03.429\nI0514 12:23:03.429225 3150154 resource_usage_gatherer.go:512] Closed stop channel. Waiting for 6 workers\nI0514 12:23:03.429248 3150154 resource_usage_gatherer.go:520] Waitgroup finished.\nI0514 12:23:03.429329 3150154 framework.go:310] Printing summary: ResourceUsageSummary\nI0514 12:23:03.429397 3150154 framework.go:329] ResourceUsageSummary JSON\n{}\n\nI0514 12:23:03.429410 3150154 framework.go:330] Finished\n",
   "error": "    STEP: Creating a kubernetes client @ 05/14/26 12:22:57.853\n  I0514 12:22:57.853527 3150154 discovery.go:214] Invalidating discovery information\n  I0514 12:22:58.028819 3150154 resource_usage_gatherer.go:386] Can't find any pods in namespace kube-system to grab metrics from\n  I0514 12:22:58.051706 3150154 resource_usage_gatherer.go:386] Can't find any pods in namespace kube-system to grab metrics from\n  I0514 12:22:58.074976 3150154 resource_usage_gatherer.go:386] Can't find any pods in namespace kube-system to grab metrics from\n  I0514 12:22:58.098465 3150154 resource_usage_gatherer.go:386] Can't find any pods in namespace kube-system to grab metrics from\n  I0514 12:22:58.120808 3150154 resource_usage_gatherer.go:386] Can't find any pods in namespace kube-system to grab metrics from\n  I0514 12:22:58.143210 3150154 resource_usage_gatherer.go:386] Can't find any pods in namespace kube-system to grab metrics from\n  I0514 12:22:58.143330 3150154 resource_usage_gatherer.go:340] Closing worker for ip-10-0-83-236.ap-south-1.compute.internal\n    STEP: Creating a kubernetes client @ 05/14/26 12:22:58.143\n  I0514 12:22:58.143383 3150154 resource_usage_gatherer.go:340] Closing worker for ip-10-0-51-10.ap-south-1.compute.internal\n  I0514 12:22:58.143415 3150154 resource_usage_gatherer.go:340] Closing worker for ip-10-0-14-210.ap-south-1.compute.internal\n  I0514 12:22:58.143438 3150154 resource_usage_gatherer.go:340] Closing worker for ip-10-0-58-11.ap-south-1.compute.internal\n  I0514 12:22:58.143466 3150154 resource_usage_gatherer.go:340] Closing worker for ip-10-0-65-122.ap-south-1.compute.internal\n  I0514 12:22:58.144361 3150154 discovery.go:214] Invalidating discovery information\n    STEP: Creating a kubernetes client @ 05/14/26 12:22:58.144\n  I0514 12:22:58.145317 3150154 discovery.go:214] Invalidating discovery information\n  I0514 12:22:58.444537 3150154 resource_usage_gatherer.go:340] Closing worker for ip-10-0-0-196.ap-south-1.compute.internal\n  I0514 12:22:58.713289 3150154 client.go:293] configPath is now \"/tmp/configfile3416320880\"\n  I0514 12:22:58.713318 3150154 client.go:368] The user is now \"e2e-test-oc-adm-ns-rrw85-user\"\n  I0514 12:22:58.713326 3150154 client.go:370] Creating project \"e2e-test-oc-adm-ns-rrw85\"\n  I0514 12:22:58.799110 3150154 client.go:378] Waiting on permissions in project \"e2e-test-oc-adm-ns-rrw85\" ...\n  I0514 12:22:58.894520 3150154 client.go:407] DeploymentConfig capability is enabled, adding 'deployer' SA to the list of default SAs\n  I0514 12:22:58.918142 3150154 client.go:422] Waiting for ServiceAccount \"default\" to be provisioned...\n  I0514 12:22:59.063362 3150154 client.go:422] Waiting for ServiceAccount \"builder\" to be provisioned...\n  I0514 12:22:59.208054 3150154 client.go:422] Waiting for ServiceAccount \"deployer\" to be provisioned...\n  I0514 12:22:59.352786 3150154 client.go:432] Waiting for RoleBinding \"system:image-pullers\" to be provisioned...\n  I0514 12:22:59.373710 3150154 client.go:432] Waiting for RoleBinding \"system:image-builders\" to be provisioned...\n  I0514 12:22:59.393099 3150154 client.go:432] Waiting for RoleBinding \"system:deployers\" to be provisioned...\n  I0514 12:22:59.790808 3150154 client.go:469] Project \"e2e-test-oc-adm-ns-rrw85\" has been fully provisioned.\n  I0514 12:23:03.350436 3150154 client.go:689] Deleted {user.openshift.io/v1, Resource=users  e2e-test-oc-adm-ns-rrw85-user}, err: \u003cnil\u003e\n  I0514 12:23:03.376397 3150154 client.go:689] Deleted {oauth.openshift.io/v1, Resource=oauthclients  e2e-client-e2e-test-oc-adm-ns-rrw85}, err: \u003cnil\u003e\n  I0514 12:23:03.403407 3150154 client.go:689] Deleted {oauth.openshift.io/v1, Resource=oauthaccesstokens  sha256~dw90g34ECLjsmcH44Exlf20eAbybFy0mS3kjdD58hTs}, err: \u003cnil\u003e\n    STEP: Destroying namespace \"e2e-test-oc-adm-ns-rrw85\" for this suite. @ 05/14/26 12:23:03.403\n    STEP: Collecting resource usage data @ 05/14/26 12:23:03.429\n  I0514 12:23:03.429225 3150154 resource_usage_gatherer.go:512] Closed stop channel. Waiting for 6 workers\n  I0514 12:23:03.429248 3150154 resource_usage_gatherer.go:520] Waitgroup finished.\n  I0514 12:23:03.429329 3150154 framework.go:310] Printing summary: ResourceUsageSummary\n  I0514 12:23:03.429397 3150154 framework.go:329] ResourceUsageSummary JSON\n  {}\n\n  I0514 12:23:03.429410 3150154 framework.go:330] Finished\n"
 }

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.

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 14, 2026

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review

Walkthrough

Removes an unused import and updates the oc adm release extract image-references test to read the cluster payload image at runtime, prepare registry pull secret and CA, run the extract command, handle network/HyperShift skips, and validate ImageStream output with substring/regex checks.

Changes

Release Extract Test Environment Awareness

Layer / File(s) Summary
Remove unused import
test/extended/cli/admin.go
Removes an unused testdata import from the file.
Test logic update and assertion validation
test/extended/cli/admin.go
Test retrieves the current cluster payload image from clusterversion, prepares image pull secrets and CA bundle (deferring cleanup when applicable), runs oc adm release extract --file image-references <payloadImage>, detects HyperShift and optionally skips on network-related failures, and validates extracted ImageStream output using substring and regex checks instead of exact fixture equality.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Suggested labels

lgtm, verified

Suggested reviewers

  • sjenning
  • deads2k
🚥 Pre-merge checks | ✅ 10 | ❌ 2

❌ Failed checks (2 warnings)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 50.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
Microshift Test Compatibility ⚠️ Warning Test "release extract image-references" uses ClusterVersion API (config.openshift.io/v1) which is unavailable on MicroShift. Test has no MicroShift skip, apigroup tag, or runtime guard. Add [apigroup:config.openshift.io] tag to test name OR add [Skipped:MicroShift] label OR wrap with if exutil.IsMicroShiftCluster() { g.Skip() }
✅ Passed checks (10 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title directly addresses the main change: fixing OCP E2E flakiness by updating the oc adm release extract image-references test to use dynamic payload image detection instead of hardcoded references.
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 Test name is static "release extract image-references". All dynamic values (payload image, registry secrets) placed in test body, not title. No dynamic content in test declaration.
Test Structure And Quality ✅ Passed Test meets all quality requirements: single responsibility, proper cleanup with defer, consistent timeouts, meaningful messages, codebase patterns.
Single Node Openshift (Sno) Test Compatibility ✅ Passed Test modifies existing code, not adding new tests. No multi-node assumptions present—all operations are SNO-compatible.
Topology-Aware Scheduling Compatibility ✅ Passed This PR modifies a Ginkgo E2E test file, not deployment manifests, operator code, or controllers. The topology-aware check applies only to those categories.
Ote Binary Stdout Contract ✅ Passed No OTE Binary Stdout Contract violations found. Test code is properly enclosed in g.It() blocks. No fmt.Print, klog, or os.Stdout writes in process-level code. Safe variable assignments only.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed Test dynamically retrieves cluster payload image and uses cluster pull-secret. No hardcoded IPv4 addresses, external URLs, or external connectivity. IPv6-compatible.

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

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

Tip

💬 Introducing Slack Agent: The best way for teams to turn conversations into code.

Slack Agent is built on CodeRabbit's deep understanding of your code, so your team can collaborate across the entire SDLC without losing context.

  • Generate code and open pull requests
  • Plan features and break down work
  • Investigate incidents and troubleshoot customer tickets together
  • Automate recurring tasks and respond to alerts with triggers
  • Summarize progress and report instantly

Built for teams:

  • Shared memory across your entire org—no repeating context
  • Per-thread sandboxes to safely plan and execute work
  • Governance built-in—scoped access, auditability, and budget controls

One agent for your entire SDLC. Right inside Slack.

👉 Get started


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.

❤️ Share

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

@openshift-ci openshift-ci Bot requested review from deads2k and sjenning May 14, 2026 08:29
@openshift-ci-robot
Copy link
Copy Markdown

@YamunadeviShanmugam: This pull request references Jira Issue OCPBUGS-85608, which is valid.

3 validation(s) were run on this bug
  • bug is open, matching expected state (open)
  • bug target version (5.0.0) matches configured target version for branch (5.0.0)
  • bug is in the state POST, which is one of the valid states (NEW, ASSIGNED, POST)
Details

In response to this:

The test was brittle as it relied on a hardcoded OpenShift 4.13 image reference from a public registry (quay.io), leading to "502 Bad Gateway" or "401 Unauthorized" errors. To resolve this, the test was refactored . It now retrieves the payload image directly from the cluster’s own clusterversion API, ensuring the test always targets the relevant version without hardcoded strings.

 Running Suite:  - /home/yshanmug/Documents/dev/forks/origin
 ===========================================================
 Random Seed: 1778741576 - will randomize all specs

 Will run 1 of 1 specs
 ------------------------------
 [sig-cli] oc adm release extract image-references
 github.com/openshift/origin/test/extended/cli/admin.go:548
   STEP: Creating a kubernetes client @ 05/14/26 12:22:57.853
 I0514 12:22:57.853527 3150154 discovery.go:214] Invalidating discovery information
 I0514 12:22:58.028819 3150154 resource_usage_gatherer.go:386] Can't find any pods in namespace kube-system to grab metrics from
 I0514 12:22:58.051706 3150154 resource_usage_gatherer.go:386] Can't find any pods in namespace kube-system to grab metrics from
 I0514 12:22:58.074976 3150154 resource_usage_gatherer.go:386] Can't find any pods in namespace kube-system to grab metrics from
 I0514 12:22:58.098465 3150154 resource_usage_gatherer.go:386] Can't find any pods in namespace kube-system to grab metrics from
 I0514 12:22:58.120808 3150154 resource_usage_gatherer.go:386] Can't find any pods in namespace kube-system to grab metrics from
 I0514 12:22:58.143210 3150154 resource_usage_gatherer.go:386] Can't find any pods in namespace kube-system to grab metrics from
 I0514 12:22:58.143330 3150154 resource_usage_gatherer.go:340] Closing worker for ip-10-0-83-236.ap-south-1.compute.internal
   STEP: Creating a kubernetes client @ 05/14/26 12:22:58.143
 I0514 12:22:58.143383 3150154 resource_usage_gatherer.go:340] Closing worker for ip-10-0-51-10.ap-south-1.compute.internal
 I0514 12:22:58.143415 3150154 resource_usage_gatherer.go:340] Closing worker for ip-10-0-14-210.ap-south-1.compute.internal
 I0514 12:22:58.143438 3150154 resource_usage_gatherer.go:340] Closing worker for ip-10-0-58-11.ap-south-1.compute.internal
 I0514 12:22:58.143466 3150154 resource_usage_gatherer.go:340] Closing worker for ip-10-0-65-122.ap-south-1.compute.internal
 I0514 12:22:58.144361 3150154 discovery.go:214] Invalidating discovery information
   STEP: Creating a kubernetes client @ 05/14/26 12:22:58.144
 I0514 12:22:58.145317 3150154 discovery.go:214] Invalidating discovery information
 I0514 12:22:58.444537 3150154 resource_usage_gatherer.go:340] Closing worker for ip-10-0-0-196.ap-south-1.compute.internal
 I0514 12:22:58.713289 3150154 client.go:293] configPath is now "/tmp/configfile3416320880"
 I0514 12:22:58.713318 3150154 client.go:368] The user is now "e2e-test-oc-adm-ns-rrw85-user"
 I0514 12:22:58.713326 3150154 client.go:370] Creating project "e2e-test-oc-adm-ns-rrw85"
 I0514 12:22:58.799110 3150154 client.go:378] Waiting on permissions in project "e2e-test-oc-adm-ns-rrw85" ...
 I0514 12:22:58.894520 3150154 client.go:407] DeploymentConfig capability is enabled, adding 'deployer' SA to the list of default SAs
 I0514 12:22:58.918142 3150154 client.go:422] Waiting for ServiceAccount "default" to be provisioned...
 I0514 12:22:59.063362 3150154 client.go:422] Waiting for ServiceAccount "builder" to be provisioned...
 I0514 12:22:59.208054 3150154 client.go:422] Waiting for ServiceAccount "deployer" to be provisioned...
 I0514 12:22:59.352786 3150154 client.go:432] Waiting for RoleBinding "system:image-pullers" to be provisioned...
 I0514 12:22:59.373710 3150154 client.go:432] Waiting for RoleBinding "system:image-builders" to be provisioned...
 I0514 12:22:59.393099 3150154 client.go:432] Waiting for RoleBinding "system:deployers" to be provisioned...
 I0514 12:22:59.790808 3150154 client.go:469] Project "e2e-test-oc-adm-ns-rrw85" has been fully provisioned.
 I0514 12:23:03.350436 3150154 client.go:689] Deleted {user.openshift.io/v1, Resource=users  e2e-test-oc-adm-ns-rrw85-user}, err: <nil>
 I0514 12:23:03.376397 3150154 client.go:689] Deleted {oauth.openshift.io/v1, Resource=oauthclients  e2e-client-e2e-test-oc-adm-ns-rrw85}, err: <nil>
 I0514 12:23:03.403407 3150154 client.go:689] Deleted {oauth.openshift.io/v1, Resource=oauthaccesstokens  sha256~dw90g34ECLjsmcH44Exlf20eAbybFy0mS3kjdD58hTs}, err: <nil>
   STEP: Destroying namespace "e2e-test-oc-adm-ns-rrw85" for this suite. @ 05/14/26 12:23:03.403
   STEP: Collecting resource usage data @ 05/14/26 12:23:03.429
 I0514 12:23:03.429225 3150154 resource_usage_gatherer.go:512] Closed stop channel. Waiting for 6 workers
 I0514 12:23:03.429248 3150154 resource_usage_gatherer.go:520] Waitgroup finished.
 I0514 12:23:03.429329 3150154 framework.go:310] Printing summary: ResourceUsageSummary
 I0514 12:23:03.429397 3150154 framework.go:329] ResourceUsageSummary JSON
 {}

 I0514 12:23:03.429410 3150154 framework.go:330] Finished
 • [5.585 seconds]
 ------------------------------

 Ran 1 of 1 Specs in 5.585 seconds
 SUCCESS! -- 1 Passed | 0 Failed | 0 Pending | 0 Skipped
[
 {
   "name": "[sig-cli] oc adm release extract image-references [Suite:openshift/conformance/parallel]",
   "lifecycle": "blocking",
   "duration": 5584,
   "startTime": "2026-05-14 06:52:57.844579 UTC",
   "endTime": "2026-05-14 06:53:03.429570 UTC",
   "result": "passed",
   "output": "  STEP: Creating a kubernetes client @ 05/14/26 12:22:57.853\nI0514 12:22:58.028819 3150154 resource_usage_gatherer.go:386] Can't find any pods in namespace kube-system to grab metrics from\nI0514 12:22:58.051706 3150154 resource_usage_gatherer.go:386] Can't find any pods in namespace kube-system to grab metrics from\nI0514 12:22:58.074976 3150154 resource_usage_gatherer.go:386] Can't find any pods in namespace kube-system to grab metrics from\nI0514 12:22:58.098465 3150154 resource_usage_gatherer.go:386] Can't find any pods in namespace kube-system to grab metrics from\nI0514 12:22:58.120808 3150154 resource_usage_gatherer.go:386] Can't find any pods in namespace kube-system to grab metrics from\nI0514 12:22:58.143210 3150154 resource_usage_gatherer.go:386] Can't find any pods in namespace kube-system to grab metrics from\nI0514 12:22:58.143330 3150154 resource_usage_gatherer.go:340] Closing worker for ip-10-0-83-236.ap-south-1.compute.internal\n  STEP: Creating a kubernetes client @ 05/14/26 12:22:58.143\nI0514 12:22:58.143383 3150154 resource_usage_gatherer.go:340] Closing worker for ip-10-0-51-10.ap-south-1.compute.internal\nI0514 12:22:58.143415 3150154 resource_usage_gatherer.go:340] Closing worker for ip-10-0-14-210.ap-south-1.compute.internal\nI0514 12:22:58.143438 3150154 resource_usage_gatherer.go:340] Closing worker for ip-10-0-58-11.ap-south-1.compute.internal\nI0514 12:22:58.143466 3150154 resource_usage_gatherer.go:340] Closing worker for ip-10-0-65-122.ap-south-1.compute.internal\n  STEP: Creating a kubernetes client @ 05/14/26 12:22:58.144\nI0514 12:22:58.444537 3150154 resource_usage_gatherer.go:340] Closing worker for ip-10-0-0-196.ap-south-1.compute.internal\nI0514 12:22:58.713289 3150154 client.go:293] configPath is now \"/tmp/configfile3416320880\"\nI0514 12:22:58.713318 3150154 client.go:368] The user is now \"e2e-test-oc-adm-ns-rrw85-user\"\nI0514 12:22:58.713326 3150154 client.go:370] Creating project \"e2e-test-oc-adm-ns-rrw85\"\nI0514 12:22:58.799110 3150154 client.go:378] Waiting on permissions in project \"e2e-test-oc-adm-ns-rrw85\" ...\nI0514 12:22:58.894520 3150154 client.go:407] DeploymentConfig capability is enabled, adding 'deployer' SA to the list of default SAs\nI0514 12:22:58.918142 3150154 client.go:422] Waiting for ServiceAccount \"default\" to be provisioned...\nI0514 12:22:59.063362 3150154 client.go:422] Waiting for ServiceAccount \"builder\" to be provisioned...\nI0514 12:22:59.208054 3150154 client.go:422] Waiting for ServiceAccount \"deployer\" to be provisioned...\nI0514 12:22:59.352786 3150154 client.go:432] Waiting for RoleBinding \"system:image-pullers\" to be provisioned...\nI0514 12:22:59.373710 3150154 client.go:432] Waiting for RoleBinding \"system:image-builders\" to be provisioned...\nI0514 12:22:59.393099 3150154 client.go:432] Waiting for RoleBinding \"system:deployers\" to be provisioned...\nI0514 12:22:59.790808 3150154 client.go:469] Project \"e2e-test-oc-adm-ns-rrw85\" has been fully provisioned.\nI0514 12:23:03.350436 3150154 client.go:689] Deleted {user.openshift.io/v1, Resource=users  e2e-test-oc-adm-ns-rrw85-user}, err: \u003cnil\u003e\nI0514 12:23:03.376397 3150154 client.go:689] Deleted {oauth.openshift.io/v1, Resource=oauthclients  e2e-client-e2e-test-oc-adm-ns-rrw85}, err: \u003cnil\u003e\nI0514 12:23:03.403407 3150154 client.go:689] Deleted {oauth.openshift.io/v1, Resource=oauthaccesstokens  sha256~dw90g34ECLjsmcH44Exlf20eAbybFy0mS3kjdD58hTs}, err: \u003cnil\u003e\n  STEP: Destroying namespace \"e2e-test-oc-adm-ns-rrw85\" for this suite. @ 05/14/26 12:23:03.403\n  STEP: Collecting resource usage data @ 05/14/26 12:23:03.429\nI0514 12:23:03.429225 3150154 resource_usage_gatherer.go:512] Closed stop channel. Waiting for 6 workers\nI0514 12:23:03.429248 3150154 resource_usage_gatherer.go:520] Waitgroup finished.\nI0514 12:23:03.429329 3150154 framework.go:310] Printing summary: ResourceUsageSummary\nI0514 12:23:03.429397 3150154 framework.go:329] ResourceUsageSummary JSON\n{}\n\nI0514 12:23:03.429410 3150154 framework.go:330] Finished\n",
   "error": "    STEP: Creating a kubernetes client @ 05/14/26 12:22:57.853\n  I0514 12:22:57.853527 3150154 discovery.go:214] Invalidating discovery information\n  I0514 12:22:58.028819 3150154 resource_usage_gatherer.go:386] Can't find any pods in namespace kube-system to grab metrics from\n  I0514 12:22:58.051706 3150154 resource_usage_gatherer.go:386] Can't find any pods in namespace kube-system to grab metrics from\n  I0514 12:22:58.074976 3150154 resource_usage_gatherer.go:386] Can't find any pods in namespace kube-system to grab metrics from\n  I0514 12:22:58.098465 3150154 resource_usage_gatherer.go:386] Can't find any pods in namespace kube-system to grab metrics from\n  I0514 12:22:58.120808 3150154 resource_usage_gatherer.go:386] Can't find any pods in namespace kube-system to grab metrics from\n  I0514 12:22:58.143210 3150154 resource_usage_gatherer.go:386] Can't find any pods in namespace kube-system to grab metrics from\n  I0514 12:22:58.143330 3150154 resource_usage_gatherer.go:340] Closing worker for ip-10-0-83-236.ap-south-1.compute.internal\n    STEP: Creating a kubernetes client @ 05/14/26 12:22:58.143\n  I0514 12:22:58.143383 3150154 resource_usage_gatherer.go:340] Closing worker for ip-10-0-51-10.ap-south-1.compute.internal\n  I0514 12:22:58.143415 3150154 resource_usage_gatherer.go:340] Closing worker for ip-10-0-14-210.ap-south-1.compute.internal\n  I0514 12:22:58.143438 3150154 resource_usage_gatherer.go:340] Closing worker for ip-10-0-58-11.ap-south-1.compute.internal\n  I0514 12:22:58.143466 3150154 resource_usage_gatherer.go:340] Closing worker for ip-10-0-65-122.ap-south-1.compute.internal\n  I0514 12:22:58.144361 3150154 discovery.go:214] Invalidating discovery information\n    STEP: Creating a kubernetes client @ 05/14/26 12:22:58.144\n  I0514 12:22:58.145317 3150154 discovery.go:214] Invalidating discovery information\n  I0514 12:22:58.444537 3150154 resource_usage_gatherer.go:340] Closing worker for ip-10-0-0-196.ap-south-1.compute.internal\n  I0514 12:22:58.713289 3150154 client.go:293] configPath is now \"/tmp/configfile3416320880\"\n  I0514 12:22:58.713318 3150154 client.go:368] The user is now \"e2e-test-oc-adm-ns-rrw85-user\"\n  I0514 12:22:58.713326 3150154 client.go:370] Creating project \"e2e-test-oc-adm-ns-rrw85\"\n  I0514 12:22:58.799110 3150154 client.go:378] Waiting on permissions in project \"e2e-test-oc-adm-ns-rrw85\" ...\n  I0514 12:22:58.894520 3150154 client.go:407] DeploymentConfig capability is enabled, adding 'deployer' SA to the list of default SAs\n  I0514 12:22:58.918142 3150154 client.go:422] Waiting for ServiceAccount \"default\" to be provisioned...\n  I0514 12:22:59.063362 3150154 client.go:422] Waiting for ServiceAccount \"builder\" to be provisioned...\n  I0514 12:22:59.208054 3150154 client.go:422] Waiting for ServiceAccount \"deployer\" to be provisioned...\n  I0514 12:22:59.352786 3150154 client.go:432] Waiting for RoleBinding \"system:image-pullers\" to be provisioned...\n  I0514 12:22:59.373710 3150154 client.go:432] Waiting for RoleBinding \"system:image-builders\" to be provisioned...\n  I0514 12:22:59.393099 3150154 client.go:432] Waiting for RoleBinding \"system:deployers\" to be provisioned...\n  I0514 12:22:59.790808 3150154 client.go:469] Project \"e2e-test-oc-adm-ns-rrw85\" has been fully provisioned.\n  I0514 12:23:03.350436 3150154 client.go:689] Deleted {user.openshift.io/v1, Resource=users  e2e-test-oc-adm-ns-rrw85-user}, err: \u003cnil\u003e\n  I0514 12:23:03.376397 3150154 client.go:689] Deleted {oauth.openshift.io/v1, Resource=oauthclients  e2e-client-e2e-test-oc-adm-ns-rrw85}, err: \u003cnil\u003e\n  I0514 12:23:03.403407 3150154 client.go:689] Deleted {oauth.openshift.io/v1, Resource=oauthaccesstokens  sha256~dw90g34ECLjsmcH44Exlf20eAbybFy0mS3kjdD58hTs}, err: \u003cnil\u003e\n    STEP: Destroying namespace \"e2e-test-oc-adm-ns-rrw85\" for this suite. @ 05/14/26 12:23:03.403\n    STEP: Collecting resource usage data @ 05/14/26 12:23:03.429\n  I0514 12:23:03.429225 3150154 resource_usage_gatherer.go:512] Closed stop channel. Waiting for 6 workers\n  I0514 12:23:03.429248 3150154 resource_usage_gatherer.go:520] Waitgroup finished.\n  I0514 12:23:03.429329 3150154 framework.go:310] Printing summary: ResourceUsageSummary\n  I0514 12:23:03.429397 3150154 framework.go:329] ResourceUsageSummary JSON\n  {}\n\n  I0514 12:23:03.429410 3150154 framework.go:330] Finished\n"
 }

Summary by CodeRabbit

  • Tests
  • Enhanced testing for oc adm release extract image-references command to be environment-aware.
  • Added dynamic payload image detection and improved validation logic across cluster configurations, including HyperShift deployments.
  • Improved test robustness with better error handling for registry access scenarios.

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-merge-bot openshift-merge-bot Bot added the ready-for-human-review Indicates a PR has been reviewed by automated tools and is ready for human review label May 14, 2026
@openshift-merge-bot
Copy link
Copy Markdown
Contributor

Scheduling required tests:
/test e2e-aws-csi
/test e2e-aws-ovn-fips
/test e2e-aws-ovn-microshift
/test e2e-aws-ovn-microshift-serial
/test e2e-aws-ovn-serial-1of2
/test e2e-aws-ovn-serial-2of2
/test e2e-gcp-csi
/test e2e-gcp-ovn
/test e2e-gcp-ovn-upgrade
/test e2e-metal-ipi-ovn-ipv6
/test e2e-vsphere-ovn
/test e2e-vsphere-ovn-upi

Comment thread test/extended/cli/admin.go
@YamunadeviShanmugam
Copy link
Copy Markdown
Contributor Author

/retest

@openshift-trt
Copy link
Copy Markdown

openshift-trt Bot commented May 14, 2026

Job Failure Risk Analysis for sha: 4d4accf

Job Name Failure Risk
pull-ci-openshift-origin-main-e2e-aws-ovn-serial-1of2 High
[Monitor:legacy-cvo-invariants][bz-Insights Operator] clusteroperator/insights should not change condition/Available
This test has passed 99.57% of 6968 runs on release 5.0 [Overall] in the last week.
---
verify operator conditions insights
This test has passed 99.40% of 5973 runs on release 5.0 [Overall] in the last week.
---
[Monitor:legacy-cvo-invariants][bz-Insights Operator] clusteroperator/insights should not change condition/Degraded
This test has passed 99.57% of 6968 runs on release 5.0 [Overall] in the last week.
pull-ci-openshift-origin-main-e2e-vsphere-ovn Medium
verify the cluster readiness and stability
This test has passed 95.78% of 6143 runs on release 5.0 [Overall] in the last week.
---
[Monitor:legacy-test-framework-invariants-alerts][bz-Cluster Version Operator][invariant] alert/ClusterOperatorDegraded should not be at or above info
This test has passed 97.50% of 40 runs on release 5.0 [Architecture:amd64 FeatureSet:default Installer:ipi JobTier:standard Network:ovn NetworkStack:ipv4 OS:rhcos9 Owner:eng Platform:vsphere Procedure:none SecurityMode:default Topology:ha Upgrade:none] in the last week.
---
[Monitor:legacy-cvo-invariants][bz-Insights Operator] clusteroperator/insights should not change condition/Degraded
This test has passed 97.30% of 37 runs on release 5.0 [Architecture:amd64 FeatureSet:default Installer:ipi JobTier:standard Network:ovn NetworkStack:ipv4 OS:rhcos9 Owner:eng Platform:vsphere Procedure:none SecurityMode:default Topology:ha Upgrade:none] in the last week.
---
verify operator conditions insights
This test has passed 97.83% of 6138 runs on release 5.0 [Overall] in the last week.
---
Showing 4 of 5 test results

@YamunadeviShanmugam
Copy link
Copy Markdown
Contributor Author

/retest

@YamunadeviShanmugam YamunadeviShanmugam force-pushed the fix-e2e-extract-image-ref branch from 42ca197 to e6cc720 Compare May 15, 2026 07:20
@openshift-merge-bot
Copy link
Copy Markdown
Contributor

Scheduling required tests:
/test e2e-aws-csi
/test e2e-aws-ovn-fips
/test e2e-aws-ovn-microshift
/test e2e-aws-ovn-microshift-serial
/test e2e-aws-ovn-serial-1of2
/test e2e-aws-ovn-serial-2of2
/test e2e-gcp-csi
/test e2e-gcp-ovn
/test e2e-gcp-ovn-upgrade
/test e2e-metal-ipi-ovn-ipv6
/test e2e-vsphere-ovn
/test e2e-vsphere-ovn-upi

Comment thread test/extended/cli/admin.go Outdated
Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

🧹 Nitpick comments (2)
test/extended/cli/admin.go (2)

557-559: ⚡ Quick win

Remove redundant error check.

The if err != nil wrapper around o.Expect(err).NotTo(o.HaveOccurred()) is redundant. Gomega's Expect already handles both nil and non-nil cases correctly. This pattern is inconsistent with Line 550, which uses the more idiomatic direct call.

♻️ Simplify to match idiomatic Ginkgo/Gomega pattern
 	cleanup, regArgs, err := exutil.PrepareImagePullSecretAndCABundle(ocns)
 	if cleanup != nil {
 		defer cleanup()
 	}
-	if err != nil {
-		o.Expect(err).NotTo(o.HaveOccurred(), "PrepareImagePullSecretAndCABundle failed")
-	}
+	o.Expect(err).NotTo(o.HaveOccurred(), "PrepareImagePullSecretAndCABundle failed")
🤖 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 `@test/extended/cli/admin.go` around lines 557 - 559, Remove the redundant nil
check around the Gomega expectation: delete the surrounding "if err != nil { ...
}" and call o.Expect(err).NotTo(o.HaveOccurred(),
"PrepareImagePullSecretAndCABundle failed") directly (the call to
PrepareImagePullSecretAndCABundle and the o.Expect invocation are the symbols to
update) so the test uses the idiomatic direct Gomega assertion like the earlier
occurrence on line 550.

563-565: ⚡ Quick win

Remove redundant error check and fix error message format.

Two issues here:

  1. The if err != nil wrapper is redundant (same as lines 557-559).
  2. The format string "error%s" is missing a separator. Also, err.Error() is redundant since Gomega already includes the error details in the failure output.
♻️ Simplify to idiomatic pattern
 	out, err := oc.AsAdmin().Run("adm", "release", "extract").Args(args...).Output()
-	if err != nil {
-		o.Expect(err).NotTo(o.HaveOccurred(), "oc adm release extract failed with error%s", err.Error())
-	}
+	o.Expect(err).NotTo(o.HaveOccurred(), "oc adm release extract failed")
🤖 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 `@test/extended/cli/admin.go` around lines 563 - 565, Remove the redundant "if
err != nil" wrapper and simplify the failure assertion so it uses Gomega idiom
directly: replace the whole conditional block that calls
o.Expect(err).NotTo(o.HaveOccurred(), "oc adm release extract failed with
error%s", err.Error()) with a single o.Expect(err).NotTo(o.HaveOccurred(), "oc
adm release extract failed"), removing the explicit err.Error() and the
malformed format string; locate the occurrence that references the err variable
and o.Expect in the same vicinity as the earlier assertion (the duplicate check
around the oc adm release extract call) and delete the redundant conditional.
🤖 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 `@test/extended/cli/admin.go`:
- Around line 557-559: Remove the redundant nil check around the Gomega
expectation: delete the surrounding "if err != nil { ... }" and call
o.Expect(err).NotTo(o.HaveOccurred(), "PrepareImagePullSecretAndCABundle
failed") directly (the call to PrepareImagePullSecretAndCABundle and the
o.Expect invocation are the symbols to update) so the test uses the idiomatic
direct Gomega assertion like the earlier occurrence on line 550.
- Around line 563-565: Remove the redundant "if err != nil" wrapper and simplify
the failure assertion so it uses Gomega idiom directly: replace the whole
conditional block that calls o.Expect(err).NotTo(o.HaveOccurred(), "oc adm
release extract failed with error%s", err.Error()) with a single
o.Expect(err).NotTo(o.HaveOccurred(), "oc adm release extract failed"), removing
the explicit err.Error() and the malformed format string; locate the occurrence
that references the err variable and o.Expect in the same vicinity as the
earlier assertion (the duplicate check around the oc adm release extract call)
and delete the redundant conditional.

ℹ️ Review info
⚙️ Run configuration

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

Review profile: CHILL

Plan: Enterprise

Run ID: bdaa9cab-3ae2-451f-a2b1-53ff3c35186e

📥 Commits

Reviewing files that changed from the base of the PR and between e6cc720 and 4112b55.

📒 Files selected for processing (1)
  • test/extended/cli/admin.go

@mgencur
Copy link
Copy Markdown

mgencur commented May 15, 2026

Let's just fix the two nitpicks from CodeRabbit. They're valid. Otherwise LGTM

@mgencur
Copy link
Copy Markdown

mgencur commented May 15, 2026

/lgtm

addressed review comments
@YamunadeviShanmugam YamunadeviShanmugam force-pushed the fix-e2e-extract-image-ref branch from 77e4ab7 to de9c335 Compare May 15, 2026 10:37
@mgencur
Copy link
Copy Markdown

mgencur commented May 15, 2026

/lgtm

@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented May 15, 2026

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: mgencur, YamunadeviShanmugam
Once this PR has been reviewed and has the lgtm label, please assign cpmeadors for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found 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 May 15, 2026
@openshift-merge-bot
Copy link
Copy Markdown
Contributor

Scheduling required tests:
/test e2e-aws-csi
/test e2e-aws-ovn-fips
/test e2e-aws-ovn-microshift
/test e2e-aws-ovn-microshift-serial
/test e2e-aws-ovn-serial-1of2
/test e2e-aws-ovn-serial-2of2
/test e2e-gcp-csi
/test e2e-gcp-ovn
/test e2e-gcp-ovn-upgrade
/test e2e-metal-ipi-ovn-ipv6
/test e2e-vsphere-ovn
/test e2e-vsphere-ovn-upi

@YamunadeviShanmugam
Copy link
Copy Markdown
Contributor Author

/retest-required

@YamunadeviShanmugam
Copy link
Copy Markdown
Contributor Author

/retest

@YamunadeviShanmugam
Copy link
Copy Markdown
Contributor Author

/retest

@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented May 17, 2026

@YamunadeviShanmugam: The following tests 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/prow/e2e-aws-ovn-microshift de9c335 link true /test e2e-aws-ovn-microshift
ci/prow/e2e-metal-ipi-ovn-ipv6 de9c335 link true /test e2e-metal-ipi-ovn-ipv6

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-trt
Copy link
Copy Markdown

openshift-trt Bot commented May 17, 2026

Job Failure Risk Analysis for sha: de9c335

Job Name Failure Risk
pull-ci-openshift-origin-main-e2e-metal-ipi-ovn-ipv6 IncompleteTests
Tests for this run (21) are below the historical average (3185): IncompleteTests (not enough tests ran to make a reasonable risk analysis; this could be due to infra, installation, or upgrade problems)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

jira/valid-bug Indicates that a referenced Jira bug is valid for the branch this PR is targeting. 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. ready-for-human-review Indicates a PR has been reviewed by automated tools and is ready for human review

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants