Commit Graph

2064 Commits

Author SHA1 Message Date
Yash Tibrewal 674e938de5
More tests prep for graceful goaway (#29076)
* More tests prep for graceful goaway

* clang-tidy
2022-03-10 16:55:09 -08:00
Yash Tibrewal c9946c2183
Channelz Service Test Shutdown (#29068) 2022-03-09 17:04:39 -08:00
Yash Tibrewal 68d721058c
Prepare async_end2end_test for graceful goaway (#29054) 2022-03-09 16:06:05 -08:00
apolcyn 00d587dc56
Include ADS stream error in XDS error updates (#29014)
* include ADS stream error in XDS error updates

* Re-package XDS client errors into unavailable rather than unknown, in XDS resolver
2022-03-07 10:32:36 -08:00
Craig Tiller fe913387da
Remove idempotent/cacheable requests (#28922)
* Remove idempotent/cacheable requests

* more cleanup

* bump core version

* fix

* fix

* fix

* review feedback

* fixes

* fix

* remove more

* objc

* fix

* fix

* fix

* scrub

* Modify XdsRbacTests

Co-authored-by: Yash Tibrewal <yashkt@google.com>
2022-03-04 14:42:59 -08:00
Craig Tiller 87acbadba1
Third attempt: Convert client_auth_filter to promises (#28968)
* wip

* Automated change: Fix sanity tests

* fixes

* progress

* progress

* grpc compiles

* Automated change: Fix sanity tests

* fixing tests

* x

* progress

* better code

* Automated change: Fix sanity tests

* progress

* progress

* windows fix

* Make Duration metadata trivial

* better message

* fix

* Automated change: Fix sanity tests

* fix

* fix

* fix

* fix

* Automated change: Fix sanity tests

* Automated change: Fix sanity tests

* fix

* progress

* fixes

* fix

* fix

* spam

* un-disable errantly disabled tests

* gain insight

* Automated change: Fix sanity tests

* fixes

* fixes

* fix

* debug

* tweak

* fix

* fix timeout

* fix comment

* fixes

* x

* better test

* tests

* Automated change: Fix sanity tests

* missed file

* fix

* x

* fix

* fix

* fix

* fix

* Automated change: Fix sanity tests

* fix

* merge

* Automated change: Fix sanity tests

* Revert "Revert "Revert "Revert "Convert client_auth_filter to promises (#28767)" (#28951)" (#28952)" (#28967)"

This reverts commit 0f73576b17.

* fix potential memory leak

* Fix behavior if >1 pending request

* fix

* fix nullptr access

Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2022-03-01 12:45:19 -08:00
Craig Tiller 5fc3ff8203
grpc_millis -> Timestamp/Duration (#28119)
* wip

* Automated change: Fix sanity tests

* fixes

* progress

* progress

* grpc compiles

* Automated change: Fix sanity tests

* fixing tests

* x

* progress

* better code

* Automated change: Fix sanity tests

* progress

* progress

* windows fix

* Make Duration metadata trivial

* better message

* fix

* Automated change: Fix sanity tests

* fix

* fix

* fix

* fix

* Automated change: Fix sanity tests

* Automated change: Fix sanity tests

* fix

* progress

* fixes

* fix

* fix

* spam

* un-disable errantly disabled tests

* gain insight

* Automated change: Fix sanity tests

* fixes

* fixes

* fix

* debug

* tweak

* fix

* fix timeout

* fix comment

* fixes

* x

* better test

* tests

* Automated change: Fix sanity tests

* missed file

* fix

* x

* fix

* fix

* fix

* fix

* Automated change: Fix sanity tests

* fix

* merge

* Automated change: Fix sanity tests

* fix

Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2022-03-01 11:34:05 -08:00
Esun Kim c08eb4fc41
Attempt to upgrade upb to the latest (#28685)
* Update upb to 85e5c76cb7098d3ae35e575d652a40568013a149

* Update grpc_deps.bzl

* Run gen_upb_api.sh

* Run run_sed.sh

* Update gen_build_yaml.py

* Regen projects

* Reformat

* Update third_party/upb to 950cdab42fe4c83f06a2be46eeb46a068e486eed

* Update third_party/upb to c9c31241bc39922b092a81d192badd50cccaaa81

* Update src/upb/gen_build_yaml.py

* Generated projects

* Update third_party/upb to a02d92e0257a35f11d4a58b6a932506cbdbb2f29

* Patching in https://github.com/protocolbuffers/upb/pull/524

* Sed script went too far.

Co-authored-by: Nicolas 'Pixel' Noble <nicolas@nobis-crew.org>
2022-02-28 09:26:31 -08:00
Craig Tiller 0f73576b17
Revert "Revert "Revert "Convert client_auth_filter to promises (#28767)" (#28951)" (#28952)" (#28967)
This reverts commit 235098de22.
2022-02-24 10:07:13 -08:00
Craig Tiller 16a3ce51ff
Service config parser to core configuration (#28883)
* Service config parser to core configuration

* x

* Automated change: Fix sanity tests

* finish

* Automated change: Fix sanity tests

* oops

* fix race

* Automated change: Fix sanity tests

* back out mutex

* refactor

* optimize

* Automated change: Fix sanity tests

* fix

* fix

* split out interface

* review feedback

* x

* fixes

Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2022-02-23 20:50:03 -08:00
Craig Tiller 235098de22
Revert "Revert "Convert client_auth_filter to promises (#28767)" (#28951)" (#28952)
* Revert "Revert "Convert client_auth_filter to promises (#28767)" (#28951)"

This reverts commit 5bfe38f10f.

* fix
2022-02-23 15:00:34 -08:00
Craig Tiller 5bfe38f10f
Revert "Convert client_auth_filter to promises (#28767)" (#28951)
This reverts commit cadce47ebf.
2022-02-23 08:17:37 -08:00
Craig Tiller cadce47ebf
Convert client_auth_filter to promises (#28767)
* Convert client_auth_filter to promises

* outline

* x

* x

* fixes

* remove-spam

* Async sequences over iterators

* iterate

* better semantics

* fix

* clang-tidy

* Automated change: Fix sanity tests

* Automated change: Fix sanity tests

* fixes

* fixes

* Automated change: Fix sanity tests

* progress

* progress

* progress

* progress

* progress

* credentials_test passes

* Automated change: Fix sanity tests

* Make Activity more of an interface

Move mutex and wakeup logic into a new class between PromiseActivity<>
and Activity (so that the sharing can persist), but make Activity closer
to a pure interface, so that whilst we migrate code we can implement
better fakes without forcing allocation.

* fixes

* Automated change: Fix sanity tests

* fixes

* test the awful failure

* x

* fix typo

* fix race

* 4.9

* x

* review feedback

* review feedback

* Automated change: Fix sanity tests

* review feedback

* replace AuthMetadataContext interface with GetRequestMetadataArgs struct

* Automated change: Fix sanity tests

* fix merge

* Fixup

* fix

* fix

* fix

Co-authored-by: ctiller <ctiller@users.noreply.github.com>
Co-authored-by: Mark D. Roth <roth@google.com>
2022-02-23 07:36:19 -08:00
AJ Heller 85189b24bb
Reintroduce: Avoid fully qualifying namespaces (and add check) (#28917)
Based on a handful of https://abseil.io/tips, it's generally advised to
only fully-qualify namespaces when in a `using` statement, or when it's
otherwise required for compilation. In all other cases, the general
recommendation is to not fully-qualify.

This change fixes most `grpc.*` namespace uses. There are potential
challenges in trying to make blanket changes to non-gRPC namespace uses,
such as `::testing`, since there is also a `grpc::testing` namespace.
2022-02-18 16:18:54 -08:00
AJ Heller e72a5fe5dd
Revert "Avoid fully qualifying namespaces (and add check) (#28901)" (#28916)
This reverts commit fc7314c701.
2022-02-17 17:56:19 -08:00
AJ Heller fc7314c701
Avoid fully qualifying namespaces (and add check) (#28901)
Based on a handful of https://abseil.io/tips, it's generally advised to
only fully-qualify namespaces when in a `using` statement, or when it's
otherwise required for compilation. In all other cases, the general
recommendation is to not fully-qualify.

This change fixes most `grpc.*` namespace uses. There are potential
challenges in trying to make blanket changes to non-gRPC namespace uses,
such as `::testing`, since there is also a `grpc::testing` namespace.
2022-02-17 16:23:25 -08:00
donnadionne 431d314eca
Calculate clock difference and accomodate it to deflake timeout tests (#28868)
* Calculating clock difference and accomendate it to deflake timeout
tests.

* Fixing according to code review comments.
2022-02-17 15:40:55 -08:00
Oscar Shi e0a5c310cd
Increase number of threads in stress test (#28821)
In some configurations 100 threads is not enough to cause exhaustion failing tests.

Increase number of threads to ensure resource exhaustion
2022-02-15 13:58:01 +01:00
AJ Heller 40f2c2a4e1
Upgrade googletest (#27287) 2022-02-14 18:16:05 -08:00
Ashitha Santhosh 1fee3d72be
remove SDK term from gRPC authz (#28843) 2022-02-14 11:44:15 -08:00
donnadionne 1baca37a9e
Applying aggregate ringhash policy (#28861)
* Applying aggregate ringhash policy

* Fixing according to code review comments.

* typo
2022-02-11 16:16:26 -08:00
Ashitha Santhosh 55e4af1b14
Revert "Revert "Update to rbac policy struct and end2end authz test. (#27074)" (#28552)" (#28620)
This reverts commit 8ca42ec6f8.
2022-02-11 14:03:24 -08:00
yihuaz b458db9246
Eliminate gRPC insecure build (#25586)
* force submit

* fix test error

* remove is_client from local tsi and its callsites

* fix too_many_pings_test

* add missing dep
2022-02-10 11:17:18 -08:00
scwhittle 14169dd0c5
[issue #28771] Fix pick_first policy to clear selected_ when deleting subchannel_list_ (#28824)
* [issue #28771] Fix pick_first policy to clear selected_ when promoting
a pending subchannel list to the active subchannel list when all
subchannels have been attempted and are in an error state.

* address comments

* revert idle_filter
2022-02-10 09:48:57 -08:00
Craig Tiller 9bcabbac32
Disable flaky test (#28776) 2022-02-02 23:12:35 -08:00
donnadionne 55db347396
LRS changes for federation (#28504)
* Passing xds server object instead of just a string name

* Adding xds server to policy

* Refactor ToJson

* Using XdsServer for load reporting

* code review comments

* fixing code review comments

* Taking care of lifetime of the XdsServer key

* code review comments

* Fixing channel_state storage and re-run tests (1 assert hit)

* Checking for server in the bootstrap file

* Adding LRS test

* adding a bootstrap file ToJson and parse test

* fixing code review comments

* fixing code review comments.

* fixing test

* break out the federation lrs test

* Fixed last bit of code review comments

* fixing error message to be more precise
2022-01-21 10:55:58 -08:00
Mark D. Roth 86c483a678
fix priority policy to cancel failover timer on IDLE and add test (#28563) 2022-01-20 13:34:58 -08:00
Craig Tiller 74a2cb6e2b
Revert "Revert "Reland slice changes (#28601)" (#28615)" (#28624)
* Revert "Revert "Reland slice changes (#28601)" (#28615)"

This reverts commit 939bbfc336.

* Change random seed back to nanoseconds
2022-01-20 12:47:33 -08:00
Mark D. Roth 9f090a3a32
xds: accept SelfConfigSource for RDS and EDS ConfigSources (#28618) 2022-01-19 13:57:15 -08:00
Craig Tiller 939bbfc336
Revert "Reland slice changes (#28601)" (#28615)
This reverts commit b33e0d40af.
2022-01-19 09:40:19 -08:00
Vignesh Babu aeea02fab8
TLS Session Keys export for GRPC C++ (#26812)
* Adding TLS Key export logic to core and c++ wrappers

* Adding and end2end cpp tls key export test and updating broken test due to interface changes

* regenerate projects

* updating tls key export core logic with addition of APIs to grpc_security.h

* undoing changes to tls_security_connector_test

* regenerate projects

* changing the logging format enum name as per GRFC comments

* regenerate projects

* removing some commented code

* updating changes as per review comments

* adding GRPCAPI annotations to functions defined in grpc_security.h

* regenerate projects

* fixed some code styling issues

* removing grpc_security.h include from tls_credentials_options.h

* updating files as per review comments

* minor fixes

* moving some code around

* removing key log format from tls session key log config and converting it to a simple string

* regenerate projects

* fixing mistakes in recent merge with master

* regenerate projects

* regenerate projects

* fixing some distrib and snity errors

* fixing formatting errors

* fixing more sanity checks and raising supported openssl versions to 1.1.1

* updating min supported openssl version to 1.1.1

* updating min supported openssl version in tls_key_export_test

* updating test to fix incorrect vector initialization

* updating as per latest comments

* fixing sanity checks

* addressing review comments

* fixing sanity checks

* fixed c++ comment style

* Automated change: Fix sanity tests

* fixing review comments

Co-authored-by: Vignesh2208 <Vignesh2208@users.noreply.github.com>
2022-01-18 14:44:55 -08:00
Mark D. Roth 0fb47cd886
pick_first: make TRANSIENT_FAILURE sticky (#28571) 2022-01-18 13:25:07 -08:00
Craig Tiller b33e0d40af
Reland slice changes (#28601)
* Revert "Revert "Eliminate slice interning (#28363)" (#28598)"

This reverts commit 03bf699600.

* fix?
2022-01-18 09:29:49 -08:00
Jan Tattermusch 03bf699600
Revert "Eliminate slice interning (#28363)" (#28598)
This reverts commit 6703186b7a.
2022-01-18 15:44:18 +01:00
Yash Tibrewal 1caa3e8cfd
xDS: Rbac filter updates (#28568) 2022-01-18 04:46:40 -08:00
Craig Tiller 6703186b7a
Eliminate slice interning (#28363)
Eliminate slice interning, and structures in slices to support it.
Reduces grpc_slice_refcount from 40 bytes (+ a required 8 bytes elsewhere) to 16 bytes.
Removes a pointer dereference for every slice ref/unref.

Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2022-01-17 20:25:45 -08:00
Mark D. Roth e59dcd5c87
xds: force-enable retries in xds_end2end_test to make things work internally (#28564) 2022-01-14 09:34:39 -08:00
Mark D. Roth 227d65367c
rls: fix various bugs in adaptive throttling code (#28477)
* rls: fix adaptive throttling window size

* clang-format

* fix adaptive throttling logic and fix FailedRlsRequestWithoutDefaultTarget test
2022-01-14 08:21:32 -08:00
Jan Tattermusch 8ca42ec6f8
Revert "Update to rbac policy struct and end2end authz test. (#27074)" (#28552)
This reverts commit b64167a034.
2022-01-14 07:45:38 -08:00
Ashitha Santhosh b64167a034
Update to rbac policy struct and end2end authz test. (#27074)
* Empty principals checks for authenticated connection

* fix sanity check

* clang-format

* principals:[] will result in ANY

* minor correction after merging

* clang-format

* formatting

* clang-format

* remove unnecessary header

* Remove unnecessary target from BUILD
2022-01-12 15:13:35 -08:00
Yash Tibrewal 114d388389
Fix xDS client for multiple watchers (#28521)
* Fix XdsClient for multiple watchers

* Reviewer comment
2022-01-12 11:41:06 -08:00
Mark D. Roth 5c30de312b
xds: handle percent-encoding in new-style resource names (#28515) 2022-01-12 10:09:06 -08:00
Yash Tibrewal 9ffbc2d360
XdsEnd2EndTest : Use a queue to save resource updates (#28467)
* Fix XdsClient for multiple watchers on the same resource

* xds_end2end_test: Don't use XdsCredentials for XdsRbacNackTests

* Use separate response states for EDS and RDS resources

* Reviewer comments

* Reviewer comments

* Reviewer comments

* Remove blank link

* Reviewer comments
2022-01-11 15:02:12 -08:00
Mark D. Roth bccd1c7c22
xds_e2e_test: clean up WaitForAllBackends() and add timeout (#28514)
* xds_e2e_test: clean up WaitForAllBackends() and add timeout

* fix drop tests

* restore resetting of backend counters

* fix BalancerRestart test

* fix StressTest

* clang-format
2022-01-11 08:37:54 -08:00
Ashitha Santhosh d884a7a440
RBAC Authorization Engine updates based on A41 proposal (#27754)
* RBAC Authorization Engine updates based on A41 proposal

* Fix headermatcher

* Support for metadata

* Maps host to :authority, special-case te and :method

* removes method hardcoding

* add factory methods

* minor formatting

* fix test

* formatting

* remove constructors

* fix api usage

* ReqServerName test in xds_end2end_test

* Initialize bool
2022-01-10 19:52:20 -08:00
Craig Tiller 55b365f287
Move resolver code around a little (#27846)
* move service config

* service config should not depend on grpc_base

* move resolver, deal with fallout

* Automated change: Fix sanity tests

* fix

* fix

* Automated change: Fix sanity tests

* review feedback

* review feedback

* fix

* Automated change: Fix sanity tests

* fix

* Automated change: Fix sanity tests

* fix vis

* fix

* fixes

* Automated change: Fix sanity tests

* visibility

* fix

Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2022-01-06 10:53:40 -08:00
donnadionne e520fc137c
xDS Federation: bootstrap and xds_resolver changes (#27938)
* 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
2022-01-05 11:13:11 -08:00
Yash Tibrewal f00432c70b
xds_end2end_test: Set skip cancelled check (#28453)
* xds_end2end_test: Set skip cancelled check

* Reviewer comment
2021-12-29 18:15:19 -08:00
Yash Tibrewal ab6d7b4f02
Reland rbac filter (#28442)
* Revert "Revert "xDS: Add support for RBAC HTTP filter (#28309)" (#28441)"

This reverts commit 7aae5c66df.

* Fix internal clang errors

* Ipv6 addresses are 128 bit
2021-12-29 11:42:58 -08:00
Craig Tiller 7aae5c66df
Revert "xDS: Add support for RBAC HTTP filter (#28309)" (#28441)
This reverts commit 6ea8214879.
2021-12-28 20:11:38 +00:00