Skip to content

Add read-only local e2e test mode with backplane support#512

Open
nephomaniac wants to merge 1 commit into
openshift:masterfrom
nephomaniac:e2e-local-readonly-v2
Open

Add read-only local e2e test mode with backplane support#512
nephomaniac wants to merge 1 commit into
openshift:masterfrom
nephomaniac:e2e-local-readonly-v2

Conversation

@nephomaniac

Copy link
Copy Markdown
Contributor

Summary

  • Add Ginkgo labels (read-only/mutating) to all test specs for filtering
  • Add test/e2e/run-local.sh wrapper script for running tests locally against live clusters
  • Add test/e2e/lint-labels.sh to enforce labels on new tests
  • Support E2E_IMPERSONATE_USER for backplane cluster-admin impersonation
  • Support E2E_READ_ONLY to make Prometheus client non-fatal (metric tests skip when prom unavailable)

Pipeline behavior is unchanged: no env vars set, no label filter, all tests run with strict assertions.

Usage

# Login to cluster, elevate if backplane
ocm backplane elevate "e2e testing"

# Run read-only tests (safe for any cluster)
./test/e2e/run-local.sh

# Run all tests (test clusters only)
./test/e2e/run-local.sh --all

# Run specific tests
./test/e2e/run-local.sh --focus "roles exist"

Test plan

  • Tested on OLM cluster (stage) — 24 passed, 0 failed
  • Tested on PKO cluster (integration) — 22 passed, 0 failed, 2 metric tests skipped
  • lint-labels.sh passes
  • CI pipeline passes

🤖 Generated with Claude Code

@nephomaniac

Copy link
Copy Markdown
Contributor Author

/label tide/merge-method-squash

@coderabbitai

coderabbitai Bot commented Apr 23, 2026

Copy link
Copy Markdown

Warning

Review limit reached

@nephomaniac, we couldn't start this review because you've reached your PR review rate limit.

More reviews will be available in 28 minutes and 59 seconds. Learn how PR review limits work.

Your organization has run out of usage credits. Purchase more in the billing tab.

⌛ How to resolve this issue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available.

Please see our Fair Usage Limits Policy for further information.

ℹ️ Review info
⚙️ Run configuration

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

Review profile: CHILL

Plan: Enterprise

Run ID: 86f0a5f3-b6fd-490a-9c94-6185b5f4d4ae

📥 Commits

Reviewing files that changed from the base of the PR and between d9f955a and 2763cf9.

📒 Files selected for processing (3)
  • test/e2e/configure_alertmanager_operator_tests.go
  • test/e2e/lint-labels.sh
  • test/e2e/run-local.sh
✨ 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 and usage tips.

@openshift-ci openshift-ci Bot added the tide/merge-method-squash Denotes a PR that should be squashed by tide when it merges. label Apr 23, 2026
@openshift-ci openshift-ci Bot requested review from Mhodesty and bergmannf April 23, 2026 22:50
@openshift-ci

openshift-ci Bot commented Apr 23, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: nephomaniac

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 Apr 23, 2026
@nephomaniac

Copy link
Copy Markdown
Contributor Author

Holding during review + merge timing
/hold

@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 Apr 23, 2026
@codecov

codecov Bot commented Apr 23, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 68.29%. Comparing base (d9f955a) to head (2763cf9).
⚠️ Report is 42 commits behind head on master.

Additional details and impacted files

Impacted file tree graph

@@           Coverage Diff           @@
##           master     #512   +/-   ##
=======================================
  Coverage   68.29%   68.29%           
=======================================
  Files           8        8           
  Lines        1088     1088           
=======================================
  Hits          743      743           
  Misses        315      315           
  Partials       30       30           
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Add Ginkgo labels (read-only/mutating) to all test specs, a wrapper
script for running tests locally, and backplane impersonation support.

- Label all tests as read-only or mutating for filtering
- Add test/e2e/run-local.sh wrapper (auto-detects backplane, builds
  binary, filters by label)
- Add test/e2e/lint-labels.sh to enforce labels on new tests
- Support E2E_IMPERSONATE_USER for backplane cluster-admin impersonation
- Support E2E_READ_ONLY to make Prometheus client non-fatal (metric
  tests skip when prom unavailable due to restricted RBAC)

Pipeline behavior is unchanged: no env vars set, no label filter,
all tests run with strict assertions.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@nephomaniac nephomaniac force-pushed the e2e-local-readonly-v2 branch from 3f3f087 to 2763cf9 Compare May 26, 2026 22:38
@openshift-ci openshift-ci Bot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Jul 2, 2026
@openshift-ci

openshift-ci Bot commented Jul 2, 2026

Copy link
Copy Markdown
Contributor

PR needs rebase.

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.

@openshift-ci

openshift-ci Bot commented Jul 2, 2026

Copy link
Copy Markdown
Contributor

@nephomaniac: 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/prow/e2e-binary-build-success 2763cf9 link true /test e2e-binary-build-success
ci/prow/validate 2763cf9 link true /test validate
ci/prow/coverage 2763cf9 link true /test coverage
ci/prow/lint 2763cf9 link true /test lint
ci/prow/test 2763cf9 link true /test test

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

approved Indicates a PR has been approved by an approver from all required OWNERS files. do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. tide/merge-method-squash Denotes a PR that should be squashed by tide when it merges.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant