Skip to content

OU-1107 OU-1108: ACM alerting UI with alerts and perses - #1105

Merged
openshift-merge-bot[bot] merged 1 commit into
openshift:mainfrom
etmurasaki:etmura-ou1107
Aug 14, 2026
Merged

OU-1107 OU-1108: ACM alerting UI with alerts and perses#1105
openshift-merge-bot[bot] merged 1 commit into
openshift:mainfrom
etmurasaki:etmura-ou1107

Conversation

@etmurasaki

@etmurasaki etmurasaki commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

Summary by CodeRabbit

  • Bug Fixes

    • Improved Alerting behavior across Core platform and Fleet Management perspectives, including filtering, silencing, expiration, and alert details.
    • Improved empty states, filter interactions, dashboard navigation, and loading reliability.
    • Fleet Management now hides unsupported Incidents and Signal correlation options.
  • Enhancements

    • Enabled supported Incidents and Perses monitoring components.
    • Added ACM Perses dashboard integration and expanded dashboard support across perspectives.
    • Improved monitoring plugin image verification and dashboard filter handling.

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

openshift-ci-robot commented Jul 28, 2026

Copy link
Copy Markdown

@etmurasaki: This pull request references OU-1107 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 task to target the "5.0.0" version, but no target version was set.

Details

In response to this:

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 added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Jul 28, 2026
@openshift-ci

openshift-ci Bot commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all

@openshift-ci openshift-ci Bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Jul 28, 2026
@coderabbitai

coderabbitai Bot commented Jul 28, 2026

Copy link
Copy Markdown

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

Cypress coverage now supports Core platform and Fleet management perspectives for alerting and Perses dashboards. Fixtures enable Incidents and Perses. Shared helpers use perspective-specific alert data, configurable dashboard labels, updated selectors, readiness checks, and monitoring console image verification.

Changes

Monitoring perspective coverage

Layer / File(s) Summary
Alerting regression and Fleet coverage
web/cypress/support/monitoring/..., web/cypress/e2e/coo/02.acm_alerting_ui.cy.ts
Alert tests use perspective-specific alert names, namespaces, cluster filters, and silence flows. Fleet tests verify hidden Incidents and Signal correlation entries.
Monitoring fixtures and setup
web/cypress/fixtures/coo/..., web/cypress/support/commands/...
Fixtures enable Incidents and Perses. COO setup verifies the monitoring console plugin image with retries.
Alerting and navigation helpers
web/cypress/views/..., web/cypress/support/commands/...
Helpers update filter cleanup, empty-state checks, navigation scrolling, visibility assertions, and readiness waits.

Perses perspective coverage

Layer / File(s) Summary
Perses suite wiring
web/cypress/e2e/coo/02.acm_perses.cy.ts, web/cypress/e2e/perses/...
Perses suites switch to Core platform. A Fleet management BVT suite covers COO dashboards.
Configurable dashboard navigation
web/cypress/support/perses/...
Perses configurations accept optional dashboard page names and pass them to loading checks and navigation.
Perses selectors and interactions
web/cypress/views/perses-dashboards-list-dashboards.ts, web/cypress/views/perses-dashboards-edit-variables.ts, web/src/shared/constants/data-test.ts
Dashboard checks use OUIA selectors, updated filter labels, conditional favorite-star assertions, and revised input timing.

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


Important

Pre-merge checks failed

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

❌ Failed checks (1 error, 1 warning)

Check name Status Explanation Resolution
No-Sensitive-Data-In-Logs ❌ Error The PR logs MCP_CONSOLE_IMAGE, current pod image, and complete CSV YAML; these values may contain private image registries, internal hostnames, or deployment data. Remove image values and CSV dumps from logs. Log only safe status and retry metadata, and redact registry hostnames or sensitive fields before output.
Docstring Coverage ⚠️ Warning Docstring coverage is 9.68% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (13 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly identifies the main ACM alerting UI changes for alerts and Perses.
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 Cypress/Mocha tests are used, not Ginkgo; titles are static or use literal perspective names, and Math.random() only builds a dashboard name in a test body.
Test Structure And Quality ✅ Passed Not applicable: the commit changes only four Cypress TypeScript files, with no Ginkgo APIs; the repository's Go test uses standard testing and testify.
Microshift Test Compatibility ✅ Passed The pull request adds Cypress TypeScript tests only; it adds no Ginkgo tests, Go files, Ginkgo constructs, or MicroShift-specific Ginkgo guards.
Single Node Openshift (Sno) Test Compatibility ✅ Passed PR changes only Cypress/TypeScript and fixture files; no Ginkgo Go tests were added, and searches found no multi-node assumptions such as affinity, node scaling, draining, failover, or topology req...
Topology-Aware Scheduling Compatibility ✅ Passed The PR changes Cypress tests and fixture configuration only; added UIPlugin flags and alert labels introduce no affinity, topology spread, selectors, tolerations, replica, or PDB scheduling constra...
Ote Binary Stdout Contract ✅ Passed The PR changes only Cypress, fixture, and frontend files; it adds no Go or OTE process-level code and introduces no stdout writes in main or suite setup.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed The PR adds Cypress TypeScript suites, not Ginkgo tests; the PR range contains no changed Go files or Ginkgo markers, and no IPv4-only code was added.
No-Weak-Crypto ✅ Passed PR additions contain no MD5, SHA1, DES, RC4, 3DES, Blowfish, or ECB usage, crypto APIs, custom crypto, or secret/token comparisons.
Container-Privileges ✅ Passed Full PR diff adds no privileged, hostPID/hostNetwork/hostIPC, SYS_ADMIN, allowPrivilegeEscalation:true, or explicit root settings; changed COO manifests and scripts contain none.
✨ 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

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🧹 Nitpick comments (1)
web/cypress/support/monitoring/01.reg_alerts.cy.ts (1)

43-113: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Near-duplicate "Alerting Rules page - Filtering" test between Fleet Management and Core Platform.

testAlertsFleetManagementRegression's second it block (lines 73-112) and testAlertsCorePlatformHeaderRegression's second it block (lines 142-182) are identical apart from one extra listPage.filter.removeIndividualTag(Source.PLATFORM); call (line 146). Extracting the shared filtering flow into a single helper (parameterized by the one extra teardown step) would prevent the two copies from drifting apart over time.

♻️ Suggested extraction
function testAlertingRulesFilteringRegression(
  perspective: PerspectiveConfig,
  beforeFilters?: () => void,
) {
  it(`${perspective.name} perspective - Alerting > Alerting Rules page - Filtering`, () => {
    cy.log('2.1 use sidebar nav to go to Observe > Alerting');
    nav.tabs.switchTab('Alerting rules');
    alertingRuleListPage.shouldBeLoaded();
    beforeFilters?.();

    cy.log('2.2 clear all filters, verify filters and tags');
    // ...shared body...
    alertingRuleListPage.filter.assertNoClearAllFilters();
  });
}

Then call it with () => listPage.filter.removeIndividualTag(Source.PLATFORM) from testAlertsCorePlatformHeaderRegression and with no callback from testAlertsFleetManagementRegression.

Also applies to: 142-183

🤖 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 `@web/cypress/support/monitoring/01.reg_alerts.cy.ts` around lines 43 - 113,
Extract the duplicated Alerting Rules filtering test flow from
testAlertsFleetManagementRegression and testAlertsCorePlatformHeaderRegression
into a shared testAlertingRulesFilteringRegression helper. Parameterize the
helper with an optional beforeFilters callback, invoke it before applying
filters, and pass the Source.PLATFORM removal callback only from the Core
Platform test while leaving the Fleet Management call without one.
🤖 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 `@web/cypress/e2e/coo/02.acm_alerting_ui.cy.ts`:
- Around line 58-69: Add cy.closeOnboardingModalIfPresent() after
cy.switchPerspective('Fleet management') in the “Visual validation for features
that should not be displayed under Fleet management perspective” test, before
navigating with nav.sidenav.clickNavLink(...), so the test works independently
when the onboarding modal is present.

---

Nitpick comments:
In `@web/cypress/support/monitoring/01.reg_alerts.cy.ts`:
- Around line 43-113: Extract the duplicated Alerting Rules filtering test flow
from testAlertsFleetManagementRegression and
testAlertsCorePlatformHeaderRegression into a shared
testAlertingRulesFilteringRegression helper. Parameterize the helper with an
optional beforeFilters callback, invoke it before applying filters, and pass the
Source.PLATFORM removal callback only from the Core Platform test while leaving
the Fleet Management call without one.
🪄 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: 4b8b056f-70a6-4cd9-8420-8be26cad4f42

📥 Commits

Reviewing files that changed from the base of the PR and between b73be6f and 49ec998.

📒 Files selected for processing (12)
  • web/cypress/e2e/coo/02.acm_alerting_ui.cy.ts
  • web/cypress/e2e/monitoring/regression/01.reg_alerts_admin.cy.ts
  • web/cypress/fixtures/coo/acm-install.sh
  • web/cypress/fixtures/monitoring/constants.ts
  • web/cypress/support/commands/utility-commands.ts
  • web/cypress/support/monitoring/01.reg_alerts.cy.ts
  • web/cypress/support/monitoring/04.reg_alerts_namespace.cy.ts
  • web/cypress/views/alerting-rule-list-page.ts
  • web/cypress/views/incidents-page.ts
  • web/cypress/views/list-page.ts
  • web/cypress/views/nav.ts
  • web/cypress/views/silences-list-page.ts
💤 Files with no reviewable changes (1)
  • web/cypress/views/silences-list-page.ts

Comment thread web/cypress/e2e/coo/02.acm_alerting_ui.cy.ts
@etmurasaki

Copy link
Copy Markdown
Contributor Author

/test e2e-monitoring

@etmurasaki etmurasaki changed the title OU-1107: ACM alerting UI with alerts and perses OU-1107 OU-1108: ACM alerting UI with alerts and perses Jul 30, 2026
@openshift-ci-robot

openshift-ci-robot commented Jul 30, 2026

Copy link
Copy Markdown

@etmurasaki: This pull request references OU-1107 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 task to target the "5.0.0" version, but no target version was set.

This pull request references OU-1108 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 task to target the "5.0.0" version, but no target version was set.

Details

In response to this:

Summary by CodeRabbit

  • Bug Fixes
  • Improved Alerting behavior across Core Platform and Fleet Management perspectives.
  • Alert filtering, silencing, expiration, and detail-page actions now work correctly with perspective-specific alerts.
  • Corrected empty-state displays for alerting rules and silences.
  • Improved navigation and filter interactions by ensuring controls are visible before selection.
  • Fleet Management now correctly hides unsupported Incidents and Signal correlation options.
  • Enhancements
  • Enabled Incidents and Perses monitoring components for supported environments.

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.

@etmurasaki

Copy link
Copy Markdown
Contributor Author

/test e2e-monitoring

@etmurasaki

Copy link
Copy Markdown
Contributor Author

/test e2e-alerts

@etmurasaki

Copy link
Copy Markdown
Contributor Author

/test e2e-coo

@etmurasaki

Copy link
Copy Markdown
Contributor Author

/test e2e-perses

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 5

🧹 Nitpick comments (1)
web/cypress/views/list-page.ts (1)

109-114: 🩺 Stability & Availability | 🔵 Trivial | ⚡ Quick win

Keep the optional clear-all lookup retriable.

cy.get('body').then(...) performs a single DOM check. If DataViewToolbar-clear-all-filters renders after the callback, clearAllFilters returns without clearing active filters. Wait for a settled DataView state before the optional lookup, or use a bounded retry that treats a settled no-filter state as the absent case.

🤖 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 `@web/cypress/views/list-page.ts` around lines 109 - 114, Update
clearAllFilters around the DataViewToolbar-clear-all-filters lookup so it
remains retriable until the DataView settles, while allowing a settled state
with no clear-all control to complete successfully. Avoid relying on the single
body snapshot from cy.get('body').then(...); preserve the existing behavior of
clicking the first matching control when it appears.
🤖 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 `@web/cypress/e2e/coo/02.acm_perses.cy.ts`:
- Around line 22-28: Add a beforeEach hook alongside the existing before hook
that switches to the Fleet management perspective and navigates through Observe
> Dashboards before every BVT case, using the existing switchPerspective and
nav.sidenav helpers. Keep the one-time ACM setup and dashboard cleanup in before
unchanged.

In `@web/cypress/e2e/monitoring/regression/01.reg_alerts_admin.cy.ts`:
- Line 18: Update the suite metadata in the test file to match the Core platform
perspective being used. Change the describe block title and the comment text
around lines 31-33 from references to Administrator to Core platform, so the
Cypress reports and test labels accurately reflect that the test executes
cy.switchPerspective('Core platform') rather than an Administrator perspective
test.

In `@web/cypress/e2e/perses/00.coo_bvt_perses_admin.cy.ts`:
- Line 38: Rename the `describe` suite title in the Perses admin Cypress spec
from `Administrator perspective` to `Core platform` so CI reports match the
configured perspective and generated test names.

In `@web/cypress/support/perses/01.coo_list_perses_admin.cy.ts`:
- Line 28: Update every shouldBeLoaded call in the test file to pass
perspective.dashboardsPageName, matching the existing first scenario, so each
list-load assertion uses the configured page name.

In `@web/cypress/support/perses/99.coo_rbac_perses_user5.cy.ts`:
- Line 19: Remove the unused perspective fields dashboardsPageName and
dashboardSearch from the relevant test data declarations in
web/cypress/support/perses/99.coo_rbac_perses_user5.cy.ts:19-19 and
web/cypress/support/perses/99.coo_rbac_perses_user6.cy.ts:6-6, unless you
instead wire both fields into their corresponding tests.

---

Nitpick comments:
In `@web/cypress/views/list-page.ts`:
- Around line 109-114: Update clearAllFilters around the
DataViewToolbar-clear-all-filters lookup so it remains retriable until the
DataView settles, while allowing a settled state with no clear-all control to
complete successfully. Avoid relying on the single body snapshot from
cy.get('body').then(...); preserve the existing behavior of clicking the first
matching control when it appears.
🪄 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: bf92b12a-d8ac-4a94-a665-fa5dcc34654f

📥 Commits

Reviewing files that changed from the base of the PR and between 49ec998 and ad6b4e9.

📒 Files selected for processing (40)
  • web/cypress/e2e/coo/02.acm_alerting_ui.cy.ts
  • web/cypress/e2e/coo/02.acm_perses.cy.ts
  • web/cypress/e2e/monitoring/regression/01.reg_alerts_admin.cy.ts
  • web/cypress/e2e/perses/00.coo_bvt_perses_admin.cy.ts
  • web/cypress/e2e/perses/01.coo_list_perses_admin.cy.ts
  • web/cypress/e2e/perses/02.coo_edit_perses_admin.cy.ts
  • web/cypress/e2e/perses/03.coo_create_perses_admin.cy.ts
  • web/cypress/e2e/perses/04.coo_import_perses_admin.cy.ts
  • web/cypress/e2e/perses/99.coo_rbac_perses_user1.cy.ts
  • web/cypress/e2e/perses/99.coo_rbac_perses_user2.cy.ts
  • web/cypress/e2e/perses/99.coo_rbac_perses_user3.cy.ts
  • web/cypress/e2e/perses/99.coo_rbac_perses_user4.cy.ts
  • web/cypress/e2e/perses/99.coo_rbac_perses_user5.cy.ts
  • web/cypress/fixtures/coo/acm-alerrule-test.yaml
  • web/cypress/fixtures/coo/acm-install.sh
  • web/cypress/fixtures/coo/acm-uiplugin.yaml
  • web/cypress/support/commands/auth-commands.ts
  • web/cypress/support/commands/operator-commands.ts
  • web/cypress/support/commands/utility-commands.ts
  • web/cypress/support/monitoring/01.reg_alerts.cy.ts
  • web/cypress/support/perses/00.coo_bvt_perses_admin.cy.ts
  • web/cypress/support/perses/01.coo_list_perses_admin.cy.ts
  • web/cypress/support/perses/01.coo_list_perses_admin_namespace.cy.ts
  • web/cypress/support/perses/02.coo_edit_perses_admin.cy.ts
  • web/cypress/support/perses/02.coo_edit_perses_admin_1.cy.ts
  • web/cypress/support/perses/03.coo_create_perses_admin.cy.ts
  • web/cypress/support/perses/04.coo_import_perses_admin.cy.ts
  • web/cypress/support/perses/05.coo_create_import_perses_admin.cy.ts
  • web/cypress/support/perses/99.coo_rbac_perses_user1.cy.ts
  • web/cypress/support/perses/99.coo_rbac_perses_user2.cy.ts
  • web/cypress/support/perses/99.coo_rbac_perses_user3.cy.ts
  • web/cypress/support/perses/99.coo_rbac_perses_user4.cy.ts
  • web/cypress/support/perses/99.coo_rbac_perses_user5.cy.ts
  • web/cypress/support/perses/99.coo_rbac_perses_user6.cy.ts
  • web/cypress/views/list-page.ts
  • web/cypress/views/nav.ts
  • web/cypress/views/perses-dashboards-edit-variables.ts
  • web/cypress/views/perses-dashboards-list-dashboards.ts
  • web/cypress/views/silence-alert-page.ts
  • web/src/shared/constants/data-test.ts
💤 Files with no reviewable changes (2)
  • web/cypress/support/commands/operator-commands.ts
  • web/src/shared/constants/data-test.ts
🚧 Files skipped from review as they are similar to previous changes (4)
  • web/cypress/support/commands/utility-commands.ts
  • web/cypress/e2e/coo/02.acm_alerting_ui.cy.ts
  • web/cypress/support/monitoring/01.reg_alerts.cy.ts
  • web/cypress/views/nav.ts

Comment thread web/cypress/e2e/coo/02.acm_perses.cy.ts
Comment thread web/cypress/e2e/monitoring/regression/01.reg_alerts_admin.cy.ts
Comment thread web/cypress/e2e/perses/00.coo_bvt_perses_admin.cy.ts
Comment thread web/cypress/support/perses/01.coo_list_perses_admin.cy.ts
Comment thread web/cypress/support/perses/99.coo_rbac_perses_user5.cy.ts
@etmurasaki

Copy link
Copy Markdown
Contributor Author

/test e2e-perses

@etmurasaki

Copy link
Copy Markdown
Contributor Author

/test e2e-coo

1 similar comment
@etmurasaki

Copy link
Copy Markdown
Contributor Author

/test e2e-coo

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 5

🧹 Nitpick comments (1)
web/cypress/support/commands/image-patch-commands.ts (1)

125-168: 🚀 Performance & Scalability | 🔵 Trivial | ⚖️ Poor tradeoff

Reconsider re-invoking the full patch script inside the outer retry loop.

On a mismatch, checkAndFix re-runs the entire update-mcp-image.sh script — which now has its own internal 6-attempt CSV retry loop and a fixed wait — and then separately patches the deployment and waits for rollout and pod readiness again. With maxAttempts = 5 outer retries, worst-case this compounds the shell script's own retries, multiplying total CI runtime and API calls.

Consider having the script perform only the CSV patch (skip its own polling loop) when invoked from this retry wrapper, since checkAndFix already implements outer retry and readiness waiting.

🤖 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 `@web/cypress/support/commands/image-patch-commands.ts` around lines 125 - 168,
Update the retry flow in checkAndFix so invoking update-mcp-image.sh performs
only the CSV patch without its internal polling/retry loop when called from this
wrapper. Pass the appropriate script option or environment flag, while
preserving the existing deployment patch, rollout, pod-readiness checks, and
outer retry behavior.
🤖 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 `@web/cypress/fixtures/coo/update-mcp-image.sh`:
- Line 44: Update the image verification check in the shell conditional around
LIVE_CSV and MCP_CONSOLE_IMAGE to use grep’s fixed-string option, ensuring the
image reference is matched literally rather than interpreted as a regular
expression.
- Line 9: Update the COO_CSV_NAME lookup in update-mcp-image.sh to validate that
at least one CSV was found and fail with a clear error if none exists. When
multiple matches are returned during an upgrade, select one deterministic CSV
name before patch_csv and the verification loop use it, ensuring COO_CSV_NAME is
always a single line.
- Around line 64-67: Update the oc wait handling in update-mcp-image.sh to
capture its exit status and explicitly exit non-zero when waiting for the
observability-operator pods fails or times out. Ensure the subsequent echo does
not mask the failure, while preserving output for successful waits.
- Around line 33-56: Reduce the total wait budget in the update-MCP-image
script, especially the CSV verification loop around MAX_CSV_RETRIES and
CSV_RETRY_INTERVAL, so it completes within the callers’ 120-second cy.exec
readyTimeoutMilliseconds, accounting for the existing oc wait and command
overhead. Preserve the retry and verification behavior while ensuring the
maximum runtime stays below the timeout.

In `@web/cypress/support/commands/image-patch-commands.ts`:
- Around line 101-159: Update the `checkAndFix` command execution flow to
eliminate shell interpolation of `MCP.namespace`, `deployName`, `expectedImage`,
and `kubeconfig`. Use static command strings with quoted environment-variable
expansions, pass `kubeconfig` via `env.KUBECONFIG`, and validate dynamic
Kubernetes names and image references against appropriate allow-lists before
invoking `cy.exec`.

---

Nitpick comments:
In `@web/cypress/support/commands/image-patch-commands.ts`:
- Around line 125-168: Update the retry flow in checkAndFix so invoking
update-mcp-image.sh performs only the CSV patch without its internal
polling/retry loop when called from this wrapper. Pass the appropriate script
option or environment flag, while preserving the existing deployment patch,
rollout, pod-readiness checks, and outer retry behavior.
🪄 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: 40146f88-9b03-41cb-bb57-246774ff3131

📥 Commits

Reviewing files that changed from the base of the PR and between bbeac96 and 02a9aa8.

📒 Files selected for processing (3)
  • web/cypress/fixtures/coo/update-mcp-image.sh
  • web/cypress/support/commands/image-patch-commands.ts
  • web/cypress/support/commands/operator-commands.ts
🚧 Files skipped from review as they are similar to previous changes (1)
  • web/cypress/support/commands/operator-commands.ts

Comment thread web/cypress/fixtures/coo/update-mcp-image.sh Outdated
Comment thread web/cypress/fixtures/coo/update-mcp-image.sh
Comment thread web/cypress/fixtures/coo/update-mcp-image.sh Outdated
Comment thread web/cypress/fixtures/coo/update-mcp-image.sh
Comment thread web/cypress/support/commands/image-patch-commands.ts
@etmurasaki

Copy link
Copy Markdown
Contributor Author

/test e2e-perses

@etmurasaki

Copy link
Copy Markdown
Contributor Author

/test e2e-alerts

@etmurasaki

Copy link
Copy Markdown
Contributor Author

/test e2e-virtualization

@etmurasaki

Copy link
Copy Markdown
Contributor Author

/test e2e-coo

@etmurasaki

Copy link
Copy Markdown
Contributor Author

/test e2e-perses

@etmurasaki

Copy link
Copy Markdown
Contributor Author

/test e2e-coo

1 similar comment
@etmurasaki

Copy link
Copy Markdown
Contributor Author

/test e2e-coo

@etmurasaki

Copy link
Copy Markdown
Contributor Author

/test e2e-alerts

@etmurasaki

Copy link
Copy Markdown
Contributor Author

/test e2e-monitoring

@etmurasaki

Copy link
Copy Markdown
Contributor Author

/test e2e-coo

@openshift-ci
openshift-ci Bot requested a review from DavidRajnoha August 12, 2026 23:35
@etmurasaki

Copy link
Copy Markdown
Contributor Author

/test e2e-coo

@etmurasaki

Copy link
Copy Markdown
Contributor Author

/test e2e-perses

@etmurasaki

Copy link
Copy Markdown
Contributor Author

/override ci/prow/e2e-coo

@openshift-ci

openshift-ci Bot commented Aug 13, 2026

Copy link
Copy Markdown
Contributor

@etmurasaki: Overrode contexts on behalf of etmurasaki: ci/prow/e2e-coo

Details

In response to this:

/override ci/prow/e2e-coo

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.

@etmurasaki

Copy link
Copy Markdown
Contributor Author

/label qe-approved

@openshift-ci openshift-ci Bot added the qe-approved Signifies that QE has signed off on this PR label Aug 13, 2026
@etmurasaki

Copy link
Copy Markdown
Contributor Author

/test ?

@etmurasaki

Copy link
Copy Markdown
Contributor Author

/test e2e-alerts

@openshift-ci

openshift-ci Bot commented Aug 13, 2026

Copy link
Copy Markdown
Contributor

@etmurasaki: 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/prow/e2e-virtualization c1cdae3 link false /test e2e-virtualization

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.

@PeterYurkovich

Copy link
Copy Markdown
Contributor

/hold for branch

@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 Aug 14, 2026
@PeterYurkovich

Copy link
Copy Markdown
Contributor

/lgtm

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

Copy link
Copy Markdown
Contributor

Scheduling required tests:
/test e2e-agnostic-cmo
/test e2e-management-api
/test e2e-monitoring

@openshift-ci

openshift-ci Bot commented Aug 14, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: etmurasaki, PeterYurkovich

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:
  • OWNERS [PeterYurkovich,etmurasaki]

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

@etmurasaki

Copy link
Copy Markdown
Contributor Author

/override ci/prow/e2e-alerts

@etmurasaki

Copy link
Copy Markdown
Contributor Author

/label qe-approved

@openshift-ci

openshift-ci Bot commented Aug 14, 2026

Copy link
Copy Markdown
Contributor

@etmurasaki: Overrode contexts on behalf of etmurasaki: ci/prow/e2e-alerts

Details

In response to this:

/override ci/prow/e2e-alerts

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.

@etmurasaki

Copy link
Copy Markdown
Contributor Author

/override ci/prow/e2e-management-api

@openshift-ci

openshift-ci Bot commented Aug 14, 2026

Copy link
Copy Markdown
Contributor

@etmurasaki: Overrode contexts on behalf of etmurasaki: ci/prow/e2e-management-api

Details

In response to this:

/override ci/prow/e2e-management-api

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.

@PeterYurkovich

Copy link
Copy Markdown
Contributor

/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 Aug 14, 2026
@etmurasaki

Copy link
Copy Markdown
Contributor Author

/cherry-pick release-5.0

@openshift-cherrypick-robot

Copy link
Copy Markdown

@etmurasaki: once the present PR merges, I will cherry-pick it on top of release-5.0 in a new PR and assign it to you.

Details

In response to this:

/cherry-pick release-5.0

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.

@openshift-merge-bot
openshift-merge-bot Bot merged commit df674f0 into openshift:main Aug 14, 2026
16 checks passed
@openshift-cherrypick-robot

Copy link
Copy Markdown

@etmurasaki: new pull request created: #1143

Details

In response to this:

/cherry-pick release-5.0

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.

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. lgtm Indicates that a PR is ready to be merged. qe-approved Signifies that QE has signed off on this PR

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants