Skip to content

⚠️ OPRUN-4518: chore(Boxcutter): Rename ClusterExtensionRevision to ObjectSet#2589

Open
camilamacedo86 wants to merge 1 commit intooperator-framework:mainfrom
camilamacedo86:rename-cer
Open

⚠️ OPRUN-4518: chore(Boxcutter): Rename ClusterExtensionRevision to ObjectSet#2589
camilamacedo86 wants to merge 1 commit intooperator-framework:mainfrom
camilamacedo86:rename-cer

Conversation

@camilamacedo86
Copy link
Contributor

No description provided.

Copilot AI review requested due to automatic review settings March 25, 2026 06:09
@netlify
Copy link

netlify bot commented Mar 25, 2026

Deploy Preview for olmv1 ready!

Name Link
🔨 Latest commit 5edf278
🔍 Latest deploy log https://app.netlify.com/projects/olmv1/deploys/69c37c2500e5430008a1c28d
😎 Deploy Preview https://deploy-preview-2589--olmv1.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@openshift-ci openshift-ci bot requested review from oceanc80 and perdasilva March 25, 2026 06:09
@openshift-ci
Copy link

openshift-ci bot commented Mar 25, 2026

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign grokspawn for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found 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

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR renames the experimental Boxcutter “revision” CRD and its related plumbing from ClusterExtensionRevision to ObjectSet, updating the operator-controller codebase, Helm manifests/CRDs, apply-configurations, and e2e coverage to match the new API naming.

Changes:

  • Renames controller/applier code paths, constants, and types to ObjectSet (including Boxcutter reconciliation/status mirroring).
  • Updates Helm RBAC and experimental CRD manifests to use objectsets.olm.operatorframework.io.
  • Updates e2e steps/features and generated apply-configurations/docs to use ObjectSet.

Reviewed changes

Copilot reviewed 49 out of 51 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
test/e2e/steps/testdata/rbac-template-for-all-extensions.yaml Updates RBAC resources/comments from clusterextensionrevisions to objectsets.
test/e2e/steps/testdata/pvc-probe-sa-boxcutter-rbac-template.yaml Updates finalizer RBAC to objectsets/finalizers.
test/e2e/steps/testdata/olm-sa-boxcutter-rbac-template.yaml Updates RBAC comment/resources to objectsets/finalizers.
test/e2e/steps/steps.go Renames step definitions and resource lookups to ObjectSet.
test/e2e/steps/hooks.go Scenario context + cleanup updated to track/delete ObjectSets.
test/e2e/features/update.feature Updates scenarios to assert ObjectSet conditions/archival.
test/e2e/features/status.feature Updates revision-condition assertions to ObjectSet.
test/e2e/features/revision.feature Renames feature + scenarios for directly applying ObjectSet.
test/e2e/features/install.feature Updates progress-deadline and annotation/label checks to ObjectSet.
test/e2e/README.md Updates ${CER_NAME} description to refer to ObjectSet.
internal/shared/util/test/artifacts.go Collects ObjectSet artifacts instead of ClusterExtensionRevision artifacts.
internal/operator-controller/labels/labels.go Updates label/annotation docs to refer to ObjectSet.
internal/operator-controller/controllers/revision_engine_factory.go Updates factory interface to accept *ocv1.ObjectSet.
internal/operator-controller/controllers/objectset_controller_test.go Renames reconciler tests/types to ObjectSet.
internal/operator-controller/controllers/objectset_controller_internal_test.go Renames internal controller tests/helpers to ObjectSet.
internal/operator-controller/controllers/objectset_controller.go Renames reconciler and RBAC markers to objectsets resources.
internal/operator-controller/controllers/common_controller_test.go Updates condition type/reason constants used in tests.
internal/operator-controller/controllers/common_controller.go Updates failure detection to use ObjectSet Progressing/Retrying.
internal/operator-controller/controllers/clusterextension_reconcile_steps.go Updates comment referencing maintained revision storage to ObjectSet.
internal/operator-controller/controllers/boxcutter_reconcile_steps.go Updates revision listing/sorting and condition mirroring to ObjectSet.
internal/operator-controller/applier/phase_test.go Updates applyconfiguration types used in phase sorting tests.
internal/operator-controller/applier/phase.go Renames comparator + phase sorting to ObjectSet applyconfiguration types.
internal/operator-controller/applier/boxcutter_test.go Updates generator expectations, retention const name, and mocks to ObjectSet.
internal/operator-controller/applier/boxcutter.go Renames generator interface/retention const and migrator/storage to ObjectSet.
helm/olmv1/templates/rbac/clusterrole-operator-controller-manager-role.yml Updates manager RBAC resources to objectsets (+status/+finalizers).
helm/olmv1/templates/crds/customresourcedefinition-objectsets.olm.operatorframework.io.yml Points Helm CRD template at objectsets CRD file.
helm/olmv1/base/operator-controller/crd/experimental/olm.operatorframework.io_objectsets.yaml CRD renamed/rewritten to define ObjectSet kind/plural/singular.
helm/olmv1/base/operator-controller/crd/experimental/olm.operatorframework.io_clusterextensions.yaml Updates ClusterExtension CRD descriptions referencing active revisions to ObjectSets.
hack/tools/update-crds.sh Updates generated CRD filename variable to olm.operatorframework.io_objectsets.yaml.
docs/api-reference/olmv1-api-reference.md Updates API reference text to ObjectSet terminology.
docs/api-reference/crd-ref-docs-gen-config.yaml Updates ignored types list to ObjectSet/ObjectSetList.
config/samples/olm_v1_clusterextension.yaml Updates sample RBAC to objectsets/finalizers and comment text.
cmd/operator-controller/main.go Updates cache/controller wiring to own/cache ocv1.ObjectSet.
applyconfigurations/utils.go Replaces ClusterExtensionRevision applyconfig mapping with ObjectSet mapping.
applyconfigurations/api/v1/revisionstatus.go Updates comments/fields to reference ObjectSet.
applyconfigurations/api/v1/objectsetstatus.go Adds generated apply-configuration type for ObjectSetStatus.
applyconfigurations/api/v1/objectsetspec.go Updates generated apply-configuration type for ObjectSetSpec.
applyconfigurations/api/v1/objectsetphase.go Updates generated apply-configuration type for ObjectSetPhase.
applyconfigurations/api/v1/objectsetobject.go Updates generated apply-configuration type for ObjectSetObject.
applyconfigurations/api/v1/objectset.go Updates generated apply-configuration type for ObjectSet.
applyconfigurations/api/v1/clusterextensionstatus.go Updates ClusterExtensionStatus applyconfig comments to reference ObjectSets.
applyconfigurations/api/v1/clusterextensionrevisionstatus.go Removes generated ClusterExtensionRevisionStatus apply-configuration.
api/v1/zz_generated.deepcopy.go Updates generated deepcopy implementations for ObjectSet types.
api/v1/validation_test.go Updates validation tests to use ObjectSetSpec/ObjectSet.
api/v1/objectset_types_test.go Renames ObjectSet validity/immutability tests from ClusterExtensionRevision.
api/v1/objectset_types.go Renames the API type definitions/constants to ObjectSet.
api/v1/clusterextension_types.go Updates ClusterExtension status/docs to reference ObjectSets.
AGENTS.md Updates repo documentation to name ObjectSet as the experimental revision CRD.
.claude/commands/list-e2e-steps.md Renames step category from ClusterExtensionRevision to ObjectSet.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines 73 to 77
// get all cluster extension revisions save them to the artifact path.
clusterExtensionRevisions := ocv1.ClusterExtensionRevisionList{}
if err := c.List(context.Background(), &clusterExtensionRevisions); err != nil {
objectSets := ocv1.ObjectSetList{}
if err := c.List(context.Background(), &objectSets); err != nil {
fmt.Printf("Failed to list cluster extensions: %v", err)
}
Copy link

Copilot AI Mar 25, 2026

Choose a reason for hiding this comment

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

This block is now collecting ObjectSets, but the comment and error string still mention "cluster extension revisions"/"cluster extensions". That makes artifact-collection failures confusing; please update the comment and fmt.Printf message to refer to ObjectSets.

Copilot uses AI. Check for mistakes.
@camilamacedo86
Copy link
Contributor Author

We can

/override go-apidif

The issues are expected
It is in techpreview

@openshift-ci
Copy link

openshift-ci bot commented Mar 25, 2026

@camilamacedo86: /override requires failed status contexts, check run or a prowjob name to operate on.
The following unknown contexts/checkruns were given:

  • go-apidif

Only the following failed contexts/checkruns were expected:

  • Verify PR title
  • crd-diff
  • e2e
  • experimental-e2e
  • extension-developer-e2e
  • go-apidiff
  • go-verdiff
  • goreleaser
  • lint
  • netlify/olmv1/deploy-preview
  • st2ex-e2e
  • tide
  • unit-test-basic
  • upgrade-st2st-e2e
  • verify

If you are trying to override a checkrun that has a space in it, you must put a double quote on the context.

Details

In response to this:

We can

/override go-apidif

The issues are expected
It is in techpreview

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.

@codecov
Copy link

codecov bot commented Mar 25, 2026

Codecov Report

❌ Patch coverage is 69.89247% with 84 lines in your changes missing coverage. Please review.
✅ Project coverage is 67.78%. Comparing base (c16a97b) to head (5edf278).

Files with missing lines Patch % Lines
api/v1/zz_generated.deepcopy.go 62.61% 40 Missing ⚠️
applyconfigurations/api/v1/objectset.go 57.69% 11 Missing ⚠️
applyconfigurations/utils.go 0.00% 10 Missing ⚠️
applyconfigurations/api/v1/objectsetstatus.go 0.00% 8 Missing ⚠️
...tor-controller/controllers/objectset_controller.go 92.00% 1 Missing and 3 partials ⚠️
internal/shared/util/test/artifacts.go 0.00% 4 Missing ⚠️
cmd/operator-controller/main.go 60.00% 2 Missing ⚠️
internal/operator-controller/applier/boxcutter.go 93.93% 1 Missing and 1 partial ⚠️
applyconfigurations/api/v1/objectsetobject.go 75.00% 1 Missing ⚠️
applyconfigurations/api/v1/objectsetphase.go 80.00% 1 Missing ⚠️
... and 1 more
Additional details and impacted files
@@           Coverage Diff           @@
##             main    #2589   +/-   ##
=======================================
  Coverage   67.78%   67.78%           
=======================================
  Files         137      137           
  Lines        9574     9574           
=======================================
  Hits         6490     6490           
  Misses       2585     2585           
  Partials      499      499           
Flag Coverage Δ
e2e 38.22% <8.67%> (+0.12%) ⬆️
experimental-e2e 50.95% <70.56%> (ø)
unit 52.87% <30.10%> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@camilamacedo86
Copy link
Contributor Author

We can

/override go-apidif/go-apidif

The issues are expected
It is in techpreview

@openshift-ci
Copy link

openshift-ci bot commented Mar 25, 2026

@camilamacedo86: /override requires failed status contexts, check run or a prowjob name to operate on.
The following unknown contexts/checkruns were given:

  • go-apidif/go-apidif

Only the following failed contexts/checkruns were expected:

  • Verify PR title
  • crd-diff
  • e2e
  • experimental-e2e
  • extension-developer-e2e
  • go-apidiff
  • go-verdiff
  • goreleaser
  • lint
  • netlify/olmv1/deploy-preview
  • st2ex-e2e
  • tide
  • unit-test-basic
  • upgrade-st2st-e2e
  • verify

If you are trying to override a checkrun that has a space in it, you must put a double quote on the context.

Details

In response to this:

We can

/override go-apidif/go-apidif

The issues are expected
It is in techpreview

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.

@camilamacedo86
Copy link
Contributor Author

We can

/override api-diff-lint/api-diff-lint

The issues are expected
It is in techpreview

@openshift-ci
Copy link

openshift-ci bot commented Mar 25, 2026

@camilamacedo86: /override requires failed status contexts, check run or a prowjob name to operate on.
The following unknown contexts/checkruns were given:

  • api-diff-lint/api-diff-lint

Only the following failed contexts/checkruns were expected:

  • Verify PR title
  • crd-diff
  • e2e
  • experimental-e2e
  • extension-developer-e2e
  • go-apidiff
  • go-verdiff
  • goreleaser
  • lint
  • netlify/olmv1/deploy-preview
  • st2ex-e2e
  • tide
  • unit-test-basic
  • upgrade-st2st-e2e
  • verify

If you are trying to override a checkrun that has a space in it, you must put a double quote on the context.

Details

In response to this:

We can

/override api-diff-lint/api-diff-lint

The issues are expected
It is in techpreview

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.

@camilamacedo86
Copy link
Contributor Author

We can

/override api-diff-lint

The issues are expected
It is in techpreview

@openshift-ci
Copy link

openshift-ci bot commented Mar 25, 2026

@camilamacedo86: /override requires failed status contexts, check run or a prowjob name to operate on.
The following unknown contexts/checkruns were given:

  • api-diff-lint

Only the following failed contexts/checkruns were expected:

  • Verify PR title
  • crd-diff
  • e2e
  • experimental-e2e
  • extension-developer-e2e
  • go-apidiff
  • go-verdiff
  • goreleaser
  • lint
  • netlify/olmv1/deploy-preview
  • st2ex-e2e
  • tide
  • unit-test-basic
  • upgrade-st2st-e2e
  • verify

If you are trying to override a checkrun that has a space in it, you must put a double quote on the context.

Details

In response to this:

We can

/override api-diff-lint

The issues are expected
It is in techpreview

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.

@camilamacedo86
Copy link
Contributor Author

/override go-apidiff

@openshift-ci
Copy link

openshift-ci bot commented Mar 25, 2026

@camilamacedo86: Overrode contexts on behalf of camilamacedo86: go-apidiff

Details

In response to this:

/override go-apidiff

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.

@camilamacedo86
Copy link
Contributor Author

/label api-diff-lint-override

@openshift-ci
Copy link

openshift-ci bot commented Mar 25, 2026

@camilamacedo86: The label(s) /label api-diff-lint-override cannot be applied. These labels are supported: acknowledge-critical-fixes-only, platform/aws, platform/azure, platform/baremetal, platform/google, platform/libvirt, platform/openstack, ga, tide/merge-method-merge, tide/merge-method-rebase, tide/merge-method-squash, px-approved, docs-approved, qe-approved, ux-approved, no-qe, rebase/manual, cluster-config-api-changed, run-integration-tests, approved, backport-risk-assessed, bugzilla/valid-bug, cherry-pick-approved, jira/valid-bug, ok-to-test, stability-fix-approved, staff-eng-approved. Is this label configured under labels -> additional_labels or labels -> restricted_labels in plugin.yaml?

Details

In response to this:

/label api-diff-lint-override

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.

@tmshort
Copy link
Contributor

tmshort commented Mar 25, 2026

Is there a ticket associated with this (OPRUN-4518)?

@tmshort tmshort changed the title ⚠️ chore(Boxcutter): Rename ClusterExtensionRevision to ObjectSet ⚠️ OPRUN-4518: chore(Boxcutter): Rename ClusterExtensionRevision to ObjectSet Mar 25, 2026
@tmshort
Copy link
Contributor

tmshort commented Mar 25, 2026

The /override command only works for non-required tests.

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants