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

xds: send no-overprovisioning client capability and populate user_agent fields #22147

Merged
merged 9 commits into from Feb 27, 2020

Conversation

markdroth
Copy link
Member

@markdroth markdroth commented Feb 26, 2020

This changes the xds client to send the new client capability introduced to xds in envoyproxy/envoy#10136. We also now populate the new user_agent_name and user_agent_version fields.

This change is a bit bloated, because it required updating the envoy-api, protoc-gen-validate, and udpa submodules and regenerating all of the upb codegen files. The only substantive changes are in the following files:

  • xds_api.{h,cc}
  • xds_client.{h,cc}
  • xds_end2end_test.cc

@markdroth markdroth added the release notes: no Indicates if PR should not be in release notes label Feb 26, 2020
@markdroth markdroth changed the title xds: send envoy.lb.does_not_support_overprovisioning client capability xds: send no-overprovisioning client capability and populate user_agent fields Feb 26, 2020
CreateDiscoveryRequest(arena.ptr(), kLdsTypeUrl, version, nonce, error);
// Populate node.
if (populate_node) {
envoy_api_v2_core_Node* node_msg =
Copy link
Contributor

Choose a reason for hiding this comment

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

suggesting passing request into PopulateNode and move
envoy_api_v2_core_Node* node_msg =
envoy_api_v2_DiscoveryRequest_mutable_node(request, arena.ptr());
into PopulateNode in all 4 places

Copy link
Member Author

Choose a reason for hiding this comment

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

I thought about that, but it won't work, because in XdsApi::CreateLrsInitialRequest(), the outer message is a LoadStatsRequest instead of a DiscoveryRequest.

Copy link
Contributor

@gnossen gnossen left a comment

Choose a reason for hiding this comment

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

LGTM on build changes.

@markdroth
Copy link
Member Author

Known issues: #22174 #21746 #20677 #22137 #13379

The ruby failure and the cloud-to-cloud interop failure are both infrastructure timeouts.

I am not going to squash commits here as we usually do, since that will make it easier to backport this to the 1.28 release branch in the wake of #21929.

@markdroth markdroth merged commit 144adbc into grpc:master Feb 27, 2020
@markdroth markdroth deleted the xds_overprovisioning_capability branch February 27, 2020 23:02
gnossen added a commit that referenced this pull request Feb 28, 2020
Cherrypick #22147: xds: send no-overprovisioning client capability and populate user_agent fields
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
release notes: no Indicates if PR should not be in release notes
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants