-
Notifications
You must be signed in to change notification settings - Fork 690
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
Gateway API: set TCPRoute and UDPRoute status #4143
Conversation
Contour does not support Gateway API's TCPRoute or UDPRoute. This PR sets a condition of "Accepted: false" on all TCPRoutes & UDPRoutes referencing a Contour Gateway. Closes projectcontour#3441. Closes projectcontour#3442. Signed-off-by: Steve Kriss <krisss@vmware.com>
Codecov Report
@@ Coverage Diff @@
## main #4143 +/- ##
==========================================
- Coverage 74.64% 72.81% -1.84%
==========================================
Files 112 115 +3
Lines 9722 9964 +242
==========================================
- Hits 7257 7255 -2
- Misses 2309 2553 +244
Partials 156 156
|
Signed-off-by: Steve Kriss <krisss@vmware.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It makes sense to me to set this to tell the user what's going on (but doesn't mean that upstream agrees).
The docs (https://gateway-api.sigs.k8s.io/v1alpha2/references/spec/#gateway.networking.k8s.io/v1alpha2.RouteParentStatus) say that we shouldn't set a status. 🤷
There are a number of cases where the “Accepted” condition may not be set due to lack of controller visibility, that includes when:
- The Route is of a type that the controller does not support.
Heh, hadn't noticed that. I do think setting it is useful, and to be fair the API spec says "may not be set" rather than "must not be set", so I think it's probably OK if we do, just not required. |
Yeah, I think that upstream direction is suffering from overload of MAY - in this case it's pointing out that it's not always possible to guarantee that you'll see everything that you don't support. I agree that it could use clarification to say that if you have Routes attached to a Gateway whose controller doesn't support them, that controller must update the status to tell you so. I'll work on an upstream change for that. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This LGTM with a couple of small doc and style nits. Those are definitely non-blocking though.
Signed-off-by: Steve Kriss <krisss@vmware.com>
Contour does not support Gateway API's
TCPRoute or UDPRoute. This PR sets a
condition of "Accepted: false" on all
TCPRoutes & UDPRoutes referencing a
Contour Gateway.
Closes #3441.
Closes #3442.
Signed-off-by: Steve Kriss krisss@vmware.com