* xDS Federation: bootstrap and xds_resolver changes
* code review fixes
* fixing code review comments
* fixing code review comments
* fixing code review comments
* code review comments
* fixing code review comments
* First very basic test to make sure parsing and reconstruction work as
expected.
* clean up
* fixing logic error about authority
* fixing resource type parsing
* fixing code review comments
* simplify parsing!
* Parsing method signature update
* fixing code review comments
* clean up
* working progress for the test with generated bootstrap
* reorg the bootstrap file
* fixing tests
* Adding more to test authorities
* Added a test and it passes
* addressing code review comments
* code review comments to make parser cleaner and more efficient
* Merge in authority prefixes
* fixing sanity error and xds boostrap test error
* small fix
* Release all tests that pass; reduce scope for DeadUpdate
* Updated test strcuture and how to pass in the index for balancers to be
used as xds server uri and authority xds server uri
* code review comments
* code review fixes
* code review comment
* Making test structure changes
* fixing code review comments
* fixing code review comments
* Fixing test regression
* fixing bootstrap tests
* cleanup files
* enabling localhost:xxx for xds server; updated server tests and will fix
one more NameExpected test with testsetup.
* Finally removing fake reolsver for xds server
* Fixing bootstrap tests
* Rewrite builder
* Fixing code review comments
* fixing code review comments
* Fixing all tests to use Setup again
* fixing small sanity error
* Found the source of xds server nack test faiure and fix added
* small code review fixes
* Remove fake resolver! YAY!
* Fixing according to code review comments
* Setup plugin in bootfile
* Added more tests.
* Adding server test
* fixing a regression
* regression
* sanity fix
* fixing code review
* fixing code review comments
* Re-combine SecurityNaming tests.
* Add Rds new resource type and new tests
* Added PercentEncode test
* fixing code review comments
* refactor test a bit more
* fixing code review comments
* fixing according to code review comments
* fixing code review comments
* fixing code review comments
* Revert "Revert "XdsClient: remove resource-type-specific methods from XdsClient API (#28231)" (#28301)"
This reverts commit 3e779b68fe.
* remove global resource type registry
* WIP
* introduce XdsResourceType API and change Listener parsing to use it
* converted RouteConfig parsing
* convert cluster and endpoint parsing
* cleanup
* clang-format
* attempt to work around compiler problems
* move XdsResourceType to its own file, and move endpoint code out of XdsApi
* move cluster parsing to its own file
* move route config parsing to its own file
* move listener parsing to its own file
* clang-format
* minor cleanup
* plumbed XdsResourceType throughout XdsClient
* a bit of cleanup
* more cleanup
* construct full resource names before calling XdsApi::CreateAdsRequest()
* remove some unneeded code
* clean up includes and have XdsResourceType initialize the upb symtab
* more cleanup of unnecessary code
* more cleanup
* update comment
* clang-format
* add missing virtual dtor
* fix build
* remove resource-type-specific methods from XdsClient API
* have each resource type register itself upon instantiation
* remove comment
* add missing virtual dtor
* clang-format
* xds_end2end_test: Fix flakiness on WaitForLdsNack
* xds_end2end_test: Only start the server when we want
* Revert WaitForNack changes
* Fixes
* Fix CsdsShortAdsTimeoutTest
* Fix sanity
* Ensure that per route retry policy (even when there are no supported
retry_on statuses) still takes precedence over virtual host level retry
policy.
Added a test to guard this case.
* Taking care of code review comments and removing unnecessary block
* xDS Security: Use new way to fetch certificate provider plugin instance
config
* Reviewer comments
* Additional fields to NACK
* Move NACKing tests for tls_certificates and tls_certificate_sds_securet_configs to client-side
* fix retry code to fail batches instead of creating attempt if previously cancelled from surface
* add xDS end2end tests covering the FI use-case that triggered the bug
* fix memory leak
This temporarily unblocks a related gtest upgrade. The ultimate goal is
to upgraade our gtest dependencies, but I don't have the cycles to
manage a potentially messy migration until at least next week. This PR
is coordinated with an internal change.
This exposes a bug in clang, reported upstream as
https://bugs.llvm.org/show_bug.cgi?id=51368.
The clang bug is mitigated using a fake scoped lock; that allows the
current code to compile while also serving as a change detector to
prevent it from going stale; if the compiler bug is fixed, the compiler
will see an overlapping locking requirement, and reject this code, which
will prompt a human being to remove this workaround.
It is not possible for such a function to be implemented in a way that
is understood by annotalysis. Mark it deprecated and replace instances
of its use with direct mutex/condvar usage.
Add a bunch of missing thread safety annotations while I'm here.
* LB policy API improvements
* clang-format
* fix build
* a bit more cleanup
* use absl::variant<> for pick result
* fix retry_lb_drop test
* clang-format
* fix grpclb_end2end_test
* fix xds_end2end_test
* try to make variant code a bit cleaner
* clang-format
* fix memory leak
* fix build
* clang-format
* fix error refcount bug
* remove PickResult factory functions
* clang-format
* add ctors to structs
* clang-format
* fix clang-tidy
* update comments
* move LB recv_trailing_metadata callback instead of copying it
* use Match() instead of providing PickResult::Handle()
* don't use Match() for now, since it breaks lock annotations
* update retry_lb_fail test