Skip to content

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
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