-
Notifications
You must be signed in to change notification settings - Fork 8.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
add ingressClass option to helm chart - back compatibility with ingress.class annotations #8136
Conversation
@tombokombo: This issue is currently awaiting triage. If Ingress contributors determines this is a relevant issue, they will accept it by applying the The 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/test-infra repository. |
Hi @tombokombo. Thanks for your PR. I'm waiting for a kubernetes member to verify that this patch is reasonable to test. If it is, they should reply with Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. 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/test-infra repository. |
@tombokombo , thank you for your contribution. It helps. (1) Please create a issue first and move the description you have sown here to that issue. The topic you have raised could be much more complicated in terms of the design, implementation, current state of the code and future roadmap. Potentially there could be discussions involved and comments from others. Hence tracking all that on a issue will help. If you are a developer, please also look at the code and make any comments on the current implementation, with regard to the change you are sugesting. Thanks. |
@longwuyuan let me intervene on this one :D We've been struggling a lot with this ingress class things, and how this thing reflected to the users. Right now I understand that the proposed PR rollbacks something that we "deprecated" on past and "undeprecated" when we added the "ingress-class-by-name" so it is something missing on the helm charts. The ingress class problem is much more complicated that it seems, and I've been really thinking on rollback all the deprecations we followed and say "ok, we are going to support again annotations OR ingressClass and wont say that annotations are deprecated anymore". This probably is going to solve a lot of headaches we've had recently. This discussion was ongoing on sig-network in Slack, and my PERSONAL opinion is that although we need an ingressclass object, probably our timing wasn't good and it is what it is now, with a lot of broken deployments :) As far as I can see from GatewayAPI development, this wont be a problem I wont be present on our next ingress-nginx meeting as I have a community event here, BUT I really want to bring this discussion back. @strongjz @ElvinEfendi we should discuss this, I know the effort for ingressclass from kubernetes api and from our side was huge, but we need to make it better for our users (I'm saying from my side specifically!) |
/ok-to-test |
/lgtm cancel |
@tombokombo we need to update the helm docs now when a new option is added. Please see: https://github.com/kubernetes/ingress-nginx/blob/main/RELEASE.md#d-edit-the-valuesyaml-and-run-helm-docs @longwuyuan as we are using now helm-docs it would be good if in Makefile we have a "make helm-docs" that downloads the release from https://github.com/norwoodj/helm-docs/releases/tag/v1.5.0 (or the latest available) and generates all for the users. Can you tackle on that with someone? Thanks! |
/approve |
@tombokombo , based on @rikatz comments, let me know if you want help with running helm-docs on your clone, of your fork, to commit a updated /charts/ingress-nginx/README.md in your clone. That will potentially circumvent some confusion we have right now in the helm-docs part of the CI pipeline and thus get this PR ready for merging. |
97d9e1e
to
abf79a3
Compare
@longwuyuan now, it should be Ok. |
@rikatz , I think we need to use that bot option to squash commits here. Unless @tombokombo you want to squash commits in your fork |
abf79a3
to
e9d6c1b
Compare
@longwuyuan ok, squashed. |
Thank you very much for squashing. Thank you very much for contribution. Also, have been keen on improving the changelog so can you retitle your PR to something more co-herent like "add ingress.class annotation to helm chart" or something of that kind. |
@longwuyuan title changed and regarding bumping chart vers, some ci expects it, some not, but as I remember correctly, I've checked some merged PR here and there was bump... |
True. The PRs created as part of the RELEASE.md process will bump the Chart version as documented in RELEASE.md. |
Let's release this :) I'm good with the bump Just be aware the badge on the README.md seems to be pointing to the wrong chart version (or I may be wrong, which happens a lot when I'm reviewing PRs on cell phone) @longwuyuan feel free to follow on this and lgtm /approve |
ok. @tombokombo please rebase if needed and run helm-docs once again, in your local clone. @rikatz comment is very important about the badge in README.md and AFAIK, that badge updates only and only after a certain process. I forgot how the badge changed (was after helmdocs or was it after release not sure). Please feel free to ping me on slack and I can help do the needful to get this merged asap. This will help a lot of users. |
@tombokombo rebase is needed now |
e9d6c1b
to
239994e
Compare
@longwuyuan rebased |
Thanks. Can you run helm-docs on your laptop clone as per documentation in
RELEASE.md please. I am on slack also if you want.
Thanks,
; Long
…On Sun, 30 Jan, 2022, 6:28 PM Tomas Hulata, ***@***.***> wrote:
@longwuyuan <https://github.com/longwuyuan> rebased
—
Reply to this email directly, view it on GitHub
<#8136 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABGZVWVOWPADHFBQM4WQKVLUYUYX3ANCNFSM5L2HM6DA>
.
Triage notifications on the go with GitHub Mobile for iOS
<https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675>
or Android
<https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
Signed-off-by: tombokombo <tombo@sysart.tech>
239994e
to
fc30e00
Compare
@longwuyuan docs fixed |
Thank you very much. We need to add. 16 and. 17 changelog and then do a
helmchart release. Hopefully we will be able to do that soon. Regards.
Thanks,
; Long
…On Sun, 30 Jan, 2022, 8:11 PM Tomas Hulata, ***@***.***> wrote:
@longwuyuan <https://github.com/longwuyuan> docs fixed
—
Reply to this email directly, view it on GitHub
<#8136 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABGZVWRKVFCNN6VHA6PY2W3UYVEYJANCNFSM5L2HM6DA>
.
Triage notifications on the go with GitHub Mobile for iOS
<https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675>
or Android
<https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
@rikatz / @tombokombo |
I will try to explain: ingressClass option is way how to support Ingress object annotations. IngressClassByName option is related to IngressClass object, there you are defining relation between ingressClassName field in Ingress object and ingress-controller. Controller should be specified in ingressClass spec.controller field, but some 3.X versions of helm chart has this field hard-coded and unfortunately this field is immutable ( https://github.com/kubernetes/ingress-nginx/blob/helm-chart-3.34.0/charts/ingress-nginx/templates/controller-ingressclass.yaml#L21 ). Some deployments are stucked with this ingressClass definition and they need ingressClassByName till they somehow solve this ( eg. delete and recreate ingressClass object ). |
/lgtm |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: rikatz, tombokombo The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
Signed-off-by: tombokombo <tombo@sysart.tech>
What this PR does / why we need it:
Types of changes
Which issue/s this PR fixes
Hi, according networking.k8s.io/v1 specification for ingressClassName
and
it gives impression that ingress.class annotation should still work "out-of-box". But is not, we need to specify --ingress-class argument for controller, which must be provided as extraArgs. I suggest to bring back .Values.controller.ingressClass as it was in 3.X and older charts. This could be done at least for chart version in 4.0.X for smoother chart upgrades and nondisruptive migration to IngressClass and respective IngressClassName field.
Thx
How Has This Been Tested?
Checklist: