Skip to content

CNTRLPLANE-3732: ci(hypershift): add OCP 5.0 MCE periodic integration tests - #81194

Open
mgencur wants to merge 4 commits into
openshift:mainfrom
mgencur:mce_5.0
Open

CNTRLPLANE-3732: ci(hypershift): add OCP 5.0 MCE periodic integration tests#81194
mgencur wants to merge 4 commits into
openshift:mainfrom
mgencur:mce_5.0

Conversation

@mgencur

@mgencur mgencur commented Jun 29, 2026

Copy link
Copy Markdown
Contributor

Fixes https://redhat.atlassian.net/browse/CNTRLPLANE-3732

  • Add periodics-mce variant config for hypershift release-5.0 with 25 MCE integration tests covering AWS, agent, kubevirt, IBM Z, Power, calico, cilium conformance, backup/restore, and critical tests.
  • Reduce frequency of release-4.209 jobs to once-per-month
    Previously:
    - 4.19 -> ~monthly runs
    - 4.20+ run weekly, with 4.20 on Saturdays and 4.21 on Sundays to avoid conflicts
    
    Now:
    - 4.19 -> ~monthly runs
    - 4.20 -> ~monthly runs  <---- this changed
    - 4.21+ run weekly, with 4.21 on Sundays
    

Version updates from 4.22:

  • MCE_VERSION: 2.17 -> 5.0
  • CLUSTER_VERSION: 4.22 -> 5.0
  • LVM_OPERATOR_SUB_CHANNEL: stable-4.22 -> stable-5.0
  • ODF_OPERATOR_SUB_CHANNEL: stable-4.21 -> stable-4.22 (n-1) (stable-4.22 not available yet for ODF but will be available soon: https://productpages.redhat.com/odf-4.22/overview/)
  • ODF_OPERATOR_SUB_SOURCE: redhat-operators-v4-21 -> redhat-operators-v4-22
  • ODF_OPERATOR_CHANNEL: stable-4.20 -> stable-4.22 (n-1) (stable-4.22 not available yet for ODF but will be available soon: soon: https://productpages.redhat.com/odf-4.22/overview/)
  • MIRROR_OLM_REMOTE_INDEX: v4.21 -> v4.22
  • CCS_OPERATOR_CHANNELS: stable-4.21/4.20 -> stable-4.22/4.21
  • Konflux FBC tags: ocp__4.22__ -> ocp__5.0__
  • base_images/releases: 4.22 -> 5.0
  • assisted-service-scripts: ocm-2.17 (unchanged, no ocm-2.18 yet)

Summary by CodeRabbit

  • Adds the Hypershift release-5.0 periodics-mce CI configuration with 25 MCE integration test jobs across AWS, agent, KubeVirt, IBM Z, Power, networking, backup/restore, and critical workflows.
  • Updates MCE, OCP, LVM, ODF, catalog, channel, FBC, and base-image references to 5.0 while retaining assisted-service scripts on ocm-2.17.
  • Adjusts release-4.20 periodic schedules and reduces older release-4.209 job frequency to approximately monthly.
  • Makes HyperShift CLI downloads more reliable by retrying and validating the downloaded archive before extraction.

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

openshift-ci-robot commented Jun 29, 2026

Copy link
Copy Markdown
Contributor

@mgencur: This pull request references CNTRLPLANE-3732 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "5.0.0" version, but no target version was set.

Details

In response to this:

Fixes https://redhat.atlassian.net/browse/CNTRLPLANE-3732

Add periodics-mce variant config for hypershift release-5.0 with 25 MCE integration tests covering AWS, agent, kubevirt, IBM Z, Power, calico, cilium conformance, backup/restore, and critical tests.

Version updates from 4.22:

  • MCE_VERSION: 2.17 -> 5.0
  • CLUSTER_VERSION: 4.22 -> 5.0
  • LVM_OPERATOR_SUB_CHANNEL: stable-4.22 -> stable-5.0
  • ODF_OPERATOR_SUB_CHANNEL: stable-4.21 -> stable-4.22 (n-1)
  • ODF_OPERATOR_SUB_SOURCE: redhat-operators-v4-21 -> redhat-operators-v4-22
  • ODF_OPERATOR_CHANNEL: stable-4.20 -> stable-4.21 (n-2)
  • MIRROR_OLM_REMOTE_INDEX: v4.21 -> v4.22
  • CCS_OPERATOR_CHANNELS: stable-4.21/4.20 -> stable-4.22/4.21
  • Konflux FBC tags: ocp__4.22__ -> ocp__5.0__
  • base_images/releases: 4.22 -> 5.0
  • assisted-service-scripts: ocm-2.17 (unchanged, no ocm-2.18 yet)

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.

@mgencur

mgencur commented Jun 29, 2026

Copy link
Copy Markdown
Contributor Author

/hold
Need to reconsider frequence of runs for older versions.

@openshift-ci openshift-ci Bot added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Jun 29, 2026
@openshift-ci
openshift-ci Bot requested review from Nirshal and enxebre June 29, 2026 09:34
@coderabbitai

coderabbitai Bot commented Jun 29, 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 Hypershift MCE periodics for release 5.0, reschedules release 4.20 jobs, and makes HCP CLI downloads retryable with archive validation.

Changes

Hypershift MCE CI

Layer / File(s) Summary
Release 5.0 periodic configuration
ci-operator/config/openshift/hypershift/openshift-hypershift-release-5.0__periodics-mce.yaml
Adds release variants, default resources, scheduled conformance and backup/restore jobs, environment configuration, and generated metadata for release 5.0.
Release 4.20 periodic schedules
ci-operator/config/openshift/hypershift/openshift-hypershift-release-4.20__periodics-mce.yaml
Replaces existing periodic cadences with updated cron schedules across AWS, Azure, KubeVirt, IBMZ, power, metal, and critical e2e jobs.
HCP CLI download validation
ci-operator/step-registry/hypershift/mce/install/hypershift-mce-install-commands.sh
Retries downloads resolved from ConsoleCLIDownload, validates the tarball, and reports failure content before exiting non-zero.

Estimated code review effort: 4 (Complex) | ~45 minutes

Possibly related PRs

Suggested labels: lgtm, approved

Suggested reviewers: enxebre, nirshal


Important

Pre-merge checks failed

Please resolve all errors before merging. Addressing warnings is optional.

❌ Failed checks (1 error)

Check name Status Explanation Resolution
No-Weak-Crypto ❌ Error PR diff uses sha1sum in acm-interop-p2p-cluster-install-commands.sh:60, which matches the weak-crypto ban. Replace sha1sum with a non-weak alternative (e.g. sha256sum or a non-crypto identifier) and re-run checks.
✅ Passed checks (14 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly matches the main change: adding OCP 5.0 MCE periodic integration tests for Hypershift.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
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 Touched files are CI config and an installer script; no Ginkgo It/Describe/Context titles or dynamic test names were added, and job names are static.
Test Structure And Quality ✅ Passed The PR only changes a ci-operator shell step; no Ginkgo test files or test code were modified, so this check is not applicable.
Microshift Test Compatibility ✅ Passed PASS: The PR changes only an MCE install shell script; no new Ginkgo tests were added, so MicroShift test-compatibility checks are not applicable.
Single Node Openshift (Sno) Test Compatibility ✅ Passed PR only updates ci-operator YAML and a shell script; no new Go/Ginkgo e2e test code was added, so SNO compatibility is not applicable.
Topology-Aware Scheduling Compatibility ✅ Passed Only a shell install script changed; no deployment manifests, operators, or controllers were modified, and the patch adds only CLI download retries.
Ote Binary Stdout Contract ✅ Passed No OTE binary/suite entrypoint changed; only YAML and a step shell script, so there’s no process-level stdout violation to flag.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed No Ginkgo test code was added; only ci-operator YAML and an install script changed. Added jobs already separate IPv4, dualstack, and disconnected/IPv6 variants.
Container-Privileges ✅ Passed No privileged:true, hostPID/hostNetwork/hostIPC, SYS_ADMIN, allowPrivilegeEscalation, or root-run settings appear in the changed files.
No-Sensitive-Data-In-Logs ✅ Passed No added logs print secrets; new output is retry/status text and a failed download body, while YAML only references secret file paths.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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

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

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

Inline comments:
In
`@ci-operator/config/openshift/hypershift/openshift-hypershift-release-5.0__periodics-mce.yaml`:
- Around line 241-328: The remaining periodic job definitions are still pinned
to 4.21/4.22 operator streams instead of the 5.0 release under test. Update the
kubevirt job entries in the periodic config so the relevant symbols like
ODF_OPERATOR_SUB_CHANNEL, ODF_OPERATOR_SUB_SOURCE, REDHAT_OPERATORS_INDEX_TAG,
MIRROR_OLM_REMOTE_INDEX, and CCS_OPERATOR_CHANNELS point to the 5.0 equivalents,
keeping the job names and workflows unchanged.
🪄 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: bb21a935-18d3-409b-bbfa-098518f37c2f

📥 Commits

Reviewing files that changed from the base of the PR and between 6727463 and 48e17c3.

⛔ Files ignored due to path filters (1)
  • ci-operator/jobs/openshift/hypershift/openshift-hypershift-release-5.0-periodics.yaml is excluded by !ci-operator/jobs/**
📒 Files selected for processing (1)
  • ci-operator/config/openshift/hypershift/openshift-hypershift-release-5.0__periodics-mce.yaml

@mgencur

mgencur commented Jun 29, 2026

Copy link
Copy Markdown
Contributor Author

/pj-rehearsee periodic-ci-openshift-hypershift-release-5.0-periodics-mce-e2e-agent-connected-ovn-ipv4-metal-conformance periodic-ci-openshift-hypershift-release-5.0-periodics-mce-e2e-kubevirt-metal-ovn-backuprestore

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

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

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

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
ci-operator/config/openshift/hypershift/openshift-hypershift-release-4.20__periodics-mce.yaml (1)

61-194: 🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

These cron expressions still don’t limit the jobs to the second weekend. They run on every day 8-14 of the month, and cron ORs day-of-month with day-of-week here, so they also fire on every Saturday/Sunday. Use a schedule that matches the intended monthly window, or add an explicit weekday/date gate in the job.

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

In
`@ci-operator/config/openshift/hypershift/openshift-hypershift-release-4.20__periodics-mce.yaml`
around lines 61 - 194, The periodic schedules for the e2e jobs are still too
broad because the cron in this config combines day-of-month and day-of-week, so
the jobs can trigger beyond the intended second weekend. Update the schedules
for the affected entries (for example the e2e-agent-connected-ovn-* and
e2e-agent-disconnected-ovn-* periodic jobs) so they only run in the intended
monthly window, or add an explicit date/weekday guard in the job definition
rather than relying on the current cron expression alone.
🤖 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.

Outside diff comments:
In
`@ci-operator/config/openshift/hypershift/openshift-hypershift-release-4.20__periodics-mce.yaml`:
- Around line 61-194: The periodic schedules for the e2e jobs are still too
broad because the cron in this config combines day-of-month and day-of-week, so
the jobs can trigger beyond the intended second weekend. Update the schedules
for the affected entries (for example the e2e-agent-connected-ovn-* and
e2e-agent-disconnected-ovn-* periodic jobs) so they only run in the intended
monthly window, or add an explicit date/weekday guard in the job definition
rather than relying on the current cron expression alone.

ℹ️ Review info
⚙️ Run configuration

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

Review profile: CHILL

Plan: Enterprise

Run ID: 1d6070f7-a59a-4c95-89a5-eeeb1cc972f9

📥 Commits

Reviewing files that changed from the base of the PR and between 48e17c3 and 7819b1f.

⛔ Files ignored due to path filters (1)
  • ci-operator/jobs/openshift/hypershift/openshift-hypershift-release-4.20-periodics.yaml is excluded by !ci-operator/jobs/**
📒 Files selected for processing (1)
  • ci-operator/config/openshift/hypershift/openshift-hypershift-release-4.20__periodics-mce.yaml

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

@mgencur: job(s): /pj-rehearsee either don't exist or were not found to be affected, and cannot be rehearsed

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

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

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

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.

@mgencur

mgencur commented Jun 30, 2026

Copy link
Copy Markdown
Contributor Author

/pj-rehearse periodic-ci-openshift-hypershift-release-5.0-periodics-mce-e2e-aws-ovn-conformance

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

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

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

🤖 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/hypershift/mce/aws/conformance/hypershift-mce-aws-conformance-workflow.yaml`:
- Line 12: The workflow is still invoking the generic wait ref, which brings in
the default 3-hour timeout and delays post-job cleanup. Update the
hypershift-mce-aws-conformance-workflow step to avoid using the default wait
behavior, either by removing the wait ref or overriding its timeout explicitly
in the workflow so the post section proceeds immediately to dump/destroy. Use
the step entry in the workflow and the wait ref behavior from wait-ref.yaml to
confirm the correct override.

In `@ci-operator/step-registry/mce/must-gather/mce-must-gather-commands.sh`:
- Line 8: The must-gather version mapping is pointing LATEST_ACM_VERSION at an
unmapped 5.0 value, which will not resolve for the RHACM must-gather image.
Update the version constant in mce-must-gather-commands.sh so the MCE
must-gather path uses the latest published 2.x ACM tag instead, and make sure
any references tied to LATEST_ACM_VERSION resolve to a real
registry.redhat.io/rhacm2/acm-must-gather-rhel9 tag.
🪄 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: cb80c464-b00c-476f-96db-490b5eb98b81

📥 Commits

Reviewing files that changed from the base of the PR and between 7819b1f and 3898df4.

📒 Files selected for processing (2)
  • ci-operator/step-registry/hypershift/mce/aws/conformance/hypershift-mce-aws-conformance-workflow.yaml
  • ci-operator/step-registry/mce/must-gather/mce-must-gather-commands.sh

Comment thread ci-operator/step-registry/mce/must-gather/mce-must-gather-commands.sh Outdated
@mgencur

mgencur commented Jun 30, 2026

Copy link
Copy Markdown
Contributor Author

/pj-rehearse periodic-ci-openshift-hypershift-release-5.0-periodics-mce-e2e-agent-connected-ovn-ipv4-metal-conformance

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

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

@mgencur

mgencur commented Jun 30, 2026

Copy link
Copy Markdown
Contributor Author

/pj-rehearse periodic-ci-openshift-hypershift-release-5.0-periodics-mce-e2e-kubevirt-metal-ovn-backuprestore periodic-ci-openshift-hypershift-release-5.0-periodics-mce-e2e-aws-ovn-conformance

@mgencur

mgencur commented Jun 30, 2026

Copy link
Copy Markdown
Contributor Author

/unhold

@openshift-ci openshift-ci Bot removed the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Jun 30, 2026
@openshift-merge-bot

Copy link
Copy Markdown
Contributor

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

@mgencur

mgencur commented Jul 1, 2026

Copy link
Copy Markdown
Contributor Author

/pj-rehearse periodic-ci-openshift-hypershift-release-5.0-periodics-mce-e2e-kubevirt-metal-ovn-backuprestore periodic-ci-openshift-hypershift-release-5.0-periodics-mce-e2e-aws-ovn-conformance

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

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

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

🤖 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/hypershift/mce/install/hypershift-mce-install-commands.sh`:
- Around line 331-346: The HCP CLI download in the
`hypershift-mce-install-commands.sh` flow is using insecure TLS bypass via `curl
-k`. Update the download logic in the `downURL`/`_hcp_downloaded` retry loop to
verify the server certificate instead of disabling it, preferably by wiring in
the cluster CA and using `curl` with explicit CA trust. Keep the existing
retry/archive validation behavior intact, but remove the insecure verification
bypass from the CLI fetch path.

In
`@ci-operator/step-registry/operatorhub/subscribe/odf-operator/operatorhub-subscribe-odf-operator-commands.sh`:
- Around line 13-19: The ODF operator subscription step is still using the
default ODF_OPERATOR_SUB_CHANNEL value instead of deriving or overriding it
explicitly for callers that only set ODF_OPERATOR_SUB_SOURCE. Update
operatorhub-subscribe-odf-operator-commands.sh so the channel derivation in the
ODF_OPERATOR_SUB_CHANNEL empty-check is actually reached, and remove the stale
default from operatorhub-subscribe-odf-operator-ref.yaml or set the intended
channel in each caller such as the hypershift baremetalds workflows. Use the
ODF_OPERATOR_SUB_CHANNEL and CUSTOM_CATALOG_SOURCE handling in this script as
the main place to verify the fix.
🪄 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: 3b679307-f2a5-4c97-b8a1-ca59cefbfcc8

📥 Commits

Reviewing files that changed from the base of the PR and between 3898df4 and 79a4562.

⛔ Files ignored due to path filters (2)
  • ci-operator/jobs/openshift/hypershift/openshift-hypershift-release-4.20-periodics.yaml is excluded by !ci-operator/jobs/**
  • ci-operator/jobs/openshift/hypershift/openshift-hypershift-release-5.0-periodics.yaml is excluded by !ci-operator/jobs/**
📒 Files selected for processing (5)
  • ci-operator/config/openshift/hypershift/openshift-hypershift-release-4.20__periodics-mce.yaml
  • ci-operator/config/openshift/hypershift/openshift-hypershift-release-5.0__periodics-mce.yaml
  • ci-operator/step-registry/hypershift/mce/install/hypershift-mce-install-commands.sh
  • ci-operator/step-registry/mce/must-gather/mce-must-gather-commands.sh
  • ci-operator/step-registry/operatorhub/subscribe/odf-operator/operatorhub-subscribe-odf-operator-commands.sh
🚧 Files skipped from review as they are similar to previous changes (3)
  • ci-operator/config/openshift/hypershift/openshift-hypershift-release-5.0__periodics-mce.yaml
  • ci-operator/step-registry/mce/must-gather/mce-must-gather-commands.sh
  • ci-operator/config/openshift/hypershift/openshift-hypershift-release-4.20__periodics-mce.yaml

mgencur and others added 2 commits July 1, 2026 12:01
Add periodics-mce variant config for hypershift release-5.0 with 25 MCE
integration tests covering AWS, agent, kubevirt, IBM Z, Power, calico,
cilium conformance, backup/restore, and critical tests.

Version updates from 4.22:
- MCE_VERSION: 2.17 -> 5.0
- CLUSTER_VERSION: 4.22 -> 5.0
- LVM_OPERATOR_SUB_CHANNEL: stable-4.22 -> stable-5.0
- ODF_OPERATOR_SUB_CHANNEL: stable-4.21 -> stable-4.21 (n-2)
- ODF_OPERATOR_SUB_SOURCE: redhat-operators-v4-21 ->
redhat-operators-v4-22
- ODF_OPERATOR_CHANNEL: stable-4.20 -> stable-4.21 (n-2)
- MIRROR_OLM_REMOTE_INDEX: v4.21 -> v4.22
- CCS_OPERATOR_CHANNELS: stable-4.21/4.20 -> stable-4.22/4.21
- Konflux FBC tags: ocp__4.22__ -> ocp__5.0__
- base_images/releases: 4.22 -> 5.0
- assisted-service-scripts: ocm-2.17 (unchanged, no ocm-2.18 yet)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Change all 4.20 periodics-mce jobs to run monthly on the 2nd week
(days 8-14) instead of weekly. Jobs are spread across Saturday and
Sunday with staggered hours to avoid resource contention.

Converted minimum_interval jobs (72h, 168h, 336h) and the daily
IBM Z s390x job to the same monthly cron pattern. The Feb 29
e2e-aws-critical job is unchanged (effectively disabled).

Scheduled on the 2nd week to avoid overlap with:
- 4.19 periodics-mce (last week, days 22-28)
- 4.17 periodics-mce (scattered specific dates)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@openshift-ci

openshift-ci Bot commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

@mgencur: 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/rehearse/periodic-ci-openshift-hypershift-release-5.0-periodics-mce-e2e-aws-ovn-conformance 79a4562 link unknown /pj-rehearse periodic-ci-openshift-hypershift-release-5.0-periodics-mce-e2e-aws-ovn-conformance
ci/rehearse/periodic-ci-openshift-hypershift-release-5.0-periodics-mce-e2e-kubevirt-metal-ovn-backuprestore 79a4562 link unknown /pj-rehearse periodic-ci-openshift-hypershift-release-5.0-periodics-mce-e2e-kubevirt-metal-ovn-backuprestore

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.

@mgencur

mgencur commented Jul 1, 2026

Copy link
Copy Markdown
Contributor Author

The Full PR test history shows the following tests:

  • e2e-agent-connected-ovn-ipv4-metal-conformance - PASSED
  • e2e-aws-ovn-conformance - 1 test failure [Monitor:legacy-test-framework-invariants-pathological][sig-arch] events should not repeat pathologically. The events were there for some time but they stopped. For the purpose of this PR it is sufficient - the insfrastructure setup was successful and tests ran.
  • e2e-kubevirt-metal-ovn-backuprestore - this is failing now as ODF stable-4.22 release is not available yet (but will be available soon, see schedule). And stable-4.21 is not compatible with OCP 5.0 - (The rook-ceph-detect-version Job has an empty topologySpreadConstraints[0].topologyKey, which k8s v1.35 now rejects as invalid)

@mgencur

mgencur commented Jul 1, 2026

Copy link
Copy Markdown
Contributor Author

/pj-rehearse ack

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

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

@openshift-merge-bot openshift-merge-bot Bot added the rehearsals-ack Signifies that rehearsal jobs have been acknowledged label Jul 1, 2026
@celebdor

celebdor commented Jul 2, 2026

Copy link
Copy Markdown
Contributor

/lgtm

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

Copy link
Copy Markdown
Contributor

/approve

@mgencur

mgencur commented Jul 13, 2026

Copy link
Copy Markdown
Contributor Author

@aleskandro @gparvin Could you please review the changes under ci-operator/step-registry/mce/must-gather
and ci-operator/step-registry/operatorhub/subscribe/odf-operator ? It needs your approval. Thanks

@mgencur

mgencur commented Jul 13, 2026

Copy link
Copy Markdown
Contributor Author

@dfrazzette maybe you could review as well, please? see my previous message. Thanks

@aleskandro

Copy link
Copy Markdown
Member

/approve

The owners list should be updated with people in the relevant team as both me and Liangquan are not there anymore.

mgencur and others added 2 commits July 30, 2026 13:39
Fix OCP_VERSION_FOR_ACM typo causing unbound variable error and add
missing OCP 5.0 → ACM 5.0 mapping with a fallback for unknown versions.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add retry loop with 30s interval and 5min timeout for HCP CLI download.
Validates gzip format on each attempt and prints response on failure.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@openshift-ci openshift-ci Bot removed the lgtm Indicates that a PR is ready to be merged. label Jul 30, 2026
@openshift-ci

openshift-ci Bot commented Jul 30, 2026

Copy link
Copy Markdown
Contributor

New changes are detected. LGTM label has been removed.

@openshift-ci

openshift-ci Bot commented Jul 30, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: aleskandro, celebdor, jparrill, mgencur

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-ci openshift-ci Bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Jul 30, 2026
@openshift-merge-bot openshift-merge-bot Bot removed the rehearsals-ack Signifies that rehearsal jobs have been acknowledged label Jul 30, 2026
@openshift-merge-bot

Copy link
Copy Markdown
Contributor

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

Test name Repo Type Reason
pull-ci-openshift-hypershift-main-e2e-agent-connected-ovn-ipv4-metal-backuprestore openshift/hypershift presubmit Registry content changed
pull-ci-openshift-hypershift-release-5.1-e2e-agent-connected-ovn-ipv4-metal-backuprestore openshift/hypershift presubmit Registry content changed
pull-ci-openshift-hypershift-release-5.0-e2e-agent-connected-ovn-ipv4-metal-backuprestore openshift/hypershift presubmit Registry content changed
pull-ci-openshift-hypershift-release-4.23-e2e-agent-connected-ovn-ipv4-metal-backuprestore openshift/hypershift presubmit Registry content changed
pull-ci-openshift-hypershift-release-4.22-e2e-agent-connected-ovn-ipv4-metal-backuprestore openshift/hypershift presubmit Registry content changed
pull-ci-openshift-hypershift-release-4.21-e2e-agent-connected-ovn-ipv4-metal-backuprestore openshift/hypershift presubmit Registry content changed
pull-ci-openshift-hypershift-main-e2e-kubevirt-metal-ovn-backuprestore openshift/hypershift presubmit Registry content changed
pull-ci-openshift-hypershift-release-5.1-e2e-kubevirt-metal-ovn-backuprestore openshift/hypershift presubmit Registry content changed
pull-ci-openshift-hypershift-release-5.0-e2e-kubevirt-metal-ovn-backuprestore openshift/hypershift presubmit Registry content changed
pull-ci-openshift-hypershift-release-4.23-e2e-kubevirt-metal-ovn-backuprestore openshift/hypershift presubmit Registry content changed
pull-ci-openshift-hypershift-release-4.22-e2e-kubevirt-metal-ovn-backuprestore openshift/hypershift presubmit Registry content changed
pull-ci-openshift-hypershift-release-4.21-e2e-kubevirt-metal-ovn-backuprestore openshift/hypershift presubmit Registry content changed
pull-ci-openshift-origin-release-4.16-e2e-agent-disconnected-ovn-dualstack-metal3 openshift/origin presubmit Registry content changed
pull-ci-openshift-origin-release-4.16-e2e-agent-connected-ovn-ipv4-metal3 openshift/origin presubmit Registry content changed
pull-ci-openshift-origin-release-4.16-e2e-agent-connected-ovn-dualstack-metal3 openshift/origin presubmit Registry content changed
pull-ci-openshift-origin-release-4.14-e2e-baremetalds-kubevirt openshift/origin presubmit Registry content changed
periodic-ci-openshift-hypershift-release-4.16-periodics-mce-e2e-agent-disconnected-ovn-ipv6-metal-conformance N/A periodic Registry content changed
periodic-ci-openshift-hypershift-release-4.21-periodics-mce-e2e-agent-connected-ovn-ipv4-metal-compact-conformance N/A periodic Registry content changed
periodic-ci-openshift-hypershift-release-4.19-periodics-mce-e2e-agent-critical N/A periodic Registry content changed
periodic-ci-openshift-openshift-tests-private-release-4.19-amd64-nightly-aws-ipi-ovn-hypershift-mce-mgmt-f14 N/A periodic Registry content changed
periodic-ci-openshift-hypershift-release-4.17-periodics-mce-e2e-agent-connected-ovn-ipv4-manual-conformance N/A periodic Registry content changed
periodic-ci-openshift-hypershift-release-4.16-periodics-mce-e2e-agent-connected-ovn-ipv4-metal-compact-conformance N/A periodic Registry content changed
periodic-ci-openshift-openshift-tests-private-release-4.21-amd64-nightly-metal-ds-hypershift-agent-mce-dualstack-guest-f14-des N/A periodic Registry content changed
periodic-ci-openshift-hypershift-release-4.20-periodics-mce-e2e-agent-disconnected-ovn-ipv6-metal-conformance N/A periodic Ci-operator config changed
periodic-ci-openshift-openshift-tests-private-release-4.19-amd64-nightly-metal-ds-hypershift-agent-mce-dualstack-mgmt-f14 N/A periodic Registry content changed

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

@mgencur

mgencur commented Jul 30, 2026

Copy link
Copy Markdown
Contributor Author

/pj-rehearse ack

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

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

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

🤖 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/hypershift/mce/install/hypershift-mce-install-commands.sh`:
- Around line 342-344: Update the _hcp_downloaded failure branch to remove the
unbounded cat of /tmp/${HYPERSHIFT_NAME}.tar.gz. Log only bounded, non-sensitive
metadata such as the file size, and if an excerpt is retained, sanitize it and
strictly limit its length to prevent control characters, secret leakage, or CI
log flooding.
- Around line 334-341: Update the HCP CLI download loop around the curl and tar
validation so curl runs within the retry condition, allowing transient DNS,
connection, or transfer failures to continue retrying instead of terminating
under set -e. Preserve the archive validation and retry behavior, and replace
the final full-response cat with a concise error summary.
🪄 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: 1e3ebd26-6db0-4e94-8c25-1ef11df9019a

📥 Commits

Reviewing files that changed from the base of the PR and between 79a4562 and 746153e.

⛔ Files ignored due to path filters (2)
  • ci-operator/jobs/openshift/hypershift/openshift-hypershift-release-4.20-periodics.yaml is excluded by !ci-operator/jobs/**
  • ci-operator/jobs/openshift/hypershift/openshift-hypershift-release-5.0-periodics.yaml is excluded by !ci-operator/jobs/**
📒 Files selected for processing (3)
  • ci-operator/config/openshift/hypershift/openshift-hypershift-release-4.20__periodics-mce.yaml
  • ci-operator/config/openshift/hypershift/openshift-hypershift-release-5.0__periodics-mce.yaml
  • ci-operator/step-registry/hypershift/mce/install/hypershift-mce-install-commands.sh

Comment on lines +334 to +341
curl -k --output /tmp/${HYPERSHIFT_NAME}.tar.gz "${downURL}"
if tar -tzf /tmp/${HYPERSHIFT_NAME}.tar.gz &>/dev/null; then
_hcp_downloaded=true
break
fi
echo "HCP CLI download is not a valid gzip archive, retrying in 30s... ($i/10)"
sleep 30
done

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.

🩺 Stability & Availability | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

set -euo pipefail
file='ci-operator/step-registry/hypershift/mce/install/hypershift-mce-install-commands.sh'
nl -ba "$file" | sed -n '300,360p'
printf '\n--- top ---\n'
nl -ba "$file" | sed -n '1,80p'

Repository: openshift/release

Length of output: 195


🏁 Script executed:

set -euo pipefail
file='ci-operator/step-registry/hypershift/mce/install/hypershift-mce-install-commands.sh'
sed -n '1,50p' "$file" | cat -n
printf '\n--- loop ---\n'
sed -n '325,346p' "$file" | cat -n

Repository: openshift/release

Length of output: 3169


Keep the download inside the retry check. A standalone curl will exit on transient DNS/connection/transfer failures under set -e, so the loop never reaches the retry path. Wrap it in the if condition, and replace the final cat with a short error summary instead of dumping the whole downloaded response.

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

In
`@ci-operator/step-registry/hypershift/mce/install/hypershift-mce-install-commands.sh`
around lines 334 - 341, Update the HCP CLI download loop around the curl and tar
validation so curl runs within the retry condition, allowing transient DNS,
connection, or transfer failures to continue retrying instead of terminating
under set -e. Preserve the archive validation and retry behavior, and replace
the final full-response cat with a concise error summary.

Source: Coding guidelines

Comment on lines +342 to +344
if [ "$_hcp_downloaded" = false ]; then
echo "ERROR: Failed to download HCP CLI after 5 minutes. Response content:"
cat /tmp/${HYPERSHIFT_NAME}.tar.gz

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.

🔒 Security & Privacy | 🟡 Minor | ⚡ Quick win

Do not dump the entire failed response into CI logs.

The response may be arbitrary HTML/binary data or an unbounded body. cat can flood logs, emit control characters, or expose response contents. Log bounded metadata such as the file size, and only a small sanitized excerpt if necessary.

As per coding guidelines, step-registry scripts must avoid leaking sensitive information into CI logs.

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

In
`@ci-operator/step-registry/hypershift/mce/install/hypershift-mce-install-commands.sh`
around lines 342 - 344, Update the _hcp_downloaded failure branch to remove the
unbounded cat of /tmp/${HYPERSHIFT_NAME}.tar.gz. Log only bounded, non-sensitive
metadata such as the file size, and if an excerpt is retained, sanitize it and
strictly limit its length to prevent control characters, secret leakage, or CI
log flooding.

Source: Coding guidelines

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

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. rehearsals-ack Signifies that rehearsal jobs have been acknowledged

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants