Skip to content

🌱 OPRUN-4784: Move ClusterExtension E2E steps into operator-controller - #3150

Merged
openshift-merge-bot[bot] merged 1 commit into
operator-framework:mainfrom
fao89:OPRUN-4784-pr3-operator-steps
Nov 11, 2026
Merged

openshift-merge-bot[bot] merged 1 commit into
operator-framework:mainfrom
fao89:OPRUN-4784-pr3-operator-steps

Conversation

@fao89

@fao89 fao89 commented Nov 11, 2026 •

Copy link
Copy Markdown
Contributor

Description

Move ClusterExtension lifecycle, ownership, resource, and condition assertions into test/internal/e2e/operator-controller/steps. Register them in their consuming component, upgrade, and legacy suites. Keep revision-group and Secret-reference lookup helpers shared so this extraction has no dependency on the object-controller extraction.

Shared prerequisites are merged in #3138 and #3145. This PR contains only this component's extraction, rebased onto main at 18949e4d. The four component extractions can be reviewed concurrently and merged in any order. Overlapping suite imports and registrations may require ordinary conflict resolution when later siblings merge.

The branch changes 9 files. E2E/upgrade feature contents and tags are preserved.

Jira: https://redhat.atlassian.net/browse/OPRUN-4784
Design: docs/designs/e2e-per-component.md

Validation

Go 1.26.5:

  • All component, upgrade, and legacy entry points compile, and every scenario step matches exactly one definition.
  • Shared helper and recorder tests pass with race detection.
  • make lint passes with zero issues.
  • All 16 component subsets pass compilation, exact step matching, and helper tests after resolving shared registrations.
  • All 27 E2E/upgrade feature files match current main byte for byte.
  • The combined result passes make verify without tracked drift and make test-unit with race detection and coverage.
  • Full live standard, experimental, and upgrade E2E scenarios were not rerun for this rebase.

Reviewer Checklist

  • API Go Documentation (no API type changes)
  • Tests: Unit Tests (and E2E Tests, if appropriate)
  • Comprehensive Commit Messages
  • Links to related GitHub Issue(s)

Summary by CodeRabbit

  • Tests
    • Added operator-controller lifecycle, status, ownership, resource, and reconciliation checks to end-to-end suites, including catalog, platform, object-controller, and upgrade scenarios.
    • Moved ClusterExtension checks into operator-controller-specific test steps; the shared step set no longer includes those checks.
    • Existing ClusterObjectSet and ClusterObjectDeployment checks remain in the shared step set.

@netlify

netlify Bot commented Nov 11, 2026 •

Copy link
Copy Markdown

👷 Deploy request for olmv1 pending review.

Visit the deploys page to approve it

Name Link
🔨 Latest commit d42434c

@coderabbitai

coderabbitai Bot commented Nov 11, 2026 •

Copy link
Copy Markdown

Explain Change →

No actionable comments were generated in the recent review.

Walkthrough

ClusterExtension E2E steps and resource discovery move from the shared E2E steps package to an operator-controller-specific package. E2E suites register the new package, while the shared package retains non-ClusterExtension steps.

Changes: Operator-controller E2E steps

Layer / File(s) Summary
Add ClusterExtension steps and resource discovery
test/internal/e2e/operator-controller/steps/steps.go
Adds steps for ClusterExtension lifecycle, conditions, ownership, resources, version updates, namespace ownership, and reconciliation. Resource discovery uses active ClusterObjectSet revisions when the Boxcutter runtime feature gate is enabled; otherwise, it reads Helm release data.
Remove ClusterExtension steps from shared helpers
test/internal/e2e/steps/steps.go, test/internal/e2e/steps/hooks.go
Removes ClusterExtension step registrations, checks, resource discovery, and the World methods for gathering and retrieving extension objects. Other object lifecycle steps remain.
Register steps in E2E suites
test/e2e/*/suite_test.go, test/e2e/features_test.go, test/upgrade-e2e/upgrade_test.go
Registers the operator-controller steps in the catalogd, features, object-controller, operator-controller, platform, and upgrade E2E scenarios.

Estimated code review effort: 3 (Moderate) | ~25 minutes

Change: Refactor

Possibly related PRs

Suggested reviewers: perdasilva, fgiudici

Merge Risk: Minimal · up to d4243

This is a test-only refactor that relocates ClusterExtension E2E steps and registers them in the suites. Production behavior does not change. The author reports that compile, step matching, lint, and unit checks pass. The full live E2E scenarios were not rerun, so a quick CI confirmation is advisable before merge.

Pre-merge checks: Passed 5

Check name Status Explanation
Title check Passed The title clearly and concisely describes moving ClusterExtension E2E steps into the operator-controller component.
Description check Passed The description explains the scope, motivation, affected suites, shared dependencies, validation results, limitations, issue link, and reviewer checklist. It matches the required template and is suffi…
Docstring Coverage Passed Docstring coverage is 83.33% which is sufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff with cyclomatic complexity of at least 2. Documentati…
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.
Full details: Description check

Explanation

The description explains the scope, motivation, affected suites, shared dependencies, validation results, limitations, issue link, and reviewer checklist. It matches the required template and is sufficiently complete.

Full details: Docstring Coverage

Explanation

Docstring coverage is 83.33% which is sufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff with cyclomatic complexity of at least 2. Documentation-only edits and deletions within surviving functions are included; unchanged diff context and fully deleted functions are excluded. Analyzed 18 functions across 7 files.

Finishing Touches

Generate unit tests (beta)

  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Warning

Some tools did not complete. Review the errors below.

golangci-lint (2.15.0)

level=error msg="[linters_context] typechecking error: build constraints exclude all Go files in /test/e2e"

Recent review info

Run configuration

  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: defaults
  • Review profile: CHILL
  • Plan: Enterprise
  • Run ID: 8132b222-53bc-41cf-b3bd-8c144bb45e52
Commits

Reviewing files that changed from the base of the PR and between 36ce91a and d42434c.

Files selected for processing: 5

  • test/e2e/catalogd/suite_test.go
  • test/e2e/features_test.go
  • test/e2e/object-controller/suite_test.go
  • test/e2e/operator-controller/suite_test.go
  • test/e2e/platform/suite_test.go

Included review availability: This review used your included allowance. Your plan provides up to 12 included reviews per hour; 10 remain after this review.

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

openshift-ci Bot commented Nov 11, 2026

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: perdasilva

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 Nov 11, 2026
@fao89
fao89 force-pushed the OPRUN-4784-pr3-operator-steps branch from 1ca336d to 36ce91a Compare November 11, 2026 11:38
@openshift-ci openshift-ci Bot removed the lgtm Indicates that a PR is ready to be merged. label Nov 11, 2026
@perdasilva

Copy link
Copy Markdown
Contributor

/lgtm

@openshift-ci openshift-ci Bot added the lgtm Indicates that a PR is ready to be merged. label Nov 11, 2026
Move ClusterExtension lifecycle and integration assertions and register
them in consuming suites. Keep revision-group and Secret-ref lookups
shared so this extraction can land before or after other components.

Refs: OPRUN-4784
Signed-off-by: Fabricio Aguiar <fabricio.aguiar@gmail.com>

rh-pre-commit.version: 2.3.2
rh-pre-commit.check-secrets: ENABLED
@fao89
fao89 force-pushed the OPRUN-4784-pr3-operator-steps branch from 36ce91a to d42434c Compare November 11, 2026 13:09
@openshift-ci openshift-ci Bot removed the lgtm Indicates that a PR is ready to be merged. label Nov 11, 2026
@perdasilva

Copy link
Copy Markdown
Contributor

/lgtm

@openshift-ci openshift-ci Bot added the lgtm Indicates that a PR is ready to be merged. label Nov 11, 2026
@openshift-merge-bot
openshift-merge-bot Bot merged commit 03e505c into operator-framework:main Nov 11, 2026
36 of 37 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.

2 participants