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

add ClientDefaultListenerResourceNameTemplate when used with --include-xdstp-name-in-lds-experimental #57

Conversation

arvindbr8
Copy link
Member

--include-xdstp-name-in-lds-experimental currently only adds in the TDOM authority to the authorities map. For xDS dial targets without an authority to default to the new xDSTP style name and use the TDOM authority, the flag should add client_default_listener_resource_name_template to the config.

Behavior changes to gRPC client after this change:

Example 1: When no authority specified in dial target

If a gRPC client channel is created for xds:server.example.com

  • The target URI specifies no authority, so we use the client_default_listener_resource_name_template field. The resulting resource name will be xdstp://traffic-director-global.xds.googleapis.com/envoy.config.listener.v3.Listener/123456789012345/thedefault/server.example.com.
  • The resource name specifies the TDOM authority, so that's the entry we use from the authorities map.
  • We do not use the client_listener_resource_name_template field in the authorities entry, since we've already used the top-level client_default_listener_resource_name_template field to construct the resource name.
  • The xds_server list is not specified in the entry for the authority, so we default to the top-level xds_server list, which is the same one that we would have used prior to this design.
Example 2: When TDOM authority specified in dial target

If a gRPC client channel is created for xds://traffic-director-global.xds.googleapis.com/server.example.com

  • The resource name specifies the TDOM authority, so that's the entry we use from the authorities map.
  • We use the client_listener_resource_name_template field in the authorities entry to construct the resource name which results in xdstp://traffic-director-global.xds.googleapis.com/envoy.config.listener.v3.Listener/123456789012345/thedefault/server.example.com.
  • The xds_server list is not specified in the entry for the authority, so we default to the top-level xds_server list, which is the same one that we would have used prior to this design.

Path to stabilizing this flag:

  • Setup a simple PSM setup in GCP
  • Verify with grpcurl for the 2 types of dial targets (with and without authority)

@arvindbr8 arvindbr8 added the enhancement New feature or request label Feb 9, 2024
@arvindbr8 arvindbr8 requested a review from ejona86 February 9, 2024 02:11
@arvindbr8 arvindbr8 merged commit c53528b into GoogleCloudPlatform:master Feb 9, 2024
2 checks passed
@arvindbr8 arvindbr8 deleted the add_client_default_LDS_tempalte branch February 9, 2024 17:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants