-
Notifications
You must be signed in to change notification settings - Fork 306
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
Convert to use V1 Ingress API #1416
Conversation
Skipping CI for Draft Pull Request. |
/cc @prameshj @skmatti @spencerhance |
@swetharepakula: GitHub didn't allow me to request PR reviews from the following users: skmatti, spencerhance. Note that only kubernetes members and repo collaborators can review this PR, and authors cannot review their own PRs. In 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 kubernetes/test-infra repository. |
in main.go, I'd suggest replacing this:
with a check that requires v1 Ingress and IngressClass and exits with an error if those APIs aren't available, rather than acquiring leader election |
60bc150
to
8aa8661
Compare
8aa8661
to
083229e
Compare
c176fcc
to
1d04584
Compare
is there a check early in main.go now to ensure that v1 Ingresses are supported? would that make sense to add to ensure we don't get in a state where we're running with v1 informers that won't sync (xref kubernetes/kubernetes#99840 (comment)) also, this appears to be blocking a successful run of the kubernetes/kubernetes PR that tests without any beta APIs enabled (the gce cluster won't start with this controller crashlooping on extensions/v1beta1 being missing) |
1d04584
to
7db975b
Compare
There was one more call to ExtensionsV1beta1() that I missed: https://github.com/kubernetes/ingress-gce/blob/master/cmd/glbc/app/namer.go#L164 which was causing the failure in #99840. I have fixed it in this PR. Once this is merged and a release is cut I will update the image being used in the glbc addon. |
e0968f1
to
1dbe4ba
Compare
99e2c71
to
8846efa
Compare
8846efa
to
70d17f1
Compare
Only unaddressed comment is about the startup checks for IngressClass and the IngressGAFields. Since this is already a large PR with a lot of subtle changes, I will address the remaining comment in a followup PR. Otherwise I think this PR is ready for a final set of reviews and is almost ready to be merged. |
70d17f1
to
4de554b
Compare
/lgtm |
- falls back to the v1beta1 API if V1 is not available
- cmd/fuzzer was converted to use the V1 API solely
- skip processing backend when service is nil - return error when a non-service backend is specified on a GCE Ingress
4de554b
to
fd1d362
Compare
/lgtm |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: freehan, swetharepakula 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 |
happy to see the land. is the next step a v1.11.2 and a bump in kubernetes/kubernetes? |
We will be cutting a 1.12 release soon. Just finishing up some testing before we cut the tag so should be ready in about a day. |
kubernetes/kubernetes#101772 updates the glbc image which should unblock kubernetes/kubernetes#99840 |
This is a large PR and touches many parts of the code. Currently it is based on #1415 , which I will update soon.
While reviewing please keep the following in mind:
1. E2E tests
2. Ingress Resource Changes
Service.Port
(on the Ingress resource) used to be oftype IntOrString
, but now it is:.String()
on that port as before it would return the value in string format but now will return the entire struct3. Any accidental change in behavior due to the conversion or the Service.Port change that was made
4. Backend services in the Ingress spec can now be nil