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

[DO NOT MERGE] Test upgrade gateway API to v1.0.0-rc2 #1169

Closed
wants to merge 6 commits into from

Conversation

ciarams87
Copy link
Contributor

@ciarams87 ciarams87 commented Oct 20, 2023

Proposed changes

Problem:
Uncertainty if an upgrade Gateway API v1.0.0-rc2 breaks anything

Solution:

  • Update the Gateway API dependency to v1.0.0-rc2
  • Update GatewayClass, Gateway, and HTTPRoute to v1
  • Update conformance related files

Testing:
Ran unit-tests, conformance tests, and checked all examples work (using both v1beta1 and v1 manifests)

One conformance test is failing - TestConformance/GatewayWithAttachedRoutes/Gateway_listener_should_have_AttachedRoutes_set_even_when_Gateway_has_unresolved_refs. We have a ticket to address this: #1148 .

Note: ReferenceGrant is not moving to v1 with this bump

Note: As I mostly did a copy and replace of a lot of the v1beta1 references in the code, many of the docs changes etc are also included here. We can hopefully use this branch as a starting point when we do bump to v1.

Closes #1144

Checklist

Before creating a PR, run through this checklist and mark each as complete.

  • I have read the CONTRIBUTING doc
  • I have added tests that prove my fix is effective or that my feature works
  • I have checked that all unit tests pass after adding my changes
  • I have updated necessary documentation
  • I have rebased my branch onto main
  • I will ensure my PR is targeting the main branch and pulling from my branch from my own fork

@github-actions github-actions bot added dependencies Pull requests that update a dependency file documentation Improvements or additions to documentation tests Pull requests that update tests labels Oct 20, 2023
@sjberman
Copy link
Collaborator

If we create a v1beta1 Gateway resource in k8s, does our controller still process it? Thinking of backwards compatibility.

@ciarams87
Copy link
Contributor Author

If we create a v1beta1 Gateway resource in k8s, does our controller still process it? Thinking of backwards compatibility.

@sjberman Yep, I tested both v1 and v1beta1 resource manifests when deploying the examples (it's mentioned in the PR description but I might not have been very clear 😆)

@sjberman
Copy link
Collaborator

@ciarams87 Oh thanks, I brushed through the description too fast!

@ciarams87 ciarams87 changed the title [DO) NOT MERGE] Test upgrade gateway API to v1.0.0-rc1 [DO NOT MERGE] Test upgrade gateway API to v1.0.0-rc1 Oct 20, 2023
Copy link
Contributor

@pleshakov pleshakov left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

checked all examples work (using both v1beta1 and v1 manifests)

nice! thanks for thorough testing 👍

@@ -48,7 +48,6 @@ load-images: ## Load NGF and NGINX images on configured kind cluster
.PHONY: prepare-ngf-dependencies
prepare-ngf-dependencies: update-ngf-manifest ## Install NGF dependencies on configured kind cluster
./scripts/install-gateway.sh $(GW_API_VERSION)
kubectl wait --for=condition=available --timeout=60s deployment gateway-api-admission-server -n gateway-system
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what is the reason for removing wait here and in ci.yaml?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It was a quick fix for testing purposes - they removed default installation of Gateway API admission server and related resources (because of the move to using CEL validation instead). We'll actually want to update to optionally install these resources for cases where the k8s version is <1.26. See kubernetes-sigs/gateway-api#2400

design/resource-validation.md Outdated Show resolved Hide resolved
docs/guides/routing-traffic-to-your-app.md Outdated Show resolved Hide resolved
internal/mode/static/state/change_processor.go Outdated Show resolved Hide resolved
@@ -62,7 +62,7 @@ const (
//
// FIXME(bjee19): Update to Gateway sig v1 version when released.
// https://github.com/nginxinc/nginx-gateway-fabric/issues/1168
RouteConditionPartiallyInvalid v1beta1.RouteConditionType = "PartiallyInvalid"
RouteConditionPartiallyInvalid v1.RouteConditionType = "PartiallyInvalid"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ciarams87 ciarams87 changed the title [DO NOT MERGE] Test upgrade gateway API to v1.0.0-rc1 [DO NOT MERGE] Test upgrade gateway API to v1.0.0-rc2 Oct 26, 2023
@github-actions github-actions bot added the helm-chart Relates to helm chart label Nov 6, 2023
@ciarams87 ciarams87 force-pushed the test/gw-1.0.0-rc1 branch 2 times, most recently from 335a253 to 307814d Compare November 6, 2023 09:47
@ciarams87
Copy link
Contributor Author

Closing this in favour of #1148 and #1230

@ciarams87 ciarams87 closed this Nov 6, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file documentation Improvements or additions to documentation helm-chart Relates to helm chart tests Pull requests that update tests
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Test Gateway API 1.0.0 rc 1
4 participants