Skip to content

Backport of [NET-6305] xds: Ensure v2 route match and protocol are populated for gRPC into release/1.17.x#19366

Merged
zalimeni merged 2 commits into
release/1.17.xfrom
backport/zalimeni/fix-grpc-route/awfully-modern-sunfish
Oct 25, 2023
Merged

Backport of [NET-6305] xds: Ensure v2 route match and protocol are populated for gRPC into release/1.17.x#19366
zalimeni merged 2 commits into
release/1.17.xfrom
backport/zalimeni/fix-grpc-route/awfully-modern-sunfish

Conversation

@hc-github-team-consul-core
Copy link
Copy Markdown
Collaborator

Backport

This PR is auto-generated from #19343 to be assessed for backporting due to the inclusion of the label backport/1.17.

The below text is copied from the body of the original PR.


  • Similar to HTTP, ensure that route match config (which is required by Envoy) is populated when default values are used.
  • Ensure protocol set for gRPC inbound/outbound resources

Description

  • Because the default matches generated for gRPC contain a single empty GRPCRouteMatch, and that proto does not directly support prefix-based config, an interpretation of the empty struct is needed to generate the same output that the HTTPRouteMatch is explicitly configured to provide in internal/mesh/internal/controllers/routes/generate.go.

  • Add explicit protocol in ProxyStateTemplate builders and validate it
    is always set on clusters. This ensures that HTTP filters and
    http2_protocol_options are populated in all the necessary places for
    gRPC traffic and prevents future unintended omissions of non-TCP
    protocols.

PR Checklist

  • updated test coverage
  • external facing docs updated
  • appropriate backport labels added
  • not a security concern

Overview of commits

@hc-github-team-consul-core hc-github-team-consul-core requested a review from a team as a code owner October 25, 2023 17:44
@hc-github-team-consul-core hc-github-team-consul-core requested a review from a team October 25, 2023 17:44
@hc-github-team-consul-core hc-github-team-consul-core force-pushed the backport/zalimeni/fix-grpc-route/awfully-modern-sunfish branch from a6049ae to e2c64cc Compare October 25, 2023 17:44
@hc-github-team-consul-core hc-github-team-consul-core removed the request for review from a team October 25, 2023 17:44
@hc-github-team-consul-core hc-github-team-consul-core force-pushed the backport/zalimeni/fix-grpc-route/awfully-modern-sunfish branch from 8d87e83 to 782bcdb Compare October 25, 2023 17:44
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Auto approved Consul Bot automated PR

@github-actions github-actions Bot added type/docs Documentation needs to be created/updated/clarified theme/api Relating to the HTTP API interface theme/acls ACL and token generation theme/cli Flags and documentation for the CLI interface theme/config Relating to Consul Agent configuration, including reloading theme/ui Anything related to the UI theme/connect Anything related to Consul Connect, Service Mesh, Side Car Proxies type/ci Relating to continuous integration (CI) tooling for testing or releases pr/dependencies PR specifically updates dependencies of project theme/envoy/xds Related to Envoy support theme/contributing Additions and enhancements to community contributing materials labels Oct 25, 2023
@zalimeni zalimeni disabled auto-merge October 25, 2023 18:46
@zalimeni zalimeni force-pushed the backport/zalimeni/fix-grpc-route/awfully-modern-sunfish branch from 782bcdb to 8572f73 Compare October 25, 2023 18:51
@zalimeni zalimeni enabled auto-merge (squash) October 25, 2023 18:51
@zalimeni zalimeni merged commit e6c6814 into release/1.17.x Oct 25, 2023
@zalimeni zalimeni deleted the backport/zalimeni/fix-grpc-route/awfully-modern-sunfish branch October 25, 2023 19:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

pr/dependencies PR specifically updates dependencies of project theme/acls ACL and token generation theme/api Relating to the HTTP API interface theme/cli Flags and documentation for the CLI interface theme/config Relating to Consul Agent configuration, including reloading theme/connect Anything related to Consul Connect, Service Mesh, Side Car Proxies theme/contributing Additions and enhancements to community contributing materials theme/envoy/xds Related to Envoy support theme/ui Anything related to the UI type/ci Relating to continuous integration (CI) tooling for testing or releases type/docs Documentation needs to be created/updated/clarified

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants