Skip to content

[oadp-1.6] [OADP-8716] Pin MCE to stable-2.8 only below OCP 4.19, matching HCP target env - #2412

Merged
openshift-merge-bot[bot] merged 3 commits into
openshift:oadp-1.6from
openshift-cherrypick-robot:cherry-pick-2406-to-oadp-1.6
Aug 26, 2026
Merged

[oadp-1.6] [OADP-8716] Pin MCE to stable-2.8 only below OCP 4.19, matching HCP target env#2412
openshift-merge-bot[bot] merged 3 commits into
openshift:oadp-1.6from
openshift-cherrypick-robot:cherry-pick-2406-to-oadp-1.6

Conversation

@openshift-cherrypick-robot

Copy link
Copy Markdown
Contributor

This is an automated cherry-pick of #2406

/assign kaovilai

@coderabbitai

coderabbitai Bot commented Aug 25, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository: openshift/coderabbit/.coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: d801fe39-43eb-4dd7-bc6a-ebe2e5218832

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

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

@shubham-pampattiwar shubham-pampattiwar left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

/lgtm

periodic-ci-openshift-oadp-operator-oadp-1.6-4.18-e2e-test-hcp-aws-periodic
was failing in the HCP suite's BeforeAll ("deployments.apps \"operator\"
not found" after a 600s timeout): MCE v2.11.5's backplane-operator
reconciler hard-rejects the MultiClusterEngine CR with a hardcoded
minimum-OpenShift-version check ("OCP version ... did not meet minimum
version requirement of 4.19.0"), confirmed via must-gather from a
failed run. This fires before any managed component -- including the
HyperShift operator Deployment -- is created, while MCE's own operator
Deployment/CSV report Ready/Succeeded normally. Traced to
stolostron/backplane-operator#3784.

Confirmed with the MCE team this is intentional, not a bug: MCE 2.11
(ACM 2.16) doesn't officially support OCP 4.18, only via an unsupported
support-exception path. More importantly, our actual GovCloud HCP
target environment doesn't run MCE 2.11 at all -- it's currently
ACM 2.13 / MCE 2.8, moving to ACM ~2.15 later (ROSAENG-58373). The MCE
Subscription had no Channel set, so it floated onto whatever the 4.18
catalog's default channel resolved to, rather than the version we
actually need to validate against.

Pin the MCE Subscription to Channel: "stable-2.8" explicitly, matching
the real target. Also extend DumpHypershiftDiagnostics to capture MCE
operator pod logs (filtered to a small keyword allowlist) plus
MultiClusterEngine CR conditions/components and namespace pod/event
listings -- none of this was previously captured by CI artifacts, and
would have made this much faster to diagnose.

Fixes: OADP-8716
See also: OADP-7564, ROSAENG-58373

Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>
HCP e2e tests don't only run on OCP 4.18 -- ci-operator/config in
openshift/release has TEST_HCP set for oadp-1.6 on 4.18, 4.22, 4.23,
and 5.0 as well, all running the same test binary. A hardcoded
Channel: "stable-2.8" pin would have fixed 4.18 while breaking the
others: stable-2.8's head bundle declares olm.maxOpenShiftVersion:
4.19, an OLM-enforced cap (unlike the min-version issue this PR is
about, which is invisible to OLM) that would make the Subscription
fail outright on 4.20+.

Add SelectMCEChannel (tests/e2e/lib/hcp/mce.go), which reads the
cluster's ClusterVersion and only pins to stable-2.8 below OCP 4.19 --
matching the real ACM 2.13/MCE 2.8 GovCloud HCP target on 4.18 -- while
leaving the channel unset (floating on MCE's default) at 4.19 and
above, where MCE 2.11 installs fine and the other HCP periodics
already run.

Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>
Addresses CodeRabbit findings on the diagnostics helper:

- DumpHypershiftDiagnostics now derives a 30s-bounded context instead of
  using the caller's unbounded context.Background() directly. It's
  called from a Ginkgo failure-message callback, which must return
  promptly -- an unbounded Get/List or pod-log-stream call here could
  otherwise hang that callback (and the whole suite) past any outer CI
  timeout.
- lib.GetPodContainerLogs ignores any context and streams via its own
  internal context.Background(), so it can't be bounded by passing a
  context through. getPodLogsWithTimeout wraps that call in a goroutine
  raced against the derived context's deadline instead, scoped to this
  one call site rather than changing the shared helper's signature
  (used unchanged by three other, unrelated call sites).
- unstructured.NestedSlice's conversion error (when status.conditions
  or status.components isn't a []interface{}) was previously discarded;
  now logged.
- Raw Kubernetes errors logged via %v are replaced with
  sanitizeErrorForLog, which reduces an error to its structured status
  reason (e.g. "NotFound") rather than the full error text, which for a
  transport-level error can embed the API server's URL.
- Pod log lines (already keyword-filtered by filterLogLines) are now
  additionally passed through redactDiagnosticLine, which strips
  embedded URLs and bounds line length.

Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>
@openshift-ci openshift-ci Bot added approved Indicates a PR has been approved by an approver from all required OWNERS files. lgtm Indicates that a PR is ready to be merged. labels Aug 25, 2026
@openshift-merge-bot

Copy link
Copy Markdown
Contributor

/retest-required

Remaining retests: 0 against base HEAD 6322b05 and 2 for PR HEAD 7f38a33 in total

@openshift-ci

openshift-ci Bot commented Aug 26, 2026

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: kaovilai, openshift-cherrypick-robot, shubham-pampattiwar, sseago

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

@kaovilai

Copy link
Copy Markdown
Member

/retest

Note

Responses generated with Claude

@openshift-ci

openshift-ci Bot commented Aug 26, 2026

Copy link
Copy Markdown

@openshift-cherrypick-robot: 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 542412f into openshift:oadp-1.6 Aug 26, 2026
25 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. lgtm Indicates that a PR is ready to be merged.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants