Draft: NE-2823: Promote Multi HAProxy Versions feature to default#2947
Draft: NE-2823: Promote Multi HAProxy Versions feature to default#2947jcmoraisjr wants to merge 1 commit into
Conversation
Promote the IngressControllerMultipleHAProxyVersions feature gate to the default featureset. https://redhat.atlassian.net/browse/NE-2823
|
Pipeline controller notification For optional jobs, comment This repository is configured in: LGTM mode |
|
@jcmoraisjr: This pull request references NE-2823 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. |
📝 WalkthroughWalkthrough
Suggested reviewers: 🚥 Pre-merge checks | ✅ 15✅ Passed checks (15 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
|
Hello @jcmoraisjr! Some important instructions when contributing to openshift/api: |
PR Summary by QodoPromote IngressControllerMultipleHAProxyVersions to default feature set
AI Description
Diagram
High-Level Assessment
Files changed (8)
|
|
[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
Context used✅ Compliance rules (platform):
29 rules✅ Skills:
api-review 1. 5.0-only value exposed
|
| productScope(ocpSpecific). | ||
| enhancementPR("https://github.com/openshift/enhancements/pull/1965"). | ||
| enable(inDevPreviewNoUpgrade(), inTechPreviewNoUpgrade()). | ||
| enable(inDefault(), inOKD(), inDevPreviewNoUpgrade(), inTechPreviewNoUpgrade()). |
There was a problem hiding this comment.
1. 5.0-only value exposed 🐞 Bug ≡ Correctness
IngressControllerMultipleHAProxyVersions is now enabled for the Default and OKD feature sets without any OpenShift major-version constraint, which makes spec.haproxyVersion accept "3.2" even on payloads that target major version 4. This contradicts the API documentation that describes HAProxy 3.2 as introduced in OpenShift 5.0 and can let OpenShift 4.x clusters pass API validation with a value that may not be supported by that release’s ingress payload/operator logic.
Agent Prompt
### Issue description
The feature gate `IngressControllerMultipleHAProxyVersions` is now enabled in `Default` and `OKD` for all generated OpenShift major versions, but the API type/doc explicitly describes HAProxy `3.2` as an OpenShift 5.0 introduction. This means OpenShift major version 4 payloads will advertise and validate a value (`"3.2"`) that is documented as 5.0-only.
### Issue Context
- The feature-gate payloads are annotated for major versions `4,5,6,7,8,9,10`.
- The `HAProxyVersion` type is enum-constrained to `"2.8";"3.2"`.
- The `haproxyVersion` field description states HAProxy 3.2 is the OpenShift 5.0 default.
### Fix Focus Areas
- features/features.go[677-683]
### How to fix
Update the feature gate registration to only enable this gate in `Default`/`OKD` for OpenShift major version >= 5 (e.g., by adding `inVersion(5, greaterThanOrEqual)` to the enable options for `inDefault()` and `inOKD()`), or otherwise make the exposed/validated values release-aware so major version 4 payloads do not validate/advertise `"3.2"` as a supported setting.
ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools
|
@jcmoraisjr: 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. |
Promote the IngressControllerMultipleHAProxyVersions feature gate to the default featureset.
https://redhat.atlassian.net/browse/NE-2823