Skip to content

Add SBR HyperShift e2e job using persistent management cluster (hypershift-aws)#80919

Open
maximunited wants to merge 1 commit into
openshift:mainfrom
maximunited:medik8s-sbr-hypershift-persistent
Open

Add SBR HyperShift e2e job using persistent management cluster (hypershift-aws)#80919
maximunited wants to merge 1 commit into
openshift:mainfrom
maximunited:medik8s-sbr-hypershift-persistent

Conversation

@maximunited

@maximunited maximunited commented Jun 23, 2026

Copy link
Copy Markdown
Contributor

What

Adds e2e-sbr-hypershift-persistent-aws-odf — an optional presubmit job for medik8s/system-tests that validates ODF + Storage-Based Remediation (SBR) watchdog fencing on a HyperShift hosted cluster, using the shared persistent management cluster (cluster_profile: hypershift-aws).

The job runs 9 SBR smoke + acceptance tests (non-destructive, platform:any) covering:

  • Watchdog device discovery (/dev/watchdog*) on hosted cluster workers
  • SBR operator deployment and OLM correctness
  • StorageBasedRemediationConfig CR validation and controller behavior
  • Watchdog device accessibility and softdog module availability

Why

HyperShift workers are real EC2 instances — CephFS, POSIX locking, and softdog (/dev/watchdog) all work normally. This job confirms it under CI before medik8s switches its primary CI topology from IPI to HyperShift.

Using the shared persistent management cluster (hypershift-aws profile) avoids the ~23 min overhead of provisioning and destroying a management cluster per run. Only the HostedCluster is created and destroyed each time.

Changes

New workflow medik8s-sbr-hypershift-persistent

Wraps the standard hypershift-aws provisioning around the medik8s ODF + SBR test sequence:

pre:
  ipi-install-rbac
  hypershift-setup-root-management-cluster   ← copies pre-existing root cluster kubeconfig (~2s)
  hypershift-aws-create                      ← provisions HostedCluster (3x m5.4xlarge workers)
  medik8s-sbr-hypershift-apply-image-sources ← patches HostedCluster imageContentSources for Konflux images

test:
  medik8s-sbr-hypershift-switch-kubeconfig   ← targets subsequent steps at the hosted cluster
  medik8s-sbr-hypershift-wait-nodes          ← waits for NodePool rotation to complete
  medik8s-catalogsource                      ← installs medik8s operator catalog
  medik8s-operator-subscribe                 ← subscribes to SBR operator
  odf-prepare-cluster                        ← labels nodes for ODF scheduling
  operatorhub-subscribe-odf-operator         ← installs ODF (stable-4.21, redhat-operators)
  odf-apply-storage-cluster                  ← creates StorageCluster (CephFS)
  e2e-test                                   ← make run-tests (ECO_TEST_FEATURES=sbr-operator)

post:
  medik8s-sbr-hypershift-restore-kubeconfig
  hypershift-dump / hypershift-debug / hypershift-k8sgpt
  hypershift-aws-destroy                     ← destroys HostedCluster only (management cluster is persistent)

The step-registry steps under medik8s/sbr/hypershift/ are introduced in #80372 (the nested-cluster variant of this job). Both PRs share the same steps; this PR adds only the new workflow and job entry.

New job e2e-sbr-hypershift-persistent-aws-odf

  • cluster_profile: hypershift-aws
  • HYPERSHIFT_INSTANCE_TYPE: m5.4xlarge, HYPERSHIFT_NODE_COUNT: "3"
  • ODF_OPERATOR_SUB_CHANNEL: stable-4.21 from default redhat-operators
  • optional: true, always_run: false
  • Trigger: /test 4.22-konflux-e2e-sbr-hypershift-persistent-aws-odf

Related

Summary by CodeRabbit

This PR extends the OpenShift CI infrastructure for medik8s/system-tests by adding optional Konflux 4.22 presubmit coverage for Storage-Based Remediation (SBR) + ODF on HyperShift, including a persistent management cluster variant to reduce per-run HyperShift provisioning/destruction overhead.

New/updated Konflux 4.22 system test jobs (HyperShift + SBR + ODF)

In ci-operator/config/medik8s/system-tests/medik8s-system-tests-main__4.22-konflux.yaml, the PR adds:

  • e2e-sbr-hypershift-aws-odf (optional; cluster_profile: medik8s-aws; workflow: medik8s-sbr-hypershift)
  • e2e-sbr-hypershift-persistent-aws-odf (optional; cluster_profile: hypershift-aws; workflow: medik8s-sbr-hypershift-persistent)

Both jobs:

  • Run make run-tests in the e2e-test step.
  • Derive ECO_TEST_FEATURES from src.
  • Set HyperShift/ODF/SBR-related env, including:
    • ECO_TEST_FEATURES: sbr-operator
    • HYPERSHIFT_INSTANCE_TYPE: m5.4xlarge
    • HYPERSHIFT_NODE_COUNT: "3"
    • OCP_VERSION: "422"
    • ODF_OPERATOR_SUB_CHANNEL: stable-4.21
    • OO_CHANNEL: stable
    • OPERATORS: storage-based-remediation
    • SC_WAIT_TIMEOUT: 10m
    • SKIP_IDMS: "true"
  • Execute the same HyperShift/SBR/ODF step sequence:
    • medik8s-sbr-hypershift-switch-kubeconfig
    • medik8s-sbr-hypershift-wait-nodes
    • medik8s-catalogsource
    • medik8s-operator-subscribe
    • odf-prepare-cluster
    • operatorhub-subscribe-odf-operator
    • odf-apply-storage-cluster

New persistent HyperShift SBR workflow

Under ci-operator/step-registry/medik8s/sbr/hypershift-persistent/, the PR introduces:

  • Workflow medik8s-sbr-hypershift-persistent (cluster_profile: hypershift-aws)

Key behavior:

  • Creates only a HostedCluster per run (persistent shared management cluster lifecycle).
  • Pre steps (in order): ipi-install-rbachypershift-setup-root-management-clusterhypershift-aws-createmedik8s-sbr-hypershift-apply-image-sources
  • Post steps: medik8s-sbr-hypershift-restore-kubeconfighypershift-dumphypershift-aws-destroy

Supporting step-registry and ODF readiness logic

The PR also wires the workflow into supporting HyperShift SBR steps and improves related CI primitives:

  • HyperShift SBR step registry additions under ci-operator/step-registry/medik8s/sbr/hypershift/:
    • switch-kubeconfig, wait-nodes, apply-image-sources, restore-kubeconfig
    • Includes HostedCluster image-content-source patching derived from an rhwa-fbc ImageDigestMirrorSet and node/rotation waiting logic to avoid ODF label churn during worker rotation.
  • CatalogSource Konflux mode support:
    • Adds SKIP_IDMS to optionally skip IDMS application in ci-operator/step-registry/medik8s/catalogsource/medik8s-catalogsource-commands.sh (and its ref YAML), intended for HyperShift hosted cluster constraints.
  • ODF storage readiness handling:
    • Adds SC_WAIT_TIMEOUT to ci-operator/step-registry/odf/apply-storage-cluster/odf-apply-storage-cluster-commands.sh, with a fallback readiness check that uses OSD deployment availability when StorageCluster Available cannot be observed in time.

@coderabbitai

coderabbitai Bot commented Jun 23, 2026

Copy link
Copy Markdown
Contributor

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

Adds two new HyperShift-based SBR e2e test jobs (e2e-sbr-hypershift-aws-odf and e2e-sbr-hypershift-persistent-aws-odf) for medik8s on ODF. Introduces all required step-registry components: kubeconfig switch/restore steps, a node-rotation wait step, an image-sources patch step, two workflow definitions (non-persistent and persistent), a SKIP_IDMS toggle in the catalogsource step, and a configurable SC_WAIT_TIMEOUT with OSD fallback in the ODF apply-storage-cluster step.

Changes

HyperShift SBR e2e test infrastructure

Layer / File(s) Summary
Environment toggles: SKIP_IDMS and SC_WAIT_TIMEOUT
ci-operator/step-registry/medik8s/catalogsource/medik8s-catalogsource-commands.sh, ci-operator/step-registry/medik8s/catalogsource/medik8s-catalogsource-ref.yaml, ci-operator/step-registry/odf/apply-storage-cluster/odf-apply-storage-cluster-commands.sh, ci-operator/step-registry/odf/apply-storage-cluster/odf-apply-storage-cluster-ref.yaml
Adds SKIP_IDMS env var (default false); when true, skips apply_idms so HyperShift hosted clusters can pull from quay.io directly. Adds SC_WAIT_TIMEOUT env var (default 10m) for StorageCluster availability with OSD deployment fallback on timeout.
Kubeconfig switching for hosted cluster targeting
ci-operator/step-registry/medik8s/sbr/hypershift/switch-kubeconfig/medik8s-sbr-hypershift-switch-kubeconfig-commands.sh, medik8s-sbr-hypershift-switch-kubeconfig-ref.yaml, medik8s-sbr-hypershift-switch-kubeconfig-ref.metadata.json, OWNERS
Introduces switch-kubeconfig step that preserves management cluster kubeconfig and overwrites KUBECONFIG with nested_kubeconfig, enabling test-phase steps to target the hosted cluster.
Node readiness gate and rotation completion
ci-operator/step-registry/medik8s/sbr/hypershift/wait-nodes/medik8s-sbr-hypershift-wait-nodes-commands.sh, medik8s-sbr-hypershift-wait-nodes-ref.yaml, medik8s-sbr-hypershift-wait-nodes-ref.metadata.json, OWNERS
Waits for all nodes Ready, polls until outdated-revision taint clears (rotation complete), then validates final node count matches HYPERSHIFT_NODE_COUNT (default 3). Must run after switch-kubeconfig and before ODF prepare.
ImageContentSources patching from rhwa-fbc
ci-operator/step-registry/medik8s/sbr/hypershift/apply-image-sources/medik8s-sbr-hypershift-apply-image-sources-commands.sh, medik8s-sbr-hypershift-apply-image-sources-ref.yaml, medik8s-sbr-hypershift-apply-image-sources-ref.metadata.json, OWNERS
Resolves FBC commit SHA via GitLab API, downloads images-mirror-set.yaml, transforms imageDigestMirrors to imageContentSources JSON via yq-v4+jq, patches HostedCluster spec, and waits up to 20 minutes for NodePool AllNodesHealthy.
Kubeconfig restoration for post-phase operations
ci-operator/step-registry/medik8s/sbr/hypershift/restore-kubeconfig/medik8s-sbr-hypershift-restore-kubeconfig-commands.sh, medik8s-sbr-hypershift-restore-kubeconfig-ref.yaml, medik8s-sbr-hypershift-restore-kubeconfig-ref.metadata.json, OWNERS
Restores management cluster kubeconfig from backup with graceful no-op if source absent, enabling post-phase steps to proceed. First post-phase operation.
Workflow definitions and test job configuration
ci-operator/step-registry/medik8s/sbr/hypershift/medik8s-sbr-hypershift-workflow.yaml, medik8s-sbr-hypershift-workflow.metadata.json, ci-operator/step-registry/medik8s/sbr/hypershift-persistent/medik8s-sbr-hypershift-persistent-workflow.yaml, medik8s-sbr-hypershift-persistent-workflow.metadata.json, ci-operator/config/medik8s/system-tests/medik8s-system-tests-main__4.22-konflux.yaml, OWNERS across step-registry directories
Adds two workflow YAMLs with ordered pre/post step chains for HyperShift AWS provisioning and teardown; persistent variant skips management cluster provisioning/teardown per run. Adds hypershift-operator to base_images. Inserts e2e-sbr-hypershift-aws-odf and e2e-sbr-hypershift-persistent-aws-odf test entries with respective cluster_profile, HyperShift sizing, ODF subchannel, SC_WAIT_TIMEOUT, and make run-tests command. Includes metadata and OWNERS governance.

Sequence Diagram(s)

sequenceDiagram
  participant rbac as RBAC
  participant mgmt as Nested Mgmt Cluster
  participant hs as HyperShift AWS
  participant ais as apply-image-sources
  participant sc as switch-kubeconfig
  participant wn as wait-nodes
  participant odf as ODF prepare/apply
  participant tests as make run-tests
  participant rk as restore-kubeconfig

  rbac->>mgmt: install RBAC
  mgmt->>hs: provision nested mgmt<br/>create HostedCluster
  hs->>ais: management context active
  ais->>ais: resolve FBC SHA<br/>fetch images-mirror-set.yaml
  ais->>ais: oc patch HostedCluster<br/>imageContentSources
  ais->>ais: wait NodePool<br/>AllNodesHealthy (20 min)
  ais->>sc: image sources applied
  sc->>sc: backup mgmt kubeconfig<br/>load hosted kubeconfig
  sc->>wn: switch complete
  wn->>wn: wait nodes Ready<br/>poll outdated-revision taint
  wn->>odf: node rotation complete
  odf->>odf: apply StorageCluster<br/>configurable timeout
  odf->>tests: ODF ready
  tests->>rk: test phase complete
  rk->>rk: restore mgmt kubeconfig
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Suggested labels

rehearsals-ack

Suggested reviewers

  • slintes
  • mshitrit
  • razo7
🚥 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 PR title accurately summarizes the main change: adding a new SBR HyperShift e2e job that uses a persistent management cluster (hypershift-aws), which aligns with the primary objective documented in the PR.
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 only modifies CI/CD configuration (YAML, shell scripts, OWNERS files) in openshift/release repo, not test code. Ginkgo test name check is not applicable to this type of PR.
Test Structure And Quality ✅ Passed This PR contains only CI/CD configuration files (YAML), shell scripts, and OWNERS files—no Ginkgo test code. The check is not applicable.
Microshift Test Compatibility ✅ Passed This PR does not add any new Ginkgo e2e tests; it only adds CI configuration, workflow definitions, and helper scripts to run existing tests on HyperShift. The check is not applicable.
Single Node Openshift (Sno) Test Compatibility ✅ Passed This PR adds CI configuration and infrastructure files only—no new Ginkgo e2e tests are added. The job runs existing tests from the medik8s/system-tests repository via make run-tests with `ECO_TE...
Topology-Aware Scheduling Compatibility ✅ Passed PR adds only CI job configuration and step-registry metadata, not deployment manifests. No pod affinity rules, topology spread constraints, node selectors, or PodDisruptionBudgets are introduced.
Ote Binary Stdout Contract ✅ Passed PR is entirely CI configuration (YAML) and infrastructure shell scripts in openshift/release. Contains no Go code or OTE test binaries, making the check inapplicable.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed This PR adds no Ginkgo test code—only CI orchestration YAML, bash infrastructure scripts, and metadata files. The check for IPv6/disconnected network test compatibility only applies when new Ginkgo...
No-Weak-Crypto ✅ Passed No weak cryptographic algorithms (MD5, SHA1, DES, RC4, 3DES, Blowfish, ECB), custom crypto implementations, or non-constant-time secret comparisons detected in the PR changes.
Container-Privileges ✅ Passed No privileged container configurations found: no privileged:true, hostPID/Network/IPC, SYS_ADMIN, allowPrivilegeEscalation:true, or root execution in any files.
No-Sensitive-Data-In-Logs ✅ Passed No sensitive data (passwords, tokens, API keys, PII, session IDs, or credentials) are exposed in logs. All curl requests use public APIs without auth headers. Environment variables logged are confi...

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

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

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.

@openshift-ci openshift-ci Bot requested review from beekhof and petr-balogh June 23, 2026 12:58
@openshift-ci

openshift-ci Bot commented Jun 23, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: maximunited
Once this PR has been reviewed and has the lgtm label, please assign sg-rh 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-merge-bot

Copy link
Copy Markdown
Contributor

@maximunited, pj-rehearse: unable to determine affected jobs. This could be due to a branch that needs to be rebased. ERROR:

could not determine changed registry steps: could not load step registry: name of workflow in file /var/tmp/gitrepo3647471292/ci-operator/step-registry/medik8s/sbr/hypershift/medik8s-sbr-hypershift-persistent-workflow.yaml should be medik8s-sbr-hypershift
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.

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

Actionable comments posted: 3

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In
`@ci-operator/step-registry/medik8s/sbr/hypershift/apply-image-sources/medik8s-sbr-hypershift-apply-image-sources-commands.sh`:
- Around line 54-57: The wait command for the NodePool AllNodesHealthy condition
is currently catching the timeout failure with an OR operator and downgrading it
to a warning, allowing the script to continue and report success even when node
rotation is incomplete. Remove the error handling block that begins with the OR
operator (||) after the 20m timeout on the AllNodesHealthy condition check,
including the log warning statement and the oc get nodepool diagnostic command,
so that the step properly fails when the NodePool does not reach AllNodesHealthy
state within the timeout period.

In
`@ci-operator/step-registry/medik8s/sbr/hypershift/wait-nodes/medik8s-sbr-hypershift-wait-nodes-commands.sh`:
- Around line 14-16: The EXPECTED_NODES variable is assigned from
HYPERSHIFT_NODE_COUNT environment variable with a default fallback of 3, but
this value is never validated to ensure it is a valid integer before being used
in numeric comparisons later in the script. Add validation logic immediately
after declaring EXPECTED_NODES to check if the value is a valid integer and exit
with a meaningful error message if it is not. This ensures that any malformed
HYPERSHIFT_NODE_COUNT value is caught early rather than causing unreliable
behavior during the threshold check.

In
`@ci-operator/step-registry/odf/apply-storage-cluster/odf-apply-storage-cluster-commands.sh`:
- Around line 47-51: The oc wait deploy command with the label selector
app=rook-ceph-osd will succeed as long as any deployments with that label become
Available, but does not enforce that all 3 OSD deployments are present and
ready. Add a check before the wait command to verify that exactly 3 OSD
deployments exist with the app=rook-ceph-osd label in the ODF_INSTALL_NAMESPACE,
ensuring the readiness check only passes when all expected OSD deployments are
deployed and available, not just when a subset happens to be ready.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

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

Review profile: CHILL

Plan: Enterprise

Run ID: c6da7a93-9f1b-4ec6-99fe-201d1365de94

📥 Commits

Reviewing files that changed from the base of the PR and between c75ad6f and f076117.

⛔ Files ignored due to path filters (1)
  • ci-operator/jobs/medik8s/system-tests/medik8s-system-tests-main-presubmits.yaml is excluded by !ci-operator/jobs/**
📒 Files selected for processing (27)
  • ci-operator/config/medik8s/system-tests/medik8s-system-tests-main__4.22-konflux.yaml
  • ci-operator/step-registry/medik8s/catalogsource/medik8s-catalogsource-commands.sh
  • ci-operator/step-registry/medik8s/catalogsource/medik8s-catalogsource-ref.yaml
  • ci-operator/step-registry/medik8s/sbr/OWNERS
  • ci-operator/step-registry/medik8s/sbr/hypershift/OWNERS
  • ci-operator/step-registry/medik8s/sbr/hypershift/apply-image-sources/OWNERS
  • ci-operator/step-registry/medik8s/sbr/hypershift/apply-image-sources/medik8s-sbr-hypershift-apply-image-sources-commands.sh
  • ci-operator/step-registry/medik8s/sbr/hypershift/apply-image-sources/medik8s-sbr-hypershift-apply-image-sources-ref.metadata.json
  • ci-operator/step-registry/medik8s/sbr/hypershift/apply-image-sources/medik8s-sbr-hypershift-apply-image-sources-ref.yaml
  • ci-operator/step-registry/medik8s/sbr/hypershift/medik8s-sbr-hypershift-persistent-workflow.metadata.json
  • ci-operator/step-registry/medik8s/sbr/hypershift/medik8s-sbr-hypershift-persistent-workflow.yaml
  • ci-operator/step-registry/medik8s/sbr/hypershift/medik8s-sbr-hypershift-workflow.metadata.json
  • ci-operator/step-registry/medik8s/sbr/hypershift/medik8s-sbr-hypershift-workflow.yaml
  • ci-operator/step-registry/medik8s/sbr/hypershift/restore-kubeconfig/OWNERS
  • ci-operator/step-registry/medik8s/sbr/hypershift/restore-kubeconfig/medik8s-sbr-hypershift-restore-kubeconfig-commands.sh
  • ci-operator/step-registry/medik8s/sbr/hypershift/restore-kubeconfig/medik8s-sbr-hypershift-restore-kubeconfig-ref.metadata.json
  • ci-operator/step-registry/medik8s/sbr/hypershift/restore-kubeconfig/medik8s-sbr-hypershift-restore-kubeconfig-ref.yaml
  • ci-operator/step-registry/medik8s/sbr/hypershift/switch-kubeconfig/OWNERS
  • ci-operator/step-registry/medik8s/sbr/hypershift/switch-kubeconfig/medik8s-sbr-hypershift-switch-kubeconfig-commands.sh
  • ci-operator/step-registry/medik8s/sbr/hypershift/switch-kubeconfig/medik8s-sbr-hypershift-switch-kubeconfig-ref.metadata.json
  • ci-operator/step-registry/medik8s/sbr/hypershift/switch-kubeconfig/medik8s-sbr-hypershift-switch-kubeconfig-ref.yaml
  • ci-operator/step-registry/medik8s/sbr/hypershift/wait-nodes/OWNERS
  • ci-operator/step-registry/medik8s/sbr/hypershift/wait-nodes/medik8s-sbr-hypershift-wait-nodes-commands.sh
  • ci-operator/step-registry/medik8s/sbr/hypershift/wait-nodes/medik8s-sbr-hypershift-wait-nodes-ref.metadata.json
  • ci-operator/step-registry/medik8s/sbr/hypershift/wait-nodes/medik8s-sbr-hypershift-wait-nodes-ref.yaml
  • ci-operator/step-registry/odf/apply-storage-cluster/odf-apply-storage-cluster-commands.sh
  • ci-operator/step-registry/odf/apply-storage-cluster/odf-apply-storage-cluster-ref.yaml

@maximunited maximunited force-pushed the medik8s-sbr-hypershift-persistent branch from fe68ea2 to aea7b02 Compare June 23, 2026 14:23
@openshift-merge-bot

Copy link
Copy Markdown
Contributor

@maximunited: pj-rehearse could not automatically process this event because the request waited in queue for longer than 5 minutes. Use /pj-rehearse to trigger rehearsals manually.

@maximunited

Copy link
Copy Markdown
Contributor Author

/pj-rehearse pull-ci-medik8s-system-tests-main-4.22-konflux-e2e-sbr-hypershift-persistent-aws-odf

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

@maximunited: 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

@maximunited, pj-rehearse: unable prepare a candidate for rehearsal; rehearsals will not be run. This could be due to a branch that needs to be rebased. ERROR:

couldn't checkout base SHA bb14adbb551827d51546bc5ddf1c39bdb5b6ba98: error checking out "bb14adbb551827d51546bc5ddf1c39bdb5b6ba98": exit status 128 fatal: unable to read tree (bb14adbb551827d51546bc5ddf1c39bdb5b6ba98)

@maximunited maximunited force-pushed the medik8s-sbr-hypershift-persistent branch from aea7b02 to 53a004a Compare June 23, 2026 16:44
@maximunited

Copy link
Copy Markdown
Contributor Author

/pj-rehearse pull-ci-medik8s-system-tests-main-4.22-konflux-e2e-sbr-hypershift-persistent-aws-odf

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

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

…(hypershift-aws)

Adds e2e-sbr-hypershift-persistent-aws-odf — an optional presubmit that runs
the SBR smoke + acceptance suite on a HyperShift hosted cluster backed by ODF
storage, using the shared persistent management cluster (cluster_profile:
hypershift-aws) instead of provisioning a new management cluster per run.

New workflow medik8s-sbr-hypershift-persistent (in
step-registry/medik8s/sbr/hypershift-persistent/):

  pre:
    ipi-install-rbac
    hypershift-setup-root-management-cluster  (~2s vs ~17m for nested)
    hypershift-aws-create
    medik8s-sbr-hypershift-apply-image-sources

  test: (identical to e2e-sbr-hypershift-aws-odf)
    medik8s-sbr-hypershift-switch-kubeconfig
    medik8s-sbr-hypershift-wait-nodes
    medik8s-catalogsource / medik8s-operator-subscribe
    odf-prepare-cluster / operatorhub-subscribe-odf-operator
    odf-apply-storage-cluster
    e2e-test (make run-tests, ECO_TEST_FEATURES=sbr-operator)

  post:
    medik8s-sbr-hypershift-restore-kubeconfig
    hypershift-dump / hypershift-debug / hypershift-k8sgpt
    hypershift-aws-destroy  (no destroy-management-cluster)

Job config: cluster_profile=hypershift-aws, m5.4xlarge x3,
ODF stable-4.21, optional=true, trigger=
/test 4.22-konflux-e2e-sbr-hypershift-persistent-aws-odf.

Expected savings vs nested variant: ~23 min/run (management cluster
create + hypershift-install + management cluster destroy eliminated).

Related: openshift#80372 (nested variant; introduces shared step-registry steps)
@maximunited maximunited force-pushed the medik8s-sbr-hypershift-persistent branch from 53a004a to e33b27a Compare June 23, 2026 19:45
@openshift-merge-bot

Copy link
Copy Markdown
Contributor

[REHEARSALNOTIFIER]
@maximunited: 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-medik8s-system-tests-main-4.22-konflux-e2e-sbr-hypershift-aws-odf medik8s/system-tests presubmit Presubmit changed
pull-ci-medik8s-system-tests-main-4.22-konflux-e2e-sbr-hypershift-persistent-aws-odf medik8s/system-tests presubmit Presubmit changed
pull-ci-medik8s-system-tests-main-4.22-konflux-e2e-far-aws medik8s/system-tests presubmit Ci-operator config changed
pull-ci-medik8s-system-tests-main-4.22-konflux-e2e-mdr-aws medik8s/system-tests presubmit Ci-operator config changed
pull-ci-medik8s-system-tests-main-4.22-konflux-e2e-nhc-aws medik8s/system-tests presubmit Ci-operator config changed
pull-ci-medik8s-system-tests-main-4.22-konflux-e2e-nmo-aws medik8s/system-tests presubmit Ci-operator config changed
pull-ci-medik8s-system-tests-main-4.22-konflux-e2e-sbr-aws-odf medik8s/system-tests presubmit Ci-operator config changed
pull-ci-medik8s-system-tests-main-4.22-konflux-e2e-snr-aws medik8s/system-tests presubmit Ci-operator config changed
periodic-ci-red-hat-storage-ocs-ci-master-odf-ocp4.19-lp-interop-odf-interop-aws-fips N/A periodic Registry content changed
periodic-ci-red-hat-storage-ocs-ci-master-odf-ocp-4.21-lp-interop-cr-odf-interop-aws N/A periodic Registry content changed
periodic-ci-red-hat-storage-ocs-ci-master-ocp-4.22-lpGA-lp-ocp-compat-cr--odf--aws N/A periodic Registry content changed
periodic-ci-red-hat-storage-ocs-ci-master-odf-ocp4.19-lp-interop-odf-interop-aws N/A periodic Registry content changed
periodic-ci-medik8s-system-tests-main-4.22-konflux-e2e-sbr-weekly-aws-odf N/A periodic Ci-operator config changed
periodic-ci-red-hat-storage-ocs-ci-master-odf-ocp4.20-lp-interop-odf-interop-aws N/A periodic Registry content changed
periodic-ci-red-hat-storage-ocs-ci-master-odf-ocp4.21-lp-interop-odf-interop-aws-fips N/A periodic Registry content changed
periodic-ci-medik8s-system-tests-main-4.22-konflux-e2e-far-weekly-aws N/A periodic Ci-operator config changed
periodic-ci-red-hat-storage-ocs-ci-master-odf-ocp4.17-lp-interop-odf-interop-aws-fips N/A periodic Registry content changed
periodic-ci-red-hat-storage-ocs-ci-master-ocp-4.22-lpGA-lp-ocp-compat-aws-fips N/A periodic Registry content changed
periodic-ci-red-hat-storage-ocs-ci-master-odf-ocp4.20-lp-interop-odf-interop-aws-fips N/A periodic Registry content changed
periodic-ci-red-hat-storage-ocs-ci-master-odf-ocp4.16-lp-interop-odf-interop-aws N/A periodic Registry content changed
periodic-ci-medik8s-system-tests-main-4.22-konflux-e2e-snr-weekly-aws N/A periodic Ci-operator config changed
periodic-ci-red-hat-storage-ocs-ci-master-odf-ocp4.16-lp-interop-odf-interop-aws-fips N/A periodic Registry content changed
periodic-ci-red-hat-storage-ocs-ci-master-odf-ocp4.15-lp-interop-odf-interop-aws N/A periodic Registry content changed
periodic-ci-red-hat-storage-ocs-ci-master-odf-ocp4.18-lp-interop-odf-interop-aws N/A periodic Registry content changed
periodic-ci-red-hat-storage-ocs-ci-master-odf-ocp4.18-lp-interop-odf-interop-aws-fips N/A periodic Registry content changed

A total of 26 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.

@maximunited

Copy link
Copy Markdown
Contributor Author

/pj-rehearse pull-ci-medik8s-system-tests-main-4.22-konflux-e2e-sbr-hypershift-persistent-aws-odf

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

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

@maximunited

Copy link
Copy Markdown
Contributor Author

/pj-rehearse pull-ci-medik8s-system-tests-main-4.22-konflux-e2e-sbr-hypershift-persistent-aws-odf

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

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

@maximunited

Copy link
Copy Markdown
Contributor Author

/pj-rehearse pull-ci-medik8s-system-tests-main-4.22-konflux-e2e-sbr-hypershift-persistent-aws-odf

1 similar comment
@maximunited

Copy link
Copy Markdown
Contributor Author

/pj-rehearse pull-ci-medik8s-system-tests-main-4.22-konflux-e2e-sbr-hypershift-persistent-aws-odf

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

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

@openshift-ci

openshift-ci Bot commented Jun 24, 2026

Copy link
Copy Markdown
Contributor

@maximunited: 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/medik8s/system-tests/main/4.22-konflux-e2e-sbr-hypershift-persistent-aws-odf e33b27a link unknown /pj-rehearse pull-ci-medik8s-system-tests-main-4.22-konflux-e2e-sbr-hypershift-persistent-aws-odf

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.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant