OPRUN-4691: Promote OLMLifecycleAndCompatibility feature gate to Default#2920
OPRUN-4691: Promote OLMLifecycleAndCompatibility feature gate to Default#2920perdasilva wants to merge 1 commit into
Conversation
|
Pipeline controller notification For optional jobs, comment This repository is configured in: LGTM mode |
|
Hello @perdasilva! Some important instructions when contributing to openshift/api: |
📝 WalkthroughWalkthroughThis change enables Suggested reviewers: 🚥 Pre-merge checks | ✅ 15✅ Passed checks (15 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
|
/hold |
|
@perdasilva: This pull request references OPRUN-4691 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 story to target the "5.0.0" version, but no target version was set. DetailsIn 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. |
Enable the OLMLifecycleAndCompatibility feature gate in the Default feature set for SelfManaged clusters. Previously this gate was only enabled in TechPreviewNoUpgrade and DevPreviewNoUpgrade. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> Signed-off-by: Per G. da Silva <pegoncal@redhat.com>
6fc0456 to
a1e80c1
Compare
|
@perdasilva: The following test failed, say
Full PR test history. Your PR dashboard. DetailsInstructions 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. |
Summary
OLMLifecycleAndCompatibilityfeature gate in the Default feature set for SelfManaged clustersfeatures/features.go, generated feature gate manifests, andfeatures.md5 test rule exception request
We are requesting an exception to the 5-
It-block requirement for this test suite. The test covers five distinct scenarios but structures them asg.Bysteps within a singleItblock. The reason is architectural, not a coverage shortcut.Scenarios covered
x-acknowledge-experimentalheader → returns empty stream (experimental API contract enforced)Why a single
ItblockMeaningful functional coverage of this endpoint requires a catalog with known, controlled content. An existing cluster catalog cannot substitute: once this feature ships to Default, real catalogs will contain lifecycle data, making any query result non-deterministic and unassertable.
Building that controlled catalog image in-cluster via a
BuildConfigtakes approximately 22 seconds. Splitting into fiveItblocks would trigger a separate image build per test because:BeforeEachruns independently per node, so shared setup is not possibleBeforeAllis not an option: in Ginkgo's parallel runner it executes once per process, not once globally — with N parallel nodes we get N image buildsThe single
Itbuilds the image once, creates oneCatalogSource, opens one port-forward, and exercises all five scenarios against the same running pod. Coverage is equivalent to five separate tests.The only genuinely parallelizable addition would be an input-validation test sending syntactically invalid schema/package names against an existing catalog pod (the rejection occurs before catalog lookup and is deterministic regardless of catalog content). That path is already covered by unit tests in operator-registry, so we have not duplicated it here at the E2E layer.
Test plan
make verifypassesfeatures.md🤖 Generated with Claude Code