Skip to content

Re-introduce "CSDS Implementation"#25762

Merged
lidizheng merged 3 commits intogrpc:masterfrom
lidizheng:csds-fix
Mar 22, 2021
Merged

Re-introduce "CSDS Implementation"#25762
lidizheng merged 3 commits intogrpc:masterfrom
lidizheng:csds-fix

Conversation

@lidizheng
Copy link
Copy Markdown
Contributor

@lidizheng lidizheng commented Mar 18, 2021

Related #25038 #25745

The first CSDS attempt #25038 was rolled back because Envoy protos are not considered "core" components, or included in any components. But technically, we use generated upb files which means we depend on Envoy protos transitively anyway.

The most correct solution is adding Envoy protos to "core" component. But there are 2 blockers:

  1. Adding Envoy proto packages means adding hundreds of new paths to the "core" component list, which includes Envoy's proto folder, protoc-gen-validate's proto folder, opencensus's proto folder, googleapis's proto folder;
  2. Blaze's compatible_with tag "non_prod" is not instrumented for Envoy protos, which means we have to update the entire build chain's compatible_with tag, including: envoy, protoc-gen-validate, opencensus, googleapis, and part of internal ProtoBuf ("non_prod" is a superset of "gce"/"mobile", but ironically as a compatible tag it isn't compatible with existing tags) (all above packages are compatible with "gce", so there is no technical reason they won't be compatible with "non_prod").

With the release date set as next Tuesday, I don't think we can clear this two blockers quick enough.

Thanks to @gnossen. I just learnt that our staging test spawns GCE, pulls gRPC from GitHub, and test the OSS version. This means we can temporarily hide the CSDS feature in google3, without impacting the ability to test CSDS in production and in staging.

The internal counterpart of this PR is cl/363946493.
cl/363758897, the example produced import CL looks like cl/363759740.

@lidizheng lidizheng added lang/c++ release notes: no Indicates if PR should not be in release notes labels Mar 18, 2021
@lidizheng lidizheng marked this pull request as ready for review March 18, 2021 22:50
@lidizheng lidizheng requested a review from markdroth as a code owner March 18, 2021 22:50
@markdroth
Copy link
Copy Markdown
Member

FYI, there's already been some work on moving the xDS protos into core components internally. See b/169268726 for details.

I'll take a look at the CL internally.

@lidizheng
Copy link
Copy Markdown
Contributor Author

lidizheng commented Mar 19, 2021

@markdroth PTALA. I have updated the generic hack with a more specific hack. Also, the internal counterpart needs to be checked-in first. This PR doesn't need to be cherry-picked. Let's cherry-pick to ensure it works.

Copy link
Copy Markdown
Member

@markdroth markdroth left a comment

Choose a reason for hiding this comment

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

This looks great! Please make sure Nico approved before merging.

@lidizheng
Copy link
Copy Markdown
Contributor Author

@nicolasnoble PTAL to see if the added Bazel rule is okay.

@lidizheng
Copy link
Copy Markdown
Contributor Author

cl/364351425 is reviewed by Nico. This PR is cherry-picked as cl/364390547. Merging.

@lidizheng lidizheng merged commit 1040fbd into grpc:master Mar 22, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

lang/c++ priority/P0/RELEASE BLOCKER 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.

2 participants