CNTRLPLANE-3609: graduate etcdBackendQuota to GA#2946
Conversation
|
Pipeline controller notification For optional jobs, comment This repository is configured in: LGTM mode |
|
@dusk125: This pull request references CNTRLPLANE-3609 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. |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository YAML (base), Central YAML (inherited) Review profile: CHILL Plan: Enterprise Run ID: 📒 Files selected for processing (6)
📝 WalkthroughWalkthroughUpdated the Suggested reviewers: 🚥 Pre-merge checks | ✅ 14 | ❌ 1❌ Failed checks (1 inconclusive)
✅ Passed checks (14 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Warning There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure. 🔧 Checkov (3.3.8)payload-manifests/featuregates/featureGate-4-10-Hypershift-Default.yamlTraceback (most recent call last): payload-manifests/featuregates/featureGate-4-10-Hypershift-OKD.yamlTraceback (most recent call last): payload-manifests/featuregates/featureGate-4-10-SelfManagedHA-Default.yamlTraceback (most recent call last):
🔧 golangci-lint (2.12.2)Error: build linters: unable to load custom analyzer "kubeapilinter": tools/_output/bin/kube-api-linter.so, plugin: not implemented Comment |
|
/cc @atiratree @bhperry |
|
Hello @dusk125! Some important instructions when contributing to openshift/api: |
PR Summary by QodoGraduate EtcdBackendQuota feature gate to GA defaults
AI Description
Diagram
High-Level Assessment
Files changed (6)
|
|
[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 |
Code Review by Qodo
1. No CRDs for tests
|
| enhancementPR("https://github.com/openshift/enhancements/pull/2031"). | ||
| enable(inDefault(), inOKD(), inTechPreviewNoUpgrade(), inDevPreviewNoUpgrade()). |
There was a problem hiding this comment.
1. No crds for tests 🐞 Bug ☼ Reliability
EtcdBackendQuota is now enabled for all shipped feature sets (Default/OKD/TechPreview/DevPreview),
but etcd API validation suites still require it disabled ("-EtcdBackendQuota"), causing the suite
loader to find zero matching CRD manifests and abort. This breaks
operator/v1/tests/etcds.operator.openshift.io/AAA_ungated.yaml and HardwareSpeed.yaml selection via
tests/crd_filter.go filtering logic.
Agent Prompt
### Issue description
Etcd API validation suites for etcd still require `-EtcdBackendQuota`, but the PR enables `EtcdBackendQuota` in Default/OKD (and it is already enabled in DevPreview/TechPreview). The test generator filters CRDs based on payload featuregate enablement; after this PR there are no matching CRD manifests where the gate is disabled, so suite loading fails.
### Issue Context
- `AAA_ungated.yaml` and `HardwareSpeed.yaml` are currently pinned to run only when `EtcdBackendQuota` is disabled.
- After GA graduation, the gate is enabled everywhere; the tests should become ungated (remove the `featureGates` constraint) or be rewritten to target the correct (now-unconditional) schema.
### Fix Focus Areas
- operator/v1/tests/etcds.operator.openshift.io/AAA_ungated.yaml[2-18]
- operator/v1/tests/etcds.operator.openshift.io/HardwareSpeed.yaml[2-41]
ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools
| { | ||
| "name": "EtcdBackendQuota" | ||
| }, |
There was a problem hiding this comment.
2. Crds not regenerated 🐞 Bug ≡ Correctness
The payload featuregate manifests now enable EtcdBackendQuota for Default/OKD, but the checked-in generated etcd CRDs for those feature sets still omit spec.backendQuotaGiB, so the GA field is not actually present in the Default/OKD structural schemas. This creates a mismatch where featuregate configuration says the gate is enabled but the shipped CRD schema doesn’t include the gated field (contrast with DevPreview/TechPreview CRDs which do include it).
Agent Prompt
### Issue description
After enabling `EtcdBackendQuota` in Default/OKD feature sets, the generated CRD manifests for etcd in those feature sets must include the gated `spec.backendQuotaGiB` field (and its default/validation). The repo currently has Default/OKD etcd CRDs that still lack this field.
### Issue Context
- The DevPreviewNoUpgrade CRD already contains `backendQuotaGiB`, demonstrating the partial schema exists and merges when the gate is enabled.
- Default/OKD etcd CRD manifests should now match that schema inclusion.
### Fix Focus Areas
- operator/v1/zz_generated.crd-manifests/0000_12_etcd_01_etcds-Default.crd.yaml[35-120]
- operator/v1/zz_generated.crd-manifests/0000_12_etcd_01_etcds-OKD.crd.yaml[1-120]
- payload-manifests/featuregates/featureGate-4-10-Hypershift-Default.yaml[291-340]
- payload-manifests/featuregates/featureGate-4-10-Hypershift-OKD.yaml[315-334]
- features/features.go[221-227]
ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools
|
@dusk125: The following tests 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. |
No description provided.