Skip to content
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

chore(deps) update to GWAPI 0.7.1 #4142

Merged
merged 10 commits into from
Jun 14, 2023
Merged

chore(deps) update to GWAPI 0.7.1 #4142

merged 10 commits into from
Jun 14, 2023

Conversation

rainest
Copy link
Contributor

@rainest rainest commented Jun 6, 2023

What this PR does / why we need it:

GWAPI upgrades and a conformance fix.

Which issue this PR fixes:

Fix #3726
Fix #2953
Fix #3990

Special notes for your reviewer:

kubernetes-sigs/gateway-api#1888 and kubernetes-sigs/gateway-api#1832 (comment) change expectations around statuses. This PR includes changes that adhere to the 0.7.1 conformance test informed by these changes, but it's possible we missed something not covered in conformance. GWAPI doesn't really provide an expected state flowchart for statuses (we have to go off individual condition descriptions in the API docs), which makes it a bit difficult to determine if our state changes are truly correct absent conformance tests.

Changes to conformance suite covered in:

#4166
#4165
#4164

Also skips mesh stuff but no issue for that as I assume we have no intention to implement that for Kong-based products.

PR Readiness Checklist:

Complete these before marking the PR as ready to review:

  • the CHANGELOG.md release notes have been updated to reflect any significant (and particularly user-facing) changes introduced by this PR

@codecov
Copy link

codecov bot commented Jun 6, 2023

Codecov Report

Patch coverage: 34.7% and no project coverage change.

Comparison is base (f1b345b) 60.6% compared to head (71a1e09) 60.6%.

Additional details and impacted files
@@          Coverage Diff          @@
##            main   #4142   +/-   ##
=====================================
  Coverage   60.6%   60.6%           
=====================================
  Files        150     150           
  Lines      16843   16822   -21     
=====================================
- Hits       10213   10201   -12     
+ Misses      5984    5976    -8     
+ Partials     646     645    -1     
Impacted Files Coverage Δ
internal/controllers/gateway/gateway_controller.go 12.8% <0.0%> (+0.2%) ⬆️
...ternal/controllers/gateway/grpcroute_controller.go 8.8% <0.0%> (ø)
...ternal/controllers/gateway/httproute_controller.go 51.4% <0.0%> (+0.9%) ⬆️
...nternal/controllers/gateway/tcproute_controller.go 8.6% <0.0%> (ø)
...nternal/controllers/gateway/tlsroute_controller.go 8.8% <0.0%> (ø)
...nternal/controllers/gateway/udproute_controller.go 8.6% <0.0%> (ø)
internal/dataplane/parser/parser.go 74.8% <0.0%> (-0.6%) ⬇️
internal/util/conditions.go 100.0% <ø> (ø)
internal/controllers/gateway/gateway_utils.go 43.9% <50.0%> (-0.9%) ⬇️
internal/controllers/gateway/route_utils.go 76.8% <50.0%> (ø)
... and 2 more

... and 1 file with indirect coverage changes

☔ View full report in Codecov by Sentry.
📢 Do you have feedback about the report comment? Let us know in this issue.

@pull-request-size pull-request-size bot added size/M and removed size/S labels Jun 6, 2023
@pull-request-size pull-request-size bot added size/L and removed size/M labels Jun 7, 2023
@rainest rainest force-pushed the chore/gwapi-upgrade branch 11 times, most recently from e1da095 to a125cfd Compare June 12, 2023 23:50
@rainest rainest marked this pull request as ready for review June 13, 2023 00:34
@rainest rainest requested a review from a team as a code owner June 13, 2023 00:34
go.mod Show resolved Hide resolved
internal/controllers/gateway/gateway_utils.go Outdated Show resolved Hide resolved
CHANGELOG.md Outdated Show resolved Hide resolved
rainest and others added 6 commits June 13, 2023 11:56
Use the Programmed reason instead of Ready for valid Listeners.

Apply the Accepted condition to Listeners when it is true, instead of
only when it is false. This is an additional conformance requirement.

GWAPI 0.7 kinda deprecated Ready per:
https:/kubernetes-sigs/gateway-api/blob/v0.7.1/apis/v1beta1/gateway_types.go#L880-L897

Although Programmed does not replace Ready and was already present, we
should not use Ready until its status is decided. As Programmed precedes
ready (Programmed indicates that a Listener is available in
configuration, whereas Ready means that the configuration is definitely
live--difficult to determine in an eventually consistent environment),
it is suitable for checks where we previously used Ready.
Following kubernetes-sigs/gateway-api#1877 the
Ready condition is effectively deprecated. Programmed is appropriate for
cases where we used Ready as it represents a state where Readiness is
expected based on submitted configuration.
Skip a conformance test that fails because it requires a non-standard
port not exposed by our test Gateway.

Skip an unclear rule precedence test. Although the requirement is
unclear, it is unlikely that the controller can address this, as
precedence is governed by Kong.

Skip the HTTP mirroring conformance test. This extended feature is not
supported.
Co-authored-by: Patryk Małek <[email protected]>
@rainest rainest requested a review from pmalek June 13, 2023 19:02
@rainest rainest enabled auto-merge (rebase) June 13, 2023 19:03
@rainest
Copy link
Contributor Author

rainest commented Jun 13, 2023

More rebases since something happened in main that Github thought was a conflict, but wasn't? Dunno, fetch and rebase to origin/main didn't actually raise any conflicts in test/envtest/httproute_controller_test.go, which is the file Github didn't like.

CHANGELOG.md Show resolved Hide resolved
@rainest rainest requested a review from pmalek June 14, 2023 00:33
@pmalek pmalek added area/gateway-api Relating to upstream Kubernetes SIG Networking Gateway API dependencies Pull requests that update a dependency file labels Jun 14, 2023
@rainest rainest merged commit 83713d4 into main Jun 14, 2023
@rainest rainest deleted the chore/gwapi-upgrade branch June 14, 2023 08:59
@pmalek pmalek added this to the KIC v2.11.0 milestone Jun 14, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/gateway-api Relating to upstream Kubernetes SIG Networking Gateway API dependencies Pull requests that update a dependency file size/L
Projects
None yet
2 participants