Skip to content

OCPBUGS-99783: fix(e2e): check pre-upgrade HO version for shared role support - #8891

Merged
openshift-merge-bot[bot] merged 1 commit into
openshift:mainfrom
devguyio:fix-shared-role-upgrade-test
Jul 30, 2026
Merged

OCPBUGS-99783: fix(e2e): check pre-upgrade HO version for shared role support#8891
openshift-merge-bot[bot] merged 1 commit into
openshift:mainfrom
devguyio:fix-shared-role-upgrade-test

Conversation

@devguyio

@devguyio devguyio commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

Summary

Context

#7331 introduced shared role support to be used in our CI infra as a measure for reducing our CI infra footprint. The PR was not backported, that's why hypershift cli prior to 4.21 does not include this feature.

Since we run all our e2e tests from main, the TestUpgradeHypershiftOperator needs to skip this flag when creating a hypershift cluster using the hypershift cli for hypershift operator < 4.21.

Changes

  • Disable shared IAM role in the HO upgrade test when the pre-upgrade HO is < 4.21
  • Reads the pre-upgrade HO's version from the supported-versions ConfigMap it reconciles, using supportedversion.GetLatestSupportedOCPVersion()
  • Polls briefly (30s) for the ConfigMap since it's reconciled asynchronously after the HO deployment becomes Available
  • The shared role credential reconciliation (#7331) only landed on 4.21+, so the 4.20 HO can't handle shared roles

Related

Test plan

  • e2e-aws-upgrade-hypershift-operator on release-4.20 should pass (shared role disabled)
  • e2e-aws-upgrade-hypershift-operator on release-4.21+ should still use shared role

🤖 Generated with Claude Code

@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: LGTM mode

@coderabbitai

coderabbitai Bot commented Jul 1, 2026

Copy link
Copy Markdown
Contributor
📝 Walkthrough

Walkthrough

This change modifies the HyperShift operator upgrade e2e test to add a version-gated workaround. When the test environment runs a HyperShift version earlier than 421, the test disables clusterOpts.AWSPlatform.SharedRole before proceeding with cluster setup and test execution.

Changes

Cohort / File Change Summary
test/e2e/upgrade_hypershift_operator_test.go Added a version check that disables AWSPlatform.SharedRole for HyperShift versions less than 421, inserted after cluster options initialization.

Related Issues: None specified.

Related PRs: None specified.

Suggested Labels: test, e2e

Suggested Reviewers: None specified.


🐰 A hop, a check, a version's tale,
Before the upgrade, roles grow pale,
SharedRole tucked away for old,
While newer builds run free and bold,
A tiny patch to keep tests hale.

🚥 Pre-merge checks | ✅ 11
✅ Passed checks (11 passed)
Check name Status Explanation
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 The changed test file adds only static, descriptive titles; no dynamic names, timestamps, IDs, or generated values appear in any test title.
Test Structure And Quality ✅ Passed PASS: The change only adds a version-gated SharedRole toggle; the test already uses explicit 5m Consistently timeouts and message-bearing assertions, matching repo patterns.
Topology-Aware Scheduling Compatibility ✅ Passed This change only flips AWS IAM shared-role setup in an e2e test; it adds no pod affinity, selectors, tolerations, replica logic, or topology-dependent scheduling.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed Changed test only toggles SharedRole for <4.21; no IPv4 literals, host/IP parsing, or external-network calls were added.
No-Weak-Crypto ✅ Passed Change only flips SharedRole in an e2e test; no weak crypto, custom crypto, or secret/token comparisons are present.
Container-Privileges ✅ Passed PR only adds a Go e2e test guard disabling AWS sharedRole; no privileged, hostPID/Network/IPC, SYS_ADMIN, root, or allowPrivilegeEscalation settings are introduced.
No-Sensitive-Data-In-Logs ✅ Passed PASS: The PR only adds a version-gated boolean assignment; it introduces no new log statements or sensitive-value logging.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title is specific and accurately reflects the main change: gating shared-role support on the pre-upgrade HyperShift Operator version.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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

@openshift-ci
openshift-ci Bot requested review from bryan-cox and clebs July 1, 2026 17:54
@openshift-ci openshift-ci Bot added the area/testing Indicates the PR includes changes for e2e testing label Jul 1, 2026
@openshift-ci

openshift-ci Bot commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: devguyio

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 approved Indicates a PR has been approved by an approver from all required OWNERS files. and removed do-not-merge/needs-area labels Jul 1, 2026
@devguyio

devguyio commented Jul 1, 2026

Copy link
Copy Markdown
Contributor Author

/autocc

@devguyio

devguyio commented Jul 1, 2026

Copy link
Copy Markdown
Contributor Author

/auto-cc

@codecov

codecov Bot commented Jul 1, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 44.56%. Comparing base (144cca9) to head (6555035).
⚠️ Report is 72 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #8891      +/-   ##
==========================================
+ Coverage   44.51%   44.56%   +0.04%     
==========================================
  Files         774      774              
  Lines       96997    97003       +6     
==========================================
+ Hits        43179    43228      +49     
+ Misses      50830    50783      -47     
- Partials     2988     2992       +4     

see 6 files with indirect coverage changes

Flag Coverage Δ
cmd-support 38.39% <ø> (ø)
cpo-hostedcontrolplane 47.22% <ø> (ø)
cpo-other 45.25% <ø> (ø)
hypershift-operator 54.46% <ø> (+0.01%) ⬆️
other 33.07% <ø> (+0.43%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@openshift-ci
openshift-ci Bot requested review from Nirshal and sjenning July 1, 2026 18:01
@clebs

clebs commented Jul 1, 2026

Copy link
Copy Markdown
Member

/lgtm

@openshift-ci openshift-ci Bot added the lgtm Indicates that a PR is ready to be merged. label Jul 1, 2026
@openshift-merge-bot

Copy link
Copy Markdown
Contributor

Scheduling tests matching the pipeline_run_if_changed or not excluded by pipeline_skip_if_only_changed parameters:
/test e2e-aks-4-22
/test e2e-aws-4-22
/test e2e-aks
/test e2e-aws
/test e2e-aws-upgrade-hypershift-operator
/test e2e-azure-v2-self-managed
/test e2e-kubevirt-aws-ovn-reduced
/test e2e-v2-aws
/test e2e-v2-gke

@hypershift-jira-solve-ci

Copy link
Copy Markdown
Contributor

I have all the evidence I need. The failure is crystal clear — it's an AWS IAM OIDC provider quota exhaustion issue in the shared CI AWS account, completely unrelated to the PR's code changes. Let me produce the final report.

Test Failure Analysis Complete

Job Information

Test Failure Analysis

Error

failed to setup shared OIDC provider: failed to create OIDC provider: operation error IAM:
CreateOpenIDConnectProvider, https response error StatusCode: 409, RequestID: 36d36823-018c-4ffe-bd77-c5e6bce56edc,
LimitExceeded: Cannot exceed quota for OpenIdConnectProvidersPerAccount: 100

Summary

The e2e test suite failed immediately during TestMain initialization (before any individual test could run) because the AWS IAM account used by CI had already reached its hard limit of 100 OIDC providers. The SetupSharedOIDCProvider() call at test/e2e/e2e_test.go:240 attempted to create a new OIDC provider via CreateOpenIDConnectProvider and received an HTTP 409 LimitExceeded error. This caused the entire test binary to exit with code 255, resulting in 0 tests executed. This is a CI infrastructure/quota issue completely unrelated to the PR's code changes, which only modify upgrade_hypershift_operator_test.go to disable shared role testing for releases < 4.21.

Root Cause

The root cause is AWS IAM OIDC provider quota exhaustion in the shared CI AWS account (hypershift-ci-oidc S3 bucket / ci.hypershift.devcluster.openshift.com base domain).

How it happens:

  1. Every HyperShift e2e job run calls SetupSharedOIDCProvider() in TestMain, which creates a new AWS IAM OIDC provider (unique per run: e2e-oidc-provider-<random>).
  2. Cleanup of these providers only happens via defer at test completion or a signal handler during graceful shutdown.
  3. When CI jobs fail mid-run, are killed, or time out, the OIDC providers are not cleaned up and accumulate as leaked resources.
  4. AWS imposes a hard limit of 100 OIDC providers per account.
  5. When concurrent CI jobs (across all PRs and periodic jobs sharing this AWS account) collectively accumulate 100 providers, all new e2e runs are blocked — no tests can execute.

Why this is unrelated to PR #8891:

  • The PR only modifies test/e2e/upgrade_hypershift_operator_test.go (adding a SharedRole = false guard for releases < 4.21).
  • The failure occurs in TestMainSetupSharedOIDCProvider() at e2e_test.go:240, which runs before any individual test is reached.
  • The same failure would affect any HyperShift e2e job running against this AWS account at this time.
Recommendations
  1. Retry the job — This is a transient CI infrastructure issue. Other jobs finishing and cleaning up their OIDC providers will free quota. A /retest should succeed once quota is available.

  2. Manual cleanup (if retries keep failing) — An AWS admin for the hypershift-ci-oidc account should list and delete stale OIDC providers:

    aws iam list-open-id-connect-providers | jq -r '.OpenIDConnectProviderList[].Arn'

    Delete providers with e2e-oidc-provider- prefix that correspond to completed/failed job runs.

  3. Long-term improvement — The HyperShift team should consider:

    • Implementing a pre-test cleanup step that garbage-collects leaked OIDC providers older than a threshold (e.g., 4 hours).
    • Requesting an AWS service quota increase for OpenIdConnectProvidersPerAccount beyond 100.
    • Reusing OIDC providers across tests within the same job instead of creating unique ones per run.
Evidence
Evidence Detail
Error source test/e2e/e2e_test.go:240SetupSharedOIDCProvider() in TestMain
AWS API error HTTP 409: LimitExceeded: Cannot exceed quota for OpenIdConnectProvidersPerAccount: 100
AWS Request ID 36d36823-018c-4ffe-bd77-c5e6bce56edc
Failure timestamp 2026-07-01T19:42:17Z (1 second after test binary started)
Tests executed 0 (test suite aborted before any test ran)
Exit code 255 (fatal error in TestMain)
Failed step hypershift-aws-run-e2e-nested (test phase, failed after 1m15s)
Pre phase All 4 steps succeeded (ipi-install-rbac, create-management-cluster, hypershift-install, hypershift-resolve-nodepool-releases)
Post phase All 3 steps succeeded (dump-management-cluster, hypershift-dump-extra, destroy-management-cluster)
PR #8891 changes Only test/e2e/upgrade_hypershift_operator_test.go — does NOT touch OIDC setup code
PR relevance ❌ Not related — failure is in shared CI infrastructure (AWS IAM quota), not in PR code

@cwbotbot

cwbotbot commented Jul 1, 2026

Copy link
Copy Markdown

Test Results

e2e-aws

e2e-aks

@devguyio

Copy link
Copy Markdown
Contributor Author

/retest

@devguyio

Copy link
Copy Markdown
Contributor Author

/retest-required

e2e-aws-4-22 failed due to AWS infra capacity

InsufficientInstanceCapacity: We currently do not have sufficient t2.micro capacity in the Availability Zone you requested (us-east-1a). Our system will be working on provisioning additional capacity. You can currently get t2.micro capacity by not specifying an Availability Zone in your request or choosing us-east-1b, us-east-1c, us-east-1d, us-east-1e, us-east-1f.

@devguyio

Copy link
Copy Markdown
Contributor Author

/retest-required

same capacity error

@devguyio

Copy link
Copy Markdown
Contributor Author

/retest-required
creation of management cluster failed

@devguyio

Copy link
Copy Markdown
Contributor Author

/retest-required

all steps passed including the 4.22 e2e, but the post cluster dump failed, timing out pulling an image.

�[36mINFO�[0m[2026-07-20T10:14:48Z] Step phase pre succeeded after 18m42s.       
�[36mINFO�[0m[2026-07-20T10:14:48Z] Running multi-stage phase test               
�[36mINFO�[0m[2026-07-20T10:14:48Z] Running step e2e-aws-4-22-hypershift-aws-run-e2e-nested. 
�[36mINFO�[0m[2026-07-20T11:32:17Z] Step e2e-aws-4-22-hypershift-aws-run-e2e-nested succeeded after 1h17m28s. 
�[36mINFO�[0m[2026-07-20T11:32:17Z] Step phase test succeeded after 1h17m28s.    
�[36mINFO�[0m[2026-07-20T11:32:17Z] Running multi-stage phase post               
�[36mINFO�[0m[2026-07-20T11:32:17Z] Running step e2e-aws-4-22-dump-management-cluster. 
�[36mINFO�[0m[2026-07-20T12:32:26Z] pod pending for more than 1h0m0s: containers have not started in 1h0m0.000509693s: test: 
* Container test is not ready with reason ImagePullBackOff and message Back-off pulling image "quay-proxy.ci.openshift.org/openshift/ci@sha256:bf578dcc6b9522e442f4755c8ebfa953317948749938f74ca39fc27996a08151": ErrImagePull: unable to pull image or OCI artifact: pull image err: initializing source docker://quay-proxy.ci.openshift.org/openshift/ci@sha256:bf578dcc6b9522e442f4755c8ebfa953317948749938f74ca39fc27996a08151: (Mirrors also failed: [quay.io/openshift/ci@sha256:bf578dcc6b9522e442f4755c8ebfa953317948749938f74ca39fc27996a08151: reading manifest sha256:bf578dcc6b9522e442f4755c8ebfa953317948749938f74ca39fc27996a08151 in quay.io/openshift/ci: manifest unknown]): quay-proxy.ci.openshift.org/openshift/ci@sha256:bf578dcc6b9522e442f4755c8ebfa953317948749938f74ca39fc27996a08151: reading manifest sha256:bf578dcc6b9522e442f4755c8ebfa953317948749938f74ca39fc27996a08151 in quay-proxy.ci.openshift.org/openshift/ci: manifest unknown; artifact err: get manifest: build image source: (Mirrors also failed: [quay.io/openshift/ci@sha256:bf578dcc6b9522e442f4755c8ebfa953317948749938f74ca39fc27996a08151: reading manifest sha256:bf578dcc6b9522e442f4755c8ebfa953317948749938f74ca39fc27996a08151 in quay.io/openshift/ci: manifest unknown]): quay-proxy.ci.openshift.org/openshift/ci@sha256:bf578dcc6b9522e442f4755c8ebfa953317948749938f74ca39fc27996a08151: reading manifest sha256:bf578dcc6b9522e442f4755c8ebfa953317948749938f74ca39fc27996a08151 in quay-proxy.ci.openshift.org/openshift/ci: manifest unknown

@devguyio
devguyio force-pushed the fix-shared-role-upgrade-test branch from 274450c to 4d75137 Compare July 20, 2026 20:46
@openshift-ci openshift-ci Bot removed the lgtm Indicates that a PR is ready to be merged. label Jul 20, 2026
@devguyio
devguyio force-pushed the fix-shared-role-upgrade-test branch from 4d75137 to d269545 Compare July 20, 2026 20:49
@devguyio devguyio changed the title fix(e2e): disable shared role in upgrade test for releases < 4.21 fix(e2e): check pre-upgrade HO version for shared role support Jul 20, 2026
@devguyio

Copy link
Copy Markdown
Contributor Author

@clebs the logic of shared role is only there for our CI infra, that logic isn't used at all for any production envs. Seth introduced it as a way to reduce the number of needed roles on our CI clusters.

@devguyio

Copy link
Copy Markdown
Contributor Author

/retest-required

@devguyio
devguyio force-pushed the fix-shared-role-upgrade-test branch from d269545 to 2c5ac5f Compare July 24, 2026 08:53
@devguyio

Copy link
Copy Markdown
Contributor Author

/pipeline required

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

Scheduling tests matching the pipeline_run_if_changed or not excluded by pipeline_skip_if_only_changed parameters:
/test e2e-aks-4-22
/test e2e-aws-4-22
/test e2e-aks
/test e2e-aws
/test e2e-aws-upgrade-hypershift-operator
/test e2e-azure-v2-self-managed
/test e2e-kubevirt-aws-ovn-reduced
/test e2e-v2-aws
/test e2e-v2-gke
/test unit
/test verify

@devguyio

Copy link
Copy Markdown
Contributor Author

/test e2e-aws

@devguyio

Copy link
Copy Markdown
Contributor Author

/retest-required

// The supported-versions ConfigMap is reconciled asynchronously by the HO after
// its deployment becomes Available, so poll briefly to allow for controller startup.
var preUpgradeHOVersion semver.Version
err = wait.PollUntilContextTimeout(ctx, 2*time.Second, 30*time.Second, true, func(ctx context.Context) (bool, error) {

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.

failure to read the version is fatal, so an arbitrary inner timeouts like this only add another flake vector... generally I like to rely on the highest level context possible and let the CI timeout take care of it (i.e. let it try until the overall test times out). If it ends up getting stuck here in practice that would be indicative of another issue to solve. So basically I'm suggesting just use PollUntilContextCancel

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Good point, definitely makes sense. This should be considered as an unrecoverable failure and bubble up as a timeout CI test run, not an inner failure. Pushing an update.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

done

Shared role credential reconciliation only landed in 4.21+. When
upgrading from an older HO, the test must disable SharedRole to
avoid failures on unsupported infrastructure.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Ahmed Abdalla <aabdelre@redhat.com>
@devguyio
devguyio force-pushed the fix-shared-role-upgrade-test branch from 2c5ac5f to 6555035 Compare July 27, 2026 17:49
@ironcladlou

Copy link
Copy Markdown
Contributor

thanks!

/lgtm

@openshift-ci openshift-ci Bot added the lgtm Indicates that a PR is ready to be merged. label Jul 27, 2026
@openshift-merge-bot

Copy link
Copy Markdown
Contributor

Scheduling tests matching the pipeline_run_if_changed or not excluded by pipeline_skip_if_only_changed parameters:
/test e2e-aks-4-22
/test e2e-aws-4-22
/test e2e-aks
/test e2e-aws
/test e2e-aws-upgrade-hypershift-operator
/test e2e-azure-v2-self-managed
/test e2e-kubevirt-aws-ovn-reduced
/test e2e-v2-aws
/test e2e-v2-gke
/test unit
/test verify

@devguyio devguyio changed the title fix(e2e): check pre-upgrade HO version for shared role support OCPBUGS-99783: fix(e2e): check pre-upgrade HO version for shared role support Jul 28, 2026
@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 Jul 28, 2026
@openshift-ci-robot

Copy link
Copy Markdown

@devguyio: This pull request references Jira Issue OCPBUGS-99783, 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 ASSIGNED, 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:

Summary

Context

#7331 introduced shared role support to be used in our CI infra as a measure for reducing our CI infra footprint. The PR was not backported, that's why hypershift cli prior to 4.21 does not include this feature.

Since we run all our e2e tests from main, the TestUpgradeHypershiftOperator needs to skip this flag when creating a hypershift cluster using the hypershift cli for hypershift operator < 4.21.

Changes

  • Disable shared IAM role in the HO upgrade test when the pre-upgrade HO is < 4.21
  • Reads the pre-upgrade HO's version from the supported-versions ConfigMap it reconciles, using supportedversion.GetLatestSupportedOCPVersion()
  • Polls briefly (30s) for the ConfigMap since it's reconciled asynchronously after the HO deployment becomes Available
  • The shared role credential reconciliation (#7331) only landed on 4.21+, so the 4.20 HO can't handle shared roles

Related

Test plan

  • e2e-aws-upgrade-hypershift-operator on release-4.20 should pass (shared role disabled)
  • e2e-aws-upgrade-hypershift-operator on release-4.21+ should still use shared role

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

@devguyio

Copy link
Copy Markdown
Contributor Author

/retest-required

@devguyio

Copy link
Copy Markdown
Contributor Author

/retest-required

@devguyio

Copy link
Copy Markdown
Contributor Author

retested since I thought #9167 was merged, now that I see it's not, I aborted the e2e-aws job

@devguyio

Copy link
Copy Markdown
Contributor Author

/retest-required

@devguyio

Copy link
Copy Markdown
Contributor Author

/verified by e2e

@openshift-ci-robot openshift-ci-robot added the verified Signifies that the PR passed pre-merge verification criteria label Jul 30, 2026
@openshift-ci-robot

Copy link
Copy Markdown

@devguyio: This PR has been marked as verified by e2e.

Details

In response to this:

/verified by e2e

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 Jul 30, 2026

Copy link
Copy Markdown
Contributor

@devguyio: all tests passed!

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 764b55c into openshift:main Jul 30, 2026
43 checks passed
@openshift-ci-robot

Copy link
Copy Markdown

@devguyio: Jira Issue Verification Checks: Jira Issue OCPBUGS-99783
✔️ This pull request was pre-merge verified.
✔️ All associated pull requests have merged.
✔️ All associated, merged pull requests were pre-merge verified.

Jira Issue OCPBUGS-99783 has been moved to the MODIFIED state and will move to the VERIFIED state when the change is available in an accepted nightly payload. 🕓

Details

In response to this:

Summary

Context

#7331 introduced shared role support to be used in our CI infra as a measure for reducing our CI infra footprint. The PR was not backported, that's why hypershift cli prior to 4.21 does not include this feature.

Since we run all our e2e tests from main, the TestUpgradeHypershiftOperator needs to skip this flag when creating a hypershift cluster using the hypershift cli for hypershift operator < 4.21.

Changes

  • Disable shared IAM role in the HO upgrade test when the pre-upgrade HO is < 4.21
  • Reads the pre-upgrade HO's version from the supported-versions ConfigMap it reconciles, using supportedversion.GetLatestSupportedOCPVersion()
  • Polls briefly (30s) for the ConfigMap since it's reconciled asynchronously after the HO deployment becomes Available
  • The shared role credential reconciliation (#7331) only landed on 4.21+, so the 4.20 HO can't handle shared roles

Related

Test plan

  • e2e-aws-upgrade-hypershift-operator on release-4.20 should pass (shared role disabled)
  • e2e-aws-upgrade-hypershift-operator on release-4.21+ should still use shared role

🤖 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-merge-robot

Copy link
Copy Markdown
Contributor

Fix included in release 5.0.0-0.nightly-2026-07-30-103726

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. area/testing Indicates the PR includes changes for e2e testing 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. verified Signifies that the PR passed pre-merge verification criteria

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants