-
Notifications
You must be signed in to change notification settings - Fork 173
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 CATs for HTTP/2 and gRPC apps #473
Conversation
- Will be used for upcoming test for end-to-end HTTP/2 routing - Serves h2c (HTTP/2 over cleartext) traffic and will error if sent non HTTP/2 traffic [cloudfoundry/routing-release#200] Co-authored-by: Greg Cobb <gcobb@vmware.com>
- Add new suite for HTTP/2 CATs - Currently passing using spike from cloudfoundry/routing-release#200 (comment) - Likely to change with full implementation - Extract `GetRouteGuid` v3 helper from multiple_app_ports test [cloudfoundry/routing-release#200] Co-authored-by: Carson Long <lcarson@vmware.com> Co-authored-by: Belinda Liu <lbelinda@vmware.com>
- Includes a new gRPC test app - Updates vendor with dependencies needed for making gRPC requests - Currently proto files are copied into the helpers directory from the assets/grpc/test directory as a work-around to import issues. - This test will only pass on environment that have true end-to-end HTTP/2 (including load balancer ingress and egress). Be careful. [cloudfoundry/routing-release#200] Co-authored-by: Greg Cobb <gcobb@vmware.com>
We have created an issue in Pivotal Tracker to manage this: https://www.pivotaltracker.com/story/show/178906291 The labels on this github issue will be updated when the story is started. |
Also, let us know if you want us to exclude the |
These tests were previously written against a spike implementation. We now have a complete implementation with a slightly different field on the API to configure end-to-end HTTP/2 for route destinations. [cloudfoundry/routing-release#200] Co-authored-by: Michael Oleske <moleske@vmware.com>
- HTTP/2 test suite was no longer passing due to incorrect start commands. Not sure if this was due to a change in the golang buildpacks. - Fix by removing explicit start commands from `cf push` in HTTP/2 tests - Unify pattern for how we push the HTTP/2 and gRPC sample apps - Update gRPC go.mod file [cloudfoundry/routing-release#200] Authored-by: Greg Cobb <gcobb@pivotal.io>
@davewalter All the components we need for http2 has made it through the cf-deployment pipeline. Can we have this merged? We probably want to test this on |
Are you submitting this PR against the develop branch?
Yes
What is this change about?
Add CATs for HTTP/2 and gRPC routing for applications.
Please provide contextual information.
Root issue: cloudfoundry/routing-release#200
This is part of a larger effort to add HTTP/2 support for app routing.
What version of cf-deployment have you run this cf-acceptance-test change against?
v16.17.0 on a bosh lite and v16.18.0 on a full (GCP) deployment
Please check all that apply for this PR:
Did you update the README as appropriate for this change?
If you are introducing a new acceptance test, what is your rationale for including it CATs rather than your own acceptance test suite?
HTTP/2 support is core functionality for Cloud Foundry. Its implementation spans multiple releases (at least
capi-release
,diego-release
, androuting-release
).How should this change be described in cf-acceptance-tests release notes?
Add tests for HTTP/2 and gRPC routing.
How many more (or fewer) seconds of runtime will this change introduce to CATs?
What is the level of urgency for publishing this change?
We are still working on finalizing and releasing the underlying implementation -- hence the draft PR. We would love to hear any feedback y'all have.
Tag your pair, your PM, and/or team!
@belinda-liu @ctlong @evanfarrar