Commit Graph

3211 Commits

Author SHA1 Message Date
donnadionne 6989129db5
xDS RLS implementation (#29200)
* Revert "Revert "Initial structure for RLS (#28750)" (#29189)"

This reverts commit 7ece810843.

* fixing 1 unused using
2022-03-23 21:23:34 -07:00
donnadionne 7ece810843
Revert "Initial structure for RLS (#28750)" (#29189)
This reverts commit 362e0b8706.
2022-03-22 13:41:21 -07:00
donnadionne 362e0b8706
Initial structure for RLS (#28750)
* Initial structure for RLS

* Adding and building the proto to parse the Any proto for the plugins

* re-org

* Parsing the plugin

* Parsing more into json

* Parsed proto to json

* small cleanup

* Adding prefix

* Added new rls_experimental policy

* build files

* Fixing according to code review comments

* code review comments

* Adding sym changes

* adding action name check

* fixing code review comments.

* fixing unused var error

* clean up

* fixing code review comments

* fixing code review comments

* fixing according to code review comments.

* Remove unnecessary include

* small fix

* generate more, hard-code less

* Moving to using absl::variant

* absl::string_view and absl::variant of vector of std::string are not
playing nice together.

* fixed variant

* Using absl::variant now

* Checkint used plugins

* Refactor Parsing code and separating out Parsing of the plugin

* Fixing code review comments

* code review comments

* fixing code review comments.

* Addressing code review comments

* First end-to-end test

* generated build files

* commit generated files via tools/codegen/core/gen_upb_api.sh

* Fixing rls policy parsing tests

* Restore checks for the test server

* Refactor rls_server

* added keys to rls request

* fixing small logic error

* Complete the test using all the keys

* Separating out RLS test and rls_server thread

* sanity errors

* generated build files

* Complete the rest of the tests and sanity cleanup

* fixing code review comments: using upb_JsonEncode now!

* fixing code review comments

* fixing code review comments

* Fixing code review comments

* misisng fix

* simplifying tests

* simplify tests 2

* Linking in the correct proto for rls_config

* restore metadata check

* Add disable test

* Fixing RLS test and removing environment var that is no longer necessary

* Fixing "Wrong type" type of tests after json parsing change to accept
STRING for number

* adding json_encode.h/c to src/upb/gen_build_yaml.py and generate
necessary files.

* Fixing un-used var error

* fixing sanity errors

* Fixing the upb encoding buffer

* Fixing code review comments.

* Adding nack test for unkonwn plugin proto

* Last bit of code review comments

* fixing unused variable
2022-03-22 11:29:52 -07:00
Craig Tiller 766cd6b573
Remove epollex poller (#29160)
* start delete

* remove build.gn... again

* remove more

* Automated change: Fix sanity tests

* fixes

Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2022-03-21 10:27:52 -07:00
Craig Tiller 0ea1eeb4e7
Expose channel stack type to builder (#29088)
* split builder

* expose channel stack type to builder

* Automated change: Fix sanity tests

* Update channel_stack_builder_impl.h

* Update channel_init.h

Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2022-03-15 21:33:32 -07:00
Craig Tiller ff14d1d7f3
Revert "Revert "Revert "Convert max_age filter to promises (#28904)" (#28957)" (#28958)" (#29105)
This reverts commit d589f4e6ca.
2022-03-15 12:21:59 -07:00
Craig Tiller d589f4e6ca
Revert "Revert "Convert max_age filter to promises (#28904)" (#28957)" (#28958)
* Revert "Revert "Convert max_age filter to promises (#28904)" (#28957)"

This reverts commit f18e6ede04.

* start watch

* fix

* Fix cancellation on async server filters

* fix

* fix
2022-03-14 22:56:44 -07:00
Mark D. Roth 0c7b37a4a3
refactor health check client to allow reuse for OOB backend metric reporting (#29024)
* refactor health check client to allow reuse for OOB backend metric reporting

* clang-format

* improve comments
2022-03-14 14:42:02 -07:00
Mark D. Roth 707aad777d
resolver: refactor common code for polling-based resolvers (#28979)
* resolver: refactor common code for polling-based resolvers

* remove now-incorrect assertion

* fix cleanup bug

* add missing include guards

* portability fix

* fix some lifetime issues

* plumb tracer into PollingResolver

* fix pollset_set propagation

* increase RPC timeout in python DNSResolverTest

* add dns_resolver tracer and fix ref leak

* code review comments

* check shutdown_ in OnNextResolutionLocked()
2022-03-10 10:45:52 -08:00
AJ Heller 99a30de9e7
Bump version to 1.46.0-dev (on master branch) (#29064)
* bump version to 1.46.0-dev

* regenerate projects
2022-03-09 16:44:12 -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 f18e6ede04
Revert "Convert max_age filter to promises (#28904)" (#28957)
This reverts commit ae4b45d75a.
2022-02-23 14:39:07 -08:00
Craig Tiller ae4b45d75a
Convert max_age filter to promises (#28904)
* start

* stuff

* build

* Automated change: Fix sanity tests

* fix

* finish him

* fix

* better

* fix

* review feedback

* Update channel_idle_filter.cc

* Automated change: Fix sanity tests

Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2022-02-23 14:00:45 -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
Craig Tiller dd76a04b8c
Move resolver to core configuration (#28881)
* Move resolver to core configuration

* Automated change: Fix sanity tests

* Automated change: Fix sanity tests

* fix

* fix

* fix

* fix

* resolver: clean up and modernize registry

* fix race

* update visibility

* fix internal error

* review feedback

* resolve backref issues

* windows

* x

* fix sockaddrs on windows?

* fix sockaddrs on windows?

Co-authored-by: ctiller <ctiller@users.noreply.github.com>
Co-authored-by: Mark D. Roth <roth@google.com>
2022-02-23 00:09:04 -08:00
Craig Tiller 0f424ae5cc
Move client-idle-filter to promises (#28838)
* Promise based sleep

* Embrace absl::Status

* Automated change: Fix sanity tests

* Add another test, fix bug

* fix

* fix

* Move client-idle-filter to promises

* better call counting

* x

* x

* x

* review feedback

* progress

* Automated change: Fix sanity tests

* progress

* Automated change: Fix sanity tests

* fix

* channel stack refcount

* remove op from lock, refcount

* compiles

* Automated change: Fix sanity tests

* nicer api

* fix

* Automated change: Fix sanity tests

* fix

* speculative fix for windows

Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2022-02-16 18:50:29 -08:00
Esun Kim 4c0249f4d9
Removed grpc_error_handle from cython (#28896) 2022-02-16 14:05:33 -08:00
Craig Tiller c42dfe32e7
Remove chttp2 plugin (#28882)
* Remove chttp2 plugin

* Automated change: Fix sanity tests

* fix tsan

Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2022-02-16 12:53:07 -08:00
AJ Heller 84ed11459d
Delete custom iomgr (#28816)
* Squashed version of gnossen's gevent pR

* rm

* Automated change: Fix sanity tests

Co-authored-by: drfloob <drfloob@users.noreply.github.com>
2022-02-14 13:19:20 -08:00
Ashitha Santhosh 1fee3d72be
remove SDK term from gRPC authz (#28843) 2022-02-14 11:44:15 -08:00
Richard Belleville 066a310df1
Revert "Revert "Reimplement Gevent Integration (#28276)" (#28862)" (#28863)
This reverts commit c02784bfa3.
2022-02-11 13:43:01 -08:00
Richard Belleville c02784bfa3
Revert "Reimplement Gevent Integration (#28276)" (#28862)
This reverts commit 27bc6fe779.
2022-02-11 13:02:28 -08:00
Richard Belleville 27bc6fe779
Reimplement Gevent Integration (#28276)
* WIP

* Add gevent test suite run under Bazel.

* Fix things up

* Yapf

* Fix up Bazel files

* Make py_grpc_test fancier

* Attempt to fix Windows RBE

* Attempt to kick GitHub

* Fix Python 2 runs

* Yet more fixes

* And the patch file too

* I am an idiot

* Mark gevent tests flaky

* Try to make rules_python more tolerant

* Typo

* Exclude reconnect test from gevent

* Remove unnecessary parts of patch

* Buildifier

* You saw nothing

* isort

* Move py_grpc_test to an internal-only file

* Review comments

* More reviewer comments

* Review

* Add initial changes for gevent

* WIP. Run completion_queue_next in a threadpool

* WIP.

* WIP

* Re-remove skip annotation

* Finally working

* Reactivate tests

* Clean up

* Move C++ threading utilities to grpc.pxi

* Unbreak sync stack

* Refix test flake

* WIP. Trying to get things working properly

* Move test stuff to test runner

* Clean up

* Can't handle exceptions if you don't compile with exceptions

* Remove debug stuff unintentionally left in

* Add greenlet switch loggging and fix threading issue

* Only run a greenlet scheduling greenlet when there are open channels

* Format

* Add threadpool modifications to old runner

* And actually import gevent
2022-02-10 18:25:12 -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
Yousuk Seung 172120f6b4
Move XdsChannelCreds to CoreConfiguration (#28746)
* Move XdsChannelCreds to CoreConfiguration

* move xDS channel creds files to src/core/lib/security/credentials/xds

* Change back to returning a RefCountedPtr.

* make remove "xds_" from xds_channel_* files.

* Renamed to address comments.

* clang fix

* Fix another clang error
2022-02-09 15:33:17 -08:00
Vignesh Babu eb8af70ee0
Creating an event_engine_common library that contains code which all event engine implementations can depend on (#28765)
* creating an event_engine_common library that contains code which all event engine implementations can depend on

* adding event_engine_common dependency

* regenerate projects

* Automated change: Fix sanity tests

* renaming file

* regenerate projects

Co-authored-by: Vignesh2208 <Vignesh2208@users.noreply.github.com>
2022-02-02 12:48:47 -08:00
Tamir Duberstein 5c474b0c84
Relocate shared EventEngine APIs (#28721)
Partially collapse `event_engine_factory.cc` into `event_engine.cc`. Add a
new function `DefaultEventEngineFactory` which is used to set a default
event engine factory at link time, separate from the factory that can be
set at run time. Implemenet this function in
`default_event_engine_factory.cc`.

This allows alternative default event engine factories to be implemented
without requiring the duplication of the implementations of
`SetDefaultEventEngineFactory`, `CreateEventEngine`, and
`GetDefaultEventEngine`.
2022-01-28 10:00:54 -08:00
Esun Kim f1e79853ed
Revert "Revert "Buildify Envoy upb (#28558)" (#28648)" (#28649)
This reverts commit 01011ab259.
2022-01-25 11:19:41 -08:00
apolcyn 9f1663fb74
Upgrade c-ares to 1.17.2 (#28671)
Upgrade c-ares dependency to 1.17.2
2022-01-25 10:41:18 -08:00
Esun Kim 01011ab259
Revert "Buildify Envoy upb (#28558)" (#28648)
This reverts commit 97584d8346.
2022-01-21 08:35:13 -08:00
Esun Kim 97584d8346
Buildify Envoy upb (#28558)
* Buildigy xds

* Generate project

* Buildify envoy

* Added new upb files

* Removed unused upb targets

* Fix grpc_cel_engine

* Update envoy-api to the latest

* Regen upb

* Regen projects

* Fix bazel build on MacOS

* More fix on bazel mac

* Disable grpc_tool_test on Mac

* Regen projects
2022-01-20 22:29: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
Jan Tattermusch 402981be8e
Bump version to 1.45.0-dev (#28553)
* bump version to 1.45.0-dev

* regenerate projects
2022-01-20 09:23:06 +01: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
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
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
Yousuk Seung c02fe64bea
Support custom xDS channel creds (#28486)
This patch introduces a factory to allow supporting custom xDS channel
creds. Three types currently supported (fake, insecure, google_default)
are registered by default for backward-compatibility.
2022-01-13 23:00:10 -08:00
Craig Tiller 4b881c5947
Remove grpc_mdelem (#28267)
* Automated change: Fix sanity tests

* content-type

* Automated change: Fix sanity tests

* clang-format

* fix

* Move colon prefixed metadata

* Automated change: Fix sanity tests

* Automated change: Fix sanity tests

* try to fix windows failure

* try and scale sizes better

* ambiguity fix?

* wip metadatavalueasslice

* Fix status code for resource exhaustion

* Revert "Revert "Move a bunch of slice typed metadata to new system (#28107)" (#28208)"

This reverts commit 7717587063.

* fix test

* Automated change: Fix sanity tests

* Automated change: Fix sanity tests

* slice helper

* x

* noinline

* try and scale sizes better

* Automated change: Fix sanity tests

* fixes

* fix

* fix

* fixes

* fix build

* fix overflow

* progress

* Automated change: Fix sanity tests

* fix

* initial work

* progress

* fix

* fix

* Automated change: Fix sanity tests

* progress

* fix

* fix

* fix

* Automated change: Fix sanity tests

* fix

* compressor for path/authority

* Automated change: Fix sanity tests

* Automated change: Fix sanity tests

* legalize

* legalize

* status-enc

* fmt

* fix

* fix

* fix

* fix

* fix/opt

* fix

* fix

* fix

* fix

* Automated change: Fix sanity tests

* fix

* comment

* fmt

* remove arg

* Automated change: Fix sanity tests

* remove name

* Automated change: Fix sanity tests

* sketch

* Automated change: Fix sanity tests

* progress

* add specialized encoders for compression metadata

* progress

* review feedback

* fix

* missoing files

* remove crud

* xxxxx

* more

* Small improvement in memory usage and performance

* Automated change: Fix sanity tests

* Automated change: Fix sanity tests

* Fix caching

* Automated change: Fix sanity tests

* omg

* fix crash in alts

* default everything

* Automated change: Fix sanity tests

* review feedback

* fixes

* fixes

* fixes

* Automated change: Fix sanity tests

* speedup

* fix

* fix

* clang-format

* fixes

* progress

* fixes

* fixes

* Automated change: Fix sanity tests

* fix

* fix

* progress

* update timeout encoding algorithm

* Automated change: Fix sanity tests

* fix

* fix

* review feedback

* progress

* progress

* progress

* progress

* builds

* Automated change: Fix sanity tests

* remove debug code

* fix ub

* unname things

* coax compilers

* reduce failures

* fix

* fix

* fix

* fix

* cleanup

* compile fix

* preserve concatenation rule

* spew

* fix

* fix

* postfix operator++ for msvc

* fix

* fix

* remove unused code

* lower cost of hpack table construction

* fix refcounting

* review feedback

* fixes

* fixes

* support multivalued traits

* Automated change: Fix sanity tests

* fix

* clearer clear

* appeasing 4.9

Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2022-01-07 09:42:27 -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
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
Yash Tibrewal 6ea8214879
xDS: Add support for RBAC HTTP filter (#28309)
* xDS: ADD RBAC HTTP filter support

* sanity, upb regenerate files

* Revert PerChannelArg changes

* Reviewer comments

* Reviewer comments

* Reviewer comments

* Remove unnecessary header

* Fix sanity

* Add RBAC service config parsing tests

* Don't make a copy of the metadata batch

* Revert expr_proto changes

* Some more tests

* Reviewer comments

* Reviewer comments

* No metadata changes needed

* Fix leak of DynamicXdsServerConfigSelectorProvider

* Fix deadlock issues

* Fix test compilation
2021-12-23 20:46:36 -08:00
Lidi Zheng 83e7cb24fe
Fix the setuptools distutils overriding issue (#28393)
* Fix the distutil install issue

* Try to move setuptools install forward

* Try pin the distribution tools

* Enforce local distutil

* Fix script order of definition

* Add comment

* Try to fix the setuptool monkey patch

* Clean-up imports for commands.py

* Pin 59.6.0 instead of 59.7.0 (incomplete release)
2021-12-21 12:27:01 -08:00
Craig Tiller 264c321d83
Move compression related metadata to the new system (#28223)
* Eliminate most of grpc_message metadata handling

* Eliminate most of host metadata handling

* Remove more callouts without fixing code

* fiiixes

* typo

* Automated change: Fix sanity tests

* try-shrink

* Automated change: Fix sanity tests

* size tweaks

* less tricks

* deunique

* commonize

* commonize

* Automated change: Fix sanity tests

* size tuning, fixes

* Automated change: Fix sanity tests

* fix

* size tuning, fixes

* remove constexpr

* fix

* reuse code

* fix

* tweak code

* more tweaks

* tell no lies

* fixes

* fixes

* Automated change: Fix sanity tests

* fix

* fix

* fix

* fix

* fix?

* fix binder

* fix

* fix

* fixes

* Automated change: Fix sanity tests

* fix

* initial refactoring

* optimize status encoding

* Automated change: Fix sanity tests

* Automated change: Fix sanity tests

* content-type

* Automated change: Fix sanity tests

* clang-format

* fix

* Move colon prefixed metadata

* Automated change: Fix sanity tests

* Automated change: Fix sanity tests

* try to fix windows failure

* try and scale sizes better

* ambiguity fix?

* wip metadatavalueasslice

* Fix status code for resource exhaustion

* Revert "Revert "Move a bunch of slice typed metadata to new system (#28107)" (#28208)"

This reverts commit 7717587063.

* fix test

* Automated change: Fix sanity tests

* Automated change: Fix sanity tests

* slice helper

* x

* noinline

* try and scale sizes better

* Automated change: Fix sanity tests

* fixes

* fix

* fix

* fixes

* fix build

* fix overflow

* progress

* Automated change: Fix sanity tests

* fix

* initial work

* progress

* fix

* fix

* Automated change: Fix sanity tests

* progress

* fix

* fix

* fix

* Automated change: Fix sanity tests

* fix

* compressor for path/authority

* Automated change: Fix sanity tests

* Automated change: Fix sanity tests

* legalize

* legalize

* status-enc

* fmt

* fix

* fix

* fix

* fix

* fix/opt

* fix

* fix

* fix

* fix

* Automated change: Fix sanity tests

* fix

* comment

* fmt

* remove arg

* Automated change: Fix sanity tests

* remove name

* Automated change: Fix sanity tests

* add specialized encoders for compression metadata

* review feedback

* fix

* missoing files

* Small improvement in memory usage and performance

* Automated change: Fix sanity tests

* Automated change: Fix sanity tests

* Fix caching

* Automated change: Fix sanity tests

* fix crash in alts

* default everything

* Automated change: Fix sanity tests

* review feedback

* fixes

* fixes

* fixes

* Automated change: Fix sanity tests

* speedup

* fix

* fix

* fixes

* fixes

* fixes

* Automated change: Fix sanity tests

* fix

* remove debug code

Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2021-12-15 15:47:56 -08:00
Craig Tiller b95ed96b96
Revert "Revert "Move arena into resource quota (#28008)" (#28292)" (#28293)
This reverts commit 91edf92ce0.
2021-12-06 21:41:06 -08:00
Craig Tiller 91edf92ce0
Revert "Move arena into resource quota (#28008)" (#28292)
This reverts commit ad424a2ebf.
2021-12-06 12:59:28 -08:00
Mark D. Roth d1448872fa
XdsClient: use XdsResourceType abstraction throughout XdsClient (#28165)
* 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 comment

* add missing virtual dtor
2021-12-06 10:14:25 -08:00
Esun Kim ba06eeb07c
Bump to v1.44.0 dev (#28248)
* Bump version to v1.44.0-dev

* Regenerate projects
2021-12-06 09:50:51 -08:00
Craig Tiller ad424a2ebf
Move arena into resource quota (#28008)
* new resource quota integration

* Automated change: Fix sanity tests

* fix

* fix

* fixes

* fixes

* fixes

* Automated change: Fix sanity tests

* fixes

* fixes

* Automated change: Fix sanity tests

* fixes

* fix

* fixes

* windows-fix

* fixes

* fixes

* fix

* fix-asan

* banned

* banned

* fixes

* clang-tidy-fix

* Automated change: Fix sanity tests

* fix-cronet

* review feedback

* review feedback

* Automated change: Fix sanity tests

* fixes

* bug fix

* fixes

* compile fix

* exclude megabyte size payloads from 1byte tests

* windows fix

* start moving ios

* keep moving windows

* Get windows compilation working.

* Automated change: Fix sanity tests

* better

* fixes

* remove slice buffer from memory_allocator.h

* Revert "remove slice buffer from memory_allocator.h"

This reverts commit 234a63b6e3.

* ugh

* #fixtests

* pthread tls fixes

* Automated change: Fix sanity tests

* fixfixfix

* xxx

* add reset

* review feedback

* fix

* fix

* fixes

* fix

* mac progress

* cpp-impl-of

* rename ptr

* Automated change: Fix sanity tests

* memory-owner-is-a-memory-allocator

* fixes

* fix

* fix from prod

* fix

* Fix issue leading to bad pointers being returned on Windows.

* Automated change: Fix sanity tests

* fix multislice bug

* argh

* hyrums law fixes

* hyrums law fixes

* clang-format

* hyrums law fixes

* Move arena into resource quota

* Remove redundant constant

* fixup the tests

* Automated change: Fix sanity tests

* fiiixes

* Automated change: Fix sanity tests

* fixes

* Automated change: Fix sanity tests

* fixes

* fix

* fix

* Automated change: Fix sanity tests

* fixes

Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2021-12-06 08:43:56 -08:00
Mark D. Roth cbe2855866
XdsClient: move resource type parsing out of XdsApi (#28151)
* 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

* remove comment

* add missing virtual dtor
2021-12-03 08:19:54 -08:00
Craig Tiller e21505858f
Move some integer based metadata to the new system (#28198)
* Eliminate most of grpc_message metadata handling

* Eliminate most of host metadata handling

* Remove more callouts without fixing code

* fiiixes

* typo

* Automated change: Fix sanity tests

* try-shrink

* Automated change: Fix sanity tests

* size tweaks

* less tricks

* deunique

* commonize

* commonize

* Automated change: Fix sanity tests

* size tuning, fixes

* Automated change: Fix sanity tests

* fix

* size tuning, fixes

* remove constexpr

* fix

* reuse code

* fix

* tweak code

* more tweaks

* tell no lies

* fixes

* fixes

* Automated change: Fix sanity tests

* fix

* fix

* fix

* fix

* fix?

* fix binder

* fix

* fix

* fixes

* Automated change: Fix sanity tests

* fix

* initial refactoring

* optimize status encoding

* Automated change: Fix sanity tests

* Automated change: Fix sanity tests

* fix

* try to fix windows failure

* try and scale sizes better

* ambiguity fix?

* wip metadatavalueasslice

* Fix status code for resource exhaustion

* Revert "Revert "Move a bunch of slice typed metadata to new system (#28107)" (#28208)"

This reverts commit 7717587063.

* fix test

* Automated change: Fix sanity tests

* slice helper

* x

* noinline

* try and scale sizes better

* Automated change: Fix sanity tests

* fixes

* fix

* fix

* fix build

* fix overflow

* fix

* fix

* fix

* fix

* review feedback

Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2021-12-02 22:02:56 -08:00
Esun Kim 260145c517
Updated backoff to use absl::Random (#27193)
* Replace in-house rand with absl::Random for backoff (#26463)

* Replace in-house rand with absl::Random for backoff

* Run sanity

* Added bscrypt dependency

* Removed ABSL_RANDOM_HWAES_FLAGS

* Remove GCC_WARN_64_TO_32_BIT_CONVERSION = YES

* GCC_WARN_64_TO_32_BIT_CONVERSION to podspec install
2021-12-02 15:22:44 -08:00
Esun Kim 779701ab76
google/api/... (#27928) 2021-11-30 21:36:34 -08:00
Craig Tiller 220cf641fa
Reland slice metadata conversion (#28210)
* Fix status code for resource exhaustion

* Revert "Revert "Move a bunch of slice typed metadata to new system (#28107)" (#28208)"

This reverts commit 7717587063.

* fix test
2021-11-29 13:38:40 -08:00
Craig Tiller 7717587063
Revert "Move a bunch of slice typed metadata to new system (#28107)" (#28208)
This reverts commit 4d432aefc1.
2021-11-24 15:41:36 -08:00
Craig Tiller 4d432aefc1
Move a bunch of slice typed metadata to new system (#28107)
* Eliminate most of grpc_message metadata handling

* Eliminate most of host metadata handling

* Remove more callouts without fixing code

* fiiixes

* typo

* Automated change: Fix sanity tests

* try-shrink

* Automated change: Fix sanity tests

* size tweaks

* less tricks

* deunique

* commonize

* commonize

* Automated change: Fix sanity tests

* size tuning, fixes

* Automated change: Fix sanity tests

* fix

* size tuning, fixes

* remove constexpr

* fix

* reuse code

* fix

* tweak code

* more tweaks

* tell no lies

* fixes

* fixes

* Automated change: Fix sanity tests

* fix

* fix

* fix

* fix

* fix?

* fix binder

* fix

* fix

* fixes

* Automated change: Fix sanity tests

* fix

Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2021-11-24 11:42:37 -08:00
Esun Kim 5088014987
Boringssl update to 4fb1589 (#28194)
* update submodule boringssl-with-bazel with origin/main-with-bazel

* update boringssl dependency to main-with-bazel commit SHA

* regenerate files

* generate boringssl prefix headers

* Increment podspec version
2021-11-23 16:02:56 -08:00
Craig Tiller 672f31c6ac
Channel args preconditioning (#28132)
* Channel args preconditioning

* docs

* fixes

* Automated change: Fix sanity tests

* fix

* fix this again after merge error

Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2021-11-22 15:24:39 -08:00
Esun Kim 461bb5e41f
To LTS 20211102.0 (#27916) 2021-11-18 16:24:44 -08:00
Yash Tibrewal 25446c468a
Support RDS updates on the server (#27851)
* Port changes from #27388

* Reviewer comments

* Fix resource timeout issue

* Cleanup

* Fix clang-tidy

* Revert benchmark

* Restructure

* clang-tidy

* Automated change: Fix sanity tests

* Partial commit

* Reviewer comments

* Fixes

* Reviewer comments

* Reviewer comments

* Reviewer comments

* Reviewer comments

* clang-format

* Fix FaultInjection tests

* clang-tidy

Co-authored-by: yashykt <yashykt@users.noreply.github.com>
2021-11-18 16:10:31 -08:00
Craig Tiller a629c9a03e
Reland resource quota work (#28017)
* Check if memory owner available prior to polling it

The transport may drop the memory owner during its destruction sequence

* tcp_fix

* Revert "Revert "New resource quota integration (#27643)" (#28014)"

This reverts commit 0ea2c37263.

* clang-format

* fix-path

* fix
2021-11-15 08:23:51 -08:00
Craig Tiller 1d63bb02b7
AVL implementation in C++ (#27782)
* avl

* move-code,add-fuzzer

* done

* fix

* Automated change: Fix sanity tests

* buildifier

Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2021-11-12 22:26:09 +00:00
Craig Tiller 0ea2c37263
Revert "New resource quota integration (#27643)" (#28014)
This reverts commit 39f0877d25.
2021-11-11 14:26:19 -08:00
Lidi Zheng f7d4f8e13c
[Aio] Validate the input type for set_trailing_metadata and abort (#27958)
* [Aio] Validate the input type for set_trailing_metadata and abort

* Correct the checking of sequence type
2021-11-11 13:44:55 -08:00
Craig Tiller 39f0877d25
New resource quota integration (#27643)
* new resource quota integration

* Automated change: Fix sanity tests

* fix

* fix

* fixes

* fixes

* fixes

* Automated change: Fix sanity tests

* fixes

* fixes

* Automated change: Fix sanity tests

* fixes

* fix

* fixes

* windows-fix

* fixes

* fixes

* fix

* fix-asan

* banned

* banned

* fixes

* clang-tidy-fix

* Automated change: Fix sanity tests

* fix-cronet

* review feedback

* review feedback

* Automated change: Fix sanity tests

* fixes

* bug fix

* fixes

* compile fix

* exclude megabyte size payloads from 1byte tests

* windows fix

* start moving ios

* keep moving windows

* Get windows compilation working.

* Automated change: Fix sanity tests

* better

* fixes

* remove slice buffer from memory_allocator.h

* Revert "remove slice buffer from memory_allocator.h"

This reverts commit 234a63b6e3.

* ugh

* #fixtests

* pthread tls fixes

* Automated change: Fix sanity tests

* fixfixfix

* xxx

* add reset

* review feedback

* fix

* fix

* fixes

* fix

* mac progress

* cpp-impl-of

* rename ptr

* Automated change: Fix sanity tests

* memory-owner-is-a-memory-allocator

* fixes

* fix

* fix from prod

* fix

* Fix issue leading to bad pointers being returned on Windows.

* Automated change: Fix sanity tests

* fix multislice bug

* argh

* hyrums law fixes

* hyrums law fixes

* clang-format

* hyrums law fixes

Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2021-11-10 22:53:04 -08:00
ZhenLian 2e14f6fa70
Support Custom Post-handshake Verification in TlsCredentials (#25631)
* custom verification refactoring - post-handshake verification
2021-11-10 13:45:52 -08:00
AJ Heller b7d4569d34
Rename the source files for ChannelArgsEndpointConfig (#27972)
* Rename the source files for ChannelArgsEndpointConfig

Previous naming was non-descript

* generate_projects

* add missing file to BUILD, and generate_projects.sh

* correct include guards
2021-11-10 09:22:03 -08:00
AJ Heller 39adc01a57
Reintroduce the EventEngine default factory (#27920)
* Reintroduce the EventEngine default factory

An application can provide an EventEngine factory function that allows
gRPC internals to create EventEngines as needed. This factory would be
used when no EventEngine is provided for some given channel or server,
and where an EventEngine otherwise could not be provided by the
application. Note that there currently is no API to provide an
EventEngine per channel or per server.

I've also deleted some previous iterations on global EventEngine and
EventEngine factory ideas. This new code lives in a public API, and
coexists with iomgr instead of being isolated to an EventEngine-specific
iomgr implementation.

* add proper namespaces, and fix description

* put factory functions in their own file (for replaceability)

* add synchronization

* generate_projects.sh

* extract event_engine_base and event_engine_factory targets

Also separate iomgr/event_engine files in the BUILD, with comments

* gpr_platform

* move all EE factory declarations to event_engine_base

Makes internal hackery easier.

* add missing deps

* reorder dep alphabetically

* comment style change
2021-11-09 10:46:51 -08:00
Mark D. Roth 13d98176b5
bump version on master to 1.43-dev (#27930)
* bump version on master to 1.43-dev

* bump core version

* update g_stands_for.md
2021-11-04 16:19:56 -07:00
Richard Belleville 468768865b
Make Buildifier Sanity Test Strict (#27807)
* Fix all lint errors in repo.

* Use strict buildifier by default

* Whoops. That file does not exist

* Attempt fix to buildifier invocation

* Add missing copyright
2021-11-03 14:57:04 -07:00
Vitaly Buka 9d0922e02d
Init grpc_completion_queue_attributes::cq_shutdown_cb (#27864) 2021-11-01 10:07:09 -07:00
Lidi Zheng 96995801d8
[Aio] Allow sequential types for server interceptors (#27818) 2021-10-25 13:09:06 -07:00
Yash Tibrewal 6d2a641dd3
XdsChannelStackModifier class (#27744)
* ChannelStackModifier class

* Regenerate projects

* clang-tidy

* Use CoreConfiguration for inserting xDS HTTP filters

* New lines

* Move test to test/core/xds

* Add comment for placement of filter stack

* Fix sanity

* Fix memory leak - destroy builder

* Don't build xds_channel_stack_modifier_test on non-bazel build systems due to census dependency
2021-10-22 13:48:30 -07:00
Ming-Chuan 34fdb542b5
Add resolver for binder transport URI scheme (#27529)
This commit is part of the effort to create binder channel with
GRPC_CLIENT_CHANNEL type.

The resolver will be used during name resolution, and the result will
later be used to identify the corresponding endpoint binder in
SubchannelConnector.

Besides the unit test, this change is tested with other changes locally
end to end on real device.
2021-10-21 14:17:19 +08:00
Mark D. Roth 5406048ef6
Second attempt: RLS LB policy (#27748)
* allow connectivity state watching to work on lame channels

* Revert "Revert RLS LB policy (#27738)"

This reverts commit 4567af504e.

* fix build

* fix lame_client_test
2021-10-20 07:41:07 -07:00
Lidi Zheng 09a55f26f9
[Aio] Add add_done_callback/done/cancelled methods to ServicerContext (#27767)
* WIP

* [Aio] Add add_done_callback method to aio server

* Allow >20 public methods on the ServicerContext class
2021-10-19 12:25:18 -07:00
Lidi Zheng 2bc96189b9
[Aio] Correct the typing of input Metadata (#27768) 2021-10-19 11:30:50 -07:00
Bolutife Ogunsola c1d4e96433
Address leak when using request stream interceptors (#25449) (#27571)
* Don't leave pending tasks on the asyncio queue

The results of these pending tasks are not needed, leaving them
on the queue grows the size of the queue until the call completes.

This fix slows the growth of the memory in the test example.

* Address 'leaking' Futures from cygrpc

Cancelling unneeded Tasks is not sufficient as this leaves behind
cancelled Futures in the cygrpc layer, which still occupy memory.

Instead, avoid creating unneeded tasks in the first place.

* Address review comments

1. Ignore unused return values
2. Fix formatting
2021-10-18 17:55:43 -07:00
clayg fbf9801b83
Catch InteralError in _write (#27240) 2021-10-15 14:06:07 -07:00
Mark D. Roth 4567af504e
Revert RLS LB policy (#27738)
* Revert "fix for import of RLS LB policy (#27736)"

This reverts commit cfcdbc4905.

* Revert "RLS LB policy (#27352)"

This reverts commit 84ddc3289f.
2021-10-15 12:19:57 -07:00
Mark D. Roth 84ddc3289f
RLS LB policy (#27352)
* RLS LB policy plugin implementation

* Add RLS tests

* rls proto

* generate projects

* Fix adding child policy to child policy map

* Fix issues

* Fix rotten bits

* generate projects

* revert some strange changes

* First batch of fixes

* second batch of addressing comments

* generate_projects

* 3rd batch of fixes

* generate_projects

* 4th batch of fix

* 5th batch of fix

* Empty commit to trigger github PR refresh

* Add insecure build

* generate project

* update picker in a closure

* mutex guard audit

* clang-format

* Aggregate child policy states

* Use OrphanablePtr on ChildPolicyOwner()

* More fixes on comments

* Remove include grpc_security from rls.cc

* Fix key builder test as we removed RlsFindPathFromMetadata

* Update rls proto and add multi-target capability

* code changes to fix build after merging master

* remove support for insecure builds

* WIP

* add LB policy metadata lookup API

* add API for creating errors from C++ strings

* add missing include

* finished updating JSON parsing

* use DualRefCounted<> for ChildPolicyWrapper

* use grpc_core::Mutex instead of std::recursive_mutex

* add lock annotations and fix some lifetime issues

* misc fixes and cleanups

* simplify child policy connectivity state machine

* add comment about hopping into ExecCtx

* don't use wait_for_ready for RLS call

* extraKeys and constantKeys support

* add lock annotations for child policy wrapper connectivity state

* improve logging

* simplify child policy state handling in picker

* use C++ style comments

* remove rls_config.proto, since it's not needed

* rewrote tests

* fix build

* fix copyright headers

* clang-format

* appease clang-tidy

* remove unnecessary dependendency on grpclb

* buildifier

* remove illegal term

* remove unneeded includes

* clang-format

* fix clang-tidy

* fix build

* move class declaration into .cc file

* clang-tidy again

* fix build

* reorganize code and misc cleanups

* clang-format

* fixed a bunch of asan bugs; still some left to debug

* fix asan problem

* make test work on IPv6-only machines

* move LRU list handling into Cache::Entry and add lock annotations

* use preincrement instead of postincrement

* fix deadlock

* add more FIXMEs

* clean up backoff timer logic

* fix build from merge

* clang-format

* fix include path to work on podspec builds

* clean up picker logic

* clang-format

* update rls.proto

* populate reason and stale_header_data in RLS request

* improve logging and fix some cache size type issues

* clang-format

* add some TODOs about a better way to expose channel creds to LB policies

* centralize handling of channel's default authority

* clang-format

* fix backup poller bug

* fix handling of call creds and authority on RLS channel

* remove unused params

* clang-format

* use two-phase update for child policies to avoid deadlocks

* fix portability issue

* minor cleanups

* update for change in grpc_error_get_status() API

* change test to store RLS requests and responses in proto form

* clang-format

* account for test slowdown factor in timeouts

* fix tsan failure and channelz linkage

* fix RLS authority death test

* fix test to not try to connect to target that should not work

* remove illegal term

* cacheSizeBytes is a required field

* add missing BUILD deps from merge

* add tests for connectivity state reporting and fix bugs found

* fix BUILD sanity

* buildifier

* fix BUILD package path

* fix bugs related to child policy lifetime and updates

* remove unnecessary srand() call from grpc_init()

* add test for two cache entries with the same target

* update rls.proto

* change RLS config parser test to support GRPC_ERROR_IS_ABSEIL_STATUS

* update upb codegen

* fix include path

* add env var guard

* avoid duplication of CountedService

* generate_projects

* add upper limit for cacheSizeBytes

* fix build

Co-authored-by: Muxi Yan <mxyan@google.com>
2021-10-14 12:53:46 -07:00
Craig Tiller 98cf516874
Remove old backwards compatibility cronet compression workaround code (#27701) 2021-10-14 10:36:37 -07:00
Mark D. Roth 464c1c519f
switch to new location of TypedStruct and ORCA protos (#27700)
* upgrade xDS protos

* switch to new location of TypedStruct and ORCA protos

* fix sanity
2021-10-14 10:28:24 -07:00
Mark D. Roth e20dfeccc2
upgrade xDS protos (#27698) 2021-10-13 13:27:47 -07:00
Craig Tiller 1df153f46e
Revert "Revert "Move metadata setting into HPackParser (#27545)" (#27686)" (#27688)
This reverts commit 0e6ced8800.
2021-10-13 08:44:57 -07:00
Yash Tibrewal a61bb8ed5b
Move service config code out of client_client to its own target (#27683)
* Move service config code out of client_client to its own target

* Fix BUILD

* Fix test build

* Reviewer comments

* Reviewer comments

* Automated change: Fix sanity tests

* Reviewer comments

Co-authored-by: yashykt <yashykt@users.noreply.github.com>
2021-10-12 18:30:04 -07:00
Craig Tiller 0e6ced8800
Revert "Move metadata setting into HPackParser (#27545)" (#27686)
This reverts commit f57a1f7d8c.
2021-10-12 08:37:00 -07:00
Craig Tiller f57a1f7d8c
Move metadata setting into HPackParser (#27545)
* forward work to get append, limit check into parser

* further cleanup

* Remove chttp2_incoming_metadata_buffer

* Automated change: Fix sanity tests

* test fixes

* fix cronet

* wip

* first pass mementofication of parsing - libgrpc compiles

* further progress

* fixes

* fixes

* fix leak

* Automated change: Fix sanity tests

* fix leak

* fixes

* x

* improve fuzzer

* init ordering fix

* Update hpack_parser_table.h

* Update hpack_parser.cc

* Update hpack_parser_test.cc

* Automated change: Fix sanity tests

* Automated change: Fix sanity tests

* i mustache myself why

* fix use after free

* Automated change: Fix sanity tests

* fixes

* eliminate second pass metadata - this is an illegal frame and fails the new parser

* handle mementos with size > sizeof(intptr_t)

* fix

* add parsed metadata header, test

* Automated change: Fix sanity tests

* fix includes

* phase1

* phase2

* Update parsed_metadata.h

* fix

Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2021-10-11 20:02:29 -07:00
Craig Tiller a21ad2c296
Remove UDP code - it's unused (#27595)
* Remove UDP code - its unused

* Automated change: Fix sanity tests

Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2021-10-11 13:34:47 -07:00
Craig Tiller 8d8d07139c
Fix client idle filter (#27611)
* trial-change

* compiles!

* added test

* Automated change: Fix sanity tests

* update test

* Fix slow idle detection

* review feedback

Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2021-10-08 12:30:11 -07:00
Lidi Zheng 60028a82a9
[Aio] Resolve deprecated warnings from asyncio (#27635)
* [Aio] Resolve deprecated warnings from asyncio

* Use 3.6 compatible way of creating an asyncio.Task
2021-10-07 14:05:09 -07:00
Craig Tiller 79ef60f079
Integrate new resource quota, event engine (#27522)
* Integrate new resource quota, event engine

* Automated change: Fix sanity tests

* windows fix

* Automated change: Fix sanity tests

* Update memory_allocator.h

* Automated change: Fix sanity tests

* first round review feedback

* review feedback

* Automated change: Fix sanity tests

* Update memory_quota.h

* get re-export formatted right

* Automated change: Fix sanity tests

* Update memory_allocator.cc

* Automated change: Fix sanity tests

* MemoryOwner has-a MemoryAllocator

* using fix

* review feedback

* Automated change: Fix sanity tests

Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2021-10-06 13:29:57 -07:00
Mark D. Roth 3d83dd3776
Revert "Revert "centralize handling of channel's default authority (#27544)" (#27616)" (#27624)
This reverts commit 0611f7c9b3.
2021-10-06 12:15:55 -07:00
Esun Kim c56b0a3818
Update boringssl to the latest (#27606)
* Change boringssl branch name

* update submodule boringssl-with-bazel with origin/main-with-bazel

* update boringssl dependency to main-with-bazel commit SHA

* regenerate files

* Increment podspec version

* generate boringssl prefix headers
2021-10-06 10:02:23 -07:00
Mark D. Roth 0611f7c9b3
Revert "centralize handling of channel's default authority (#27544)" (#27616)
This reverts commit f0a0628795.
2021-10-06 07:26:24 -07:00
Mark D. Roth f0a0628795
centralize handling of channel's default authority (#27544)
* centralize handling of channel's default authority

* clang-format

* fix backup poller bug
2021-10-05 11:57:47 -07:00
Craig Tiller 9b41852a5e
channel_init --> core configuration system (#27347)
* channel_init --> core configuration system

* Automated change: Fix sanity tests

* fixes

* Automated change: Fix sanity tests

* fixes

* fixes

* eliminate grpc_base_c

* fixes

* fix merge

* fix

* update visibility

* fixes

* feedback

* fix comment

Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2021-09-27 15:51:39 -07:00
Craig Tiller c5172a134e
Fix build splitup for slices. (#27452)
* slice fix

* fix properlike

* Automated change: Fix sanity tests

* actually delete the code that should have been

* fixes

Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2021-09-23 16:36:43 -07:00
Craig Tiller d4407b7e59
Revert "Remove dead code (#27445)" (#27461)
This reverts commit 693f36f91c.
2021-09-23 12:56:40 -07:00
Craig Tiller 693f36f91c
Remove dead code (#27445)
* Remove dead code

* Automated change: Fix sanity tests

* build

* remove benchmark

Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2021-09-22 19:31:00 -07:00
Craig Tiller ffa4365031
Separate common slice utilities, grpc_error into their own libraries (#27441)
* make error independent

* Separate grpc_error into its own library

This is forward work to move Closure, ExecCtx into their own libraries
in order to make use of them in the activity code for resource quota
wakeups.

* Automated change: Fix sanity tests

* fixes

Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2021-09-22 18:44:32 -07:00
Craig Tiller 66ae0d5c08
Separate slices from mdelems for static data (#27372)
* separate slice into internal and refcount, with refcount being the minimal base

* python3-ize

* Separate slices from mdelems for static data

Allows us to separate a small build target with just some slice basics
from the rest, which will help simplify the build system longer term.

Additionally exposed an opportunity to eliminate an init function.

Should also help in a month or so when it's time to jettison interned
metadata and slices entirely.

* fix compilation

* Automated change: Fix sanity tests

* fixes

* fixfixfix

Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2021-09-21 17:27:54 -07:00
donnadionne b9a997be11
Bump version to v1.41.0 (#27370)
* Bump version to v1.41.x

* Regenerate projects
2021-09-16 16:32:34 -07:00
Esun Kim 91e0660638
Replace grpc_error* with grpc_error_handle (#27311)
* Replace grpc_error* with grpc_error_handle

* fix python build
2021-09-14 16:33:42 -07:00
francisco souza f97bf05169
python: fix type annotation for the _metadata field (#27251)
It's a tuple with many MetadatumType's.

Co-authored-by: francisco souza <fsouza@users.noreply.github.com>
2021-09-13 16:25:53 -07:00
Craig Tiller 999e36fb31
Rebuild HPACK encoder table as C++ (#27192)
* Rebuild HPACK encoder table as C++

* move comment

* incguards

* build

* Automated change: Fix sanity tests

* c++ initialization ftw

* Automated change: Fix sanity tests

* Add missing header

* Add missing header

Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2021-09-02 14:55:33 -07:00
Lidi Zheng 4729f6fdcc
Add Python 3.10 drop 3.5 (#26074)
* Add Python 3.10.0rc1 binary wheels

* Drop Python 3.5 artifacts

* Document the drop of 3.5

* Fix the wrong pip pointer

* Update manylinux2014 to a newer version, remove 3.5 distribtest

* Update manylinux aarch64 to see if the absl error go away

* Use the preferred alias

* Allow different wheel library to produce different tag order

* Remove unused shell var and log produced wheels

* Use copy instead of move

* Make bash happy about the wildcard

* Upgrade the debian image to use 3.5+ Python

* Polish the comments for the Dockerfiles
2021-09-02 14:02:53 -07:00
Richard Belleville 8fca16ac45
Add compute_engine_channel_credentials to __all__ (#27235)
* Add compute_engine_channel_credentials to __all__

* And amend api_test
2021-09-02 13:25:15 -07:00
donnadionne 022cff7d7c
update submodule boringssl-with-bazel with origin/master-with-bazel (#27208)
* update submodule boringssl-with-bazel with origin/master-with-bazel

* update boringssl dependency to master-with-bazel commit SHA

* regenerate files

* Updated sha256

* generate boringssl prefix headers

* Increment podspec version
2021-09-01 11:25:01 -07:00
AJ Heller 2d16865693
Delete libuv-iomgr implementation and GRPC_UV build option (#27188)
This has been unmaintained for years, last supported in gRPC-core v1.24.
2021-08-31 13:26:43 -07:00
Ashitha Santhosh 1ff1f8fd83
SDK authorization filter. (#26468)
* SDK authorization filter.
2021-08-25 21:00:35 -07:00
Lidi Zheng d3d5dec5b8
[Aio] Remove custom IO manager support (#27090)
* [Aio] Remove custom IO manager support

* Patch
2021-08-24 12:15:35 -07:00
Nicolas 'Pixel' Noble 69661fb82e Regenerate projects 2021-08-21 02:04:00 -07:00
Craig Tiller 4c8a0d91c6
Call into plugin registry from config code (#27041)
* Call into plugin registry from config code

* Automated change: Fix sanity tests

* Remove unused name

* Remove unused name

Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2021-08-18 08:39:08 -07:00
Taner Topal da37344a8a
Fix docstring gramma in Python module (#26959) 2021-08-17 12:39:34 -07:00
Tamir Duberstein 00c03c55ff
Implement type safety for TLS (#26942)
* Implement type safety for TLS

This is mostly free when compiler support is available, but requires
careful templating when implemented using pthread.

Significantly slimmed the tls.h interface; it now only defines the "TLS
keyword" for each supported compiler, delegating enforcement of correct
usage (i.e. must be static) to the compiler itself.

Implemented implicit conversion for the pthread wrapper so it can be
used (mostly) the same as native support. Notable exception to this is
that static_cast<void*> is needed when printing a pointer stored in TLS
as %p.

* Use GPR_THREAD_LOCAL macros consistently
2021-08-11 13:24:26 -07:00
Lidi Zheng 826da6136c
Update Envoy API to the latest version (2021-07-30) (#26848)
* Bump Envoy and related submodules to latest

* Update googleapis

* Update scripts for newer submodules

* Update udpa

* Add opentelemetry

* Python changes for opentelemetry

* Update udpa in check_submodules

* Add opentelemetry to check submodules

* Regenerate upb files

* Add new proto dependency to upb-gen and Bazel

* Regenerate project
2021-08-03 09:12:42 -07:00
Lidi Zheng 2231c2ba77
Introduce Python import sorting to our sanity test suite (#26768)
* Add isort_code.sh to sanity tests

* Run tools/distrib/isort_code.sh

* Fine tune the import order for relative imports

* Make pylint and project generation happy

* Fix a few corner cases

* Use --check instead of --diff

* The import order impacts test result somehow

* Make isort print diff and check output at the same time

* Let tools/run_tests/python_utils be firstparty library

* Run isort against latest HEAD
2021-07-26 12:31:21 -07:00
dpcollins-google dbec97eb0a
[Aio][fix] catch application exception in request iterators (#26706)
* fix: If client request iterators raise exceptions, _consume_request_iterator should not dump its stack to stderr

fixes: #25339

* fix: use format_exc

* fix: linter

* fix: lint round 2
2021-07-22 10:22:55 -07:00
AJ Heller a10a5bf655
Changes from feedback on gRFC L82: gRPC Core EventEngine API (#26733) 2021-07-21 13:27:04 -07:00
yihuaz b9a69481c2
Revert "Support user provided "scope" in JWT and GDC (#26577)" (#26645)
This reverts commit 6df967966b.
2021-07-09 15:05:34 -07:00
apolcyn 0e6c888574
Bump version to 1.40.0-dev (#26600)
* Bump version to 1.40.0

* Regenerate projects

* Tweak version.cc.template to satisfy formatter

* Regenerate projects
2021-07-02 14:33:34 -07:00
yihuaz 6df967966b
Support user provided "scope" in JWT and GDC (#26577)
* support scope overriding in jwt and gdc

* fix formatting

* fix bazel build issue

* fix clang tidy
2021-07-01 10:26:33 -07:00
Vijay Pai ea4b68e7a1
Drop experimental tags from core callback API (#26535) 2021-06-24 17:20:43 -07:00
yihuaz 932dbed49d
Revert "Allow to specify user provided audience in google default credentials and JWT credentials (#26456)" (#26531)
This reverts commit 5a91a513fd.
2021-06-22 16:30:30 -07:00
Dante Camarena a3a7e55367
Python AIO: Match continuation typing on Interceptors (#26500) 2021-06-22 09:53:14 -07:00
AJ Heller 25d91e3091
New iomgr implementation backed by the EventEngine API (#26026)
This code adds an iomgr implementation that's backed by an EventEngine. This uses the EventEngine API alone, and separate work will introduce an EventEngine prototype to plug into it.

See also drfloob#1: @nicolasnoble has a pull request against this branch, implementing the libuv-based EventEngine. One goal here is to implement the iomgr code such that it can be merged independently without affecting normal builds.

This implementation can be built using bazel build --cxxopt='-DGRPC_USE_EVENT_ENGINE' :all

Some shortcuts are being taken to get a working, testable version of the engine. EventEngines are not pluggable, for example.
2021-06-18 12:30:09 -07:00
Jan Tattermusch 451127740d
Revert "Replace in-house rand with absl::Random for backoff (#26463)" (#26476)
This reverts commit b5191d0930.
2021-06-14 21:56:35 -07:00
Esun Kim b5191d0930
Replace in-house rand with absl::Random for backoff (#26463)
* Replace in-house rand with absl::Random for backoff

* Run sanity

* Added bscrypt dependency
2021-06-11 16:29:45 -07:00
ZhenLian 5a91a513fd
Allow to specify user provided audience in google default credentials and JWT credentials (#26456)
* support user provided audience in gdc and jwt
2021-06-11 09:44:46 -07:00
Lidi Zheng a3ae8e00a2
Revert "Allow to specify user provided audience in google default credentials and JWT credentials (#26392)" (#26440)
This reverts commit 304262e135.
2021-06-07 15:24:54 -07:00
Ashitha Santhosh b9a643a817
Static policy provider implementation. (#26134) 2021-06-03 23:18:08 -07:00
yihuaz 304262e135
Allow to specify user provided audience in google default credentials and JWT credentials (#26392)
* support user provided audience in gdc and jwt

* fix 1st round of comments

* fix ruby and php to use new GDC API

* fix python clang issue

* address 2nd round of comments

* fix string_view issue

* remove length param in string_view constructor
2021-06-03 16:02:19 -07:00
Richard Belleville 67f0330c10
Fix metadata plugin for concurrent invocations (#26405)
* Fix metadata plugin for concurrent invocations

* Disable broad-except lint error
2021-06-01 15:25:56 -07:00
Richard Belleville 05aa736840
Fix bazel copyright notices (#26353)
* Add copyright to Bazel files

* Add check for copyright in Bazel files

* Remove unintentional file
2021-05-25 12:15:30 -07:00
Isabel Andrade aaa7f13b17
Handle gevent exception in gevent poller (#26058)
* Handle gevent exception in gevent poller

Currently the gevent poller ignores exceptions raised by
`gevent.wait()`, which causes greenlets to be unkilable while waiting.

This change handles exceptions raised while waiting in the gevent
poller, cancels the gRPC call and propagates the error back to the
application.

Co-authored-by: Kostis Lolos <klolos@arrikto.com>

* Fix imports in header files

* Lint gevent tests

* Set grpc event type to GRPC_QUEUE_SHUTDOWN upon cancel error

To prevent `grpc_completion_queue_next()` to be called indefinitely when
the queue is shut down.

* Remove unnecessary `except *`

* Improve gevent tests

* Format code

* Remove unnecessary import

Co-authored-by: Kostis Lolos <klolos@arrikto.com>
2021-05-24 15:03:29 -07:00
Richard Belleville c0f346423c
Fixes #26322 (#26340)
* Fixes #26322

* Support runtimes without contextvars

* Hoist member declaration higher
2021-05-21 17:12:36 -07:00
Yash Tibrewal a989179ace
Bump master to v1.39.0 (#26207)
* Bump version to v1.39.0

* Regenerate projects

* Buildifier format
2021-05-11 06:49:10 -07:00
Lidi Zheng dc63d6a53e
Add CSDS API to Python (#26114)
* Add grpcio-csds pacakge

* Remove unused file

* Fix the proto import path issue

* Update the CSDS package and xds-protos for PY2

* Make tests happy

* Fix Bazel proto dependency

* Add Python2 tests for CSDS
2021-05-03 11:54:34 -07:00
Lidi Zheng ff79a925ed
Revert "Revert "Expose code and details from context on the server side (#25457)" (#26112)" (#26143)
This reverts commit ff9ece1588.
2021-05-03 10:36:36 -07:00
Mark D. Roth 4c40ee3f78
move parse_address and sockaddr_utils out of iomgr directory (#26077)
* move parse_address and sockaddr_utils out of iomgr directory

* clang-format

* fix python

* fix for import

* fix build file for import
2021-04-30 08:21:58 -07:00
Yash Tibrewal fe56d1a39a
Update boringssl submodule (#26101)
* update submodule boringssl-with-bazel with origin/master-with-bazel

* Update boringssl dependency to master-with-bazel commit SHA

* Generate projects

* Updated boringssl sha256

* Generate boringssl prefix headers

* Increment podspec version
2021-04-29 11:10:00 -07:00
Alisha Nanda ff9ece1588
Revert "Expose code and details from context on the server side (#25457)" (#26112)
This reverts commit 506db80475.
2021-04-28 15:11:25 -07:00
Chris St. Pierre 506db80475
Expose code and details from context on the server side (#25457)
* Expose code and details from context on the server side

This makes them accessible to server-side interceptors.

* Complete synchronous implementation

* Add experimental API notes

* Complete async implementation

* Revert bogus copyright change

* Fix metadata tests for py2.7

* Add new test to tests.json

* Check error codes in tests

* Bump autogenerated Python version
2021-04-28 10:15:11 -07:00
Yash Tibrewal 4768210ec8
s/OnServingStatusChange/OnServingStatusUpdate (#26010)
* s/OnServingStatusChange/OnServingStatusUpdate

* Update python files
2021-04-26 15:36:35 -07:00
Esun Kim ca945a58e9
Introduced grpc_error_handle (#25902)
- Define grpc_error_handle
- Replace grpc_error* with grpc_error_handle
2021-04-22 12:00:28 -07:00
Esun Kim 2d8936b097
Added status_helper (#25901)
Added status_util
2021-04-22 11:54:19 -07:00
Mark D. Roth feff79abc7
add test-only channel arg to set per-channel xDS bootstrap config (#25936)
* pass XdsClient to LB policies via channel args

* add channel arg for overriding bootstrap config on a per-channel basis

* change tests to use new channel arg approach -- currently failing for server-side tests

* use the same channel args approach on the server side

* clang-format

* fix CircuitBreakingMultipleChannelsShareCallCounter test

* fix XdsEnabledServerTest test

* add TODO

* clang-format

* generate_projects

* fix clang-tidy

* fix build

* attempt to fix python
2021-04-21 10:16:33 -07:00
Richard Belleville da2cf25592
Fix potential deadlock on the GIL (#26009) 2021-04-20 10:02:53 -07:00
AJ Heller 4c59b17d40
Remove eventmanager_libuv code (#25811)
Reintroduces this code removal after a failed import. This needed special handling via cherry pick.
2021-04-08 13:32:53 -07:00
Lidi Zheng 05ae3c5a87
Remove -std=gnu99 CFlag when compiling C++ with clang (#25778)
* Remove -std=gnu99 CFlag when compiling C++ with clang

* Use endswith instead of hard-coded slices

* Fix a typo
2021-04-06 06:50:40 -07:00
Lidi Zheng 09f17db9ca
[Aio] Gracefully handle RPCs ends pre-maturely (#25884)
* Gracefully handle RPCs ends pre-maturely

* Fix a typo
2021-04-05 16:59:23 -07:00
AJ Heller 4d4ee609c1
gRPC EventEngine Interface (#25795) 2021-04-05 09:26:16 -07:00
Mark D. Roth 3f19333ced
Move retry code into its own filter in the DynamicFilter stack (#25820)
* rename ChannelData to ClientChannel

* make ClientChannel class definition public

* move retry code to its own filter

* move LB call factory method to ClientChannel class

* move dynamic termination filter out of ClientChannel class

* update comments

* remove retry parsing from client channel service config parser

* fix clang-tidy

* fix service_config_test

* clang-format
2021-03-31 15:39:14 -07:00
Richard Belleville 9964ae875b
Bump master version to 1.38 (#25838)
* Bump version to 1.38

* Regenerate projects
2021-03-30 13:57:13 -07:00
Esun Kim 37eecd3ce3
Updated Abseil to LTS 20210324.0 (#25835)
* Updated abseil-cpp to 20210324.0
* UBSAN with -fsanitize-link-c++-runtime
2021-03-30 09:22:05 -07:00
Yash Tibrewal 5c49bf4209
Remove old grpc_string_to_sockaddr and rename grpc_string_to_sockaddr_new to grpc_string_to_sockaddr (#25831) 2021-03-29 16:04:10 -07:00
Lidi Zheng cccafaf10f
Remove async mark for set_trailing_metadata interface (#25814) 2021-03-25 11:09:24 -07:00
AJ Heller 1694984846
Revert "Remove unused eventmanager_libuv code (#25796)" (#25807)
This caused problems internally. The interface deletion needs a cherrypick, but I will do an overnight test first, before I reintroduce. CC @nicolasnoble
2021-03-24 17:17:42 -07:00
AJ Heller 077f627aef
Remove unused eventmanager_libuv code (#25796) 2021-03-24 11:21:05 -07:00
Lidi Zheng 1040fbdb9f
Re-introduce "CSDS Implementation" (#25762)
* Revert "Revert "CSDS Implementation (#25038)" (#25745)"

This reverts commit 98fd4e1e36.

* Add xDS special Bazel build rules

* Add 2 todos to remove the added rules
2021-03-22 13:14:19 -07:00
Lidi Zheng 98fd4e1e36
Revert "CSDS Implementation (#25038)" (#25745)
This reverts commit 27de24a38e.
2021-03-17 13:38:47 -07:00
donnadionne 26fd0ce3c9
Generating hash for ring_hash policy (#25415) 2021-03-16 18:24:35 -07:00
Lidi Zheng 27de24a38e
CSDS Implementation (#25038)
* Implement the xDS Config Dump as CSDS in Core

* Revemp the logic of caching and constructing the CSDS response
* Unref created error
* Fix the clang tidy complains
* Resolve comments about symbol preload and Json ctor
* Improve readability
* Merge with new ADS logic && support latest CSDS
  * Refactor the version/client_status logic
  * Add support for error_state
  * Add support for does_not_exist
  * Add node information
* Fix the ProtoBuf segfault
* More test cases
* Refactor to use bytes as cache instead of JSON

* Apply clang_tidy's suggestion

* Resolve reviewer's requests

* Tiny stylish fixes && make sanity test happy

* WIP: still working on the matchers

* Update a bunch of matchers

* Improve readability a bit

* Resolve reviewer's suggestions

* Resolve reviewer's comments

* Make Unpack fail fast
2021-03-16 18:17:37 -07:00
Lidi Zheng 633b695af4
Mark Python interceptors as stable (#25739) 2021-03-16 16:47:43 -07:00
Yash Tibrewal 7021b72d1f
Revert Revert Xds Status Notifier (#25718)
* Revert "Revert "xDS status notifier (#25321)" (#25702)"

This reverts commit 3c9f3972e3.

* Remove connection from map when OnClose is not registered

* Reviewer comments
2021-03-15 14:29:06 -07:00
Lidi Zheng 83b19b2efe
[Aio] Add time_remaining method to ServicerContext (#25719)
* [Aio] Add time_remaining method to ServicerContext

* Fix comments

* Resolve reviewer's requests
2021-03-15 14:07:47 -07:00
Yash Tibrewal 3c9f3972e3
Revert "xDS status notifier (#25321)" (#25702)
This reverts commit 81e90432e1.
2021-03-12 08:54:34 -08:00
Lidi Zheng 3b067c9f3f
Implement xDS client-side fault injection filter (#24354)
* Refactored with dynamic filters
* Error-tolerance tuned
* Fix leak of grpc_error and data race of canceller
* Adopt the latest xDS HTTP filter framework
* Fix fault injection tests' conflict with router filter
* Test alternative setup (override, no-override) without copy
* Refactor file strcutures of fault injection filter
* Rewrite the Json parsing/assembling logic again
* Added logic for aborting streaming RPC && resolve comments
2021-03-09 13:14:21 -08:00
Yash Tibrewal 81e90432e1
xDS status notifier (#25321)
* Serving status notification for xds enabled servers
2021-03-08 21:47:13 -08:00
Ashitha Santhosh bd86187f19
SDK authorization policy translator. (#25361)
* SDK authorization policy translator.
2021-03-05 09:05:11 -08:00
Jan Tattermusch fcd43e9030
Crosscompile python aarch64 wheels with dockcross (#25418)
* build aarch64 python wheels via crosscompilation

* yapf format code

* fix shellcheck complaints

* fix python37 aarch64 wheel build

* build python wheels on linux aarch64 with static libstdc++

* yapf format code
2021-03-02 07:32:28 +01:00
Mark D. Roth 49601b0334
Second attempt: xDS HTTP filter support for gRPC client (#25558)
* Revert "Revert "xDS HTTP filter support for gRPC client" (#25555)"

This reverts commit 785a128a83.

* xds_end2end_test: avoid flakes from lingering shutdown from previous test
2021-02-26 07:39:27 -08:00
donnadionne 785a128a83
Revert "xDS HTTP filter support for gRPC client" (#25555)
This reverts commit b2164837a8.
2021-02-25 07:18:43 -08:00
Richard Belleville ac34f559bb
Fix Signal Safety Issue (#25394)
* Decrease flake rate

* Spruce up comments
2021-02-20 16:12:35 -08:00
Richard Belleville ee915d8a15
Merge pull request #25410 from gnossen/unrevert_xds_creds
Reintroduce xDS Creds
2021-02-12 10:25:27 -08:00
Mark D. Roth b2164837a8 xDS HTTP filter support for gRPC client 2021-02-11 13:17:15 -08:00
Richard Belleville e76d75f520 Revert "Revert "Merge pull request #25365 from gnossen/python_xds_creds""
This reverts commit 7bbefc8365.
2021-02-10 15:53:49 -08:00
Richard Belleville 47ea5518b1 Merge remote-tracking branch 'origin/master' into unrevert_xds_creds 2021-02-10 15:53:42 -08:00
Richard Belleville b120008ea3 Fix API 2021-02-10 15:31:03 -08:00
Richard Belleville 9c40041050
Merge pull request #25407 from gnossen/revert_xds_creds
Revert "Merge pull request #25365 from gnossen/python_xds_creds"
2021-02-10 11:22:38 -08:00
Richard Belleville 8d484bd49e
Merge pull request #25383 from gnossen/fix_grpc_future_docs
Clarify Guarantees about grpc.Future Interface
2021-02-10 11:12:50 -08:00
Richard Belleville 7bbefc8365 Revert "Merge pull request #25365 from gnossen/python_xds_creds"
This reverts commit b80d374b93, reversing
changes made to df062598c0.
2021-02-10 11:06:02 -08:00
Lidi Zheng a72c72f6e3
Merge pull request #25388 from lidizheng/master
Bump version of HEAD to v1.37.0-dev
2021-02-09 15:11:35 -08:00
Richard Belleville 762a29cddf Integrate additional guarantee into existing statement 2021-02-09 12:52:29 -08:00
Yash Tibrewal 15779f7b91
Merge pull request #25380 from yashykt/removedisrespecfulterm3
Replace disrespectful words
2021-02-09 12:07:25 -08:00
Lidi Zheng 51659eb06e Regenerate projects 2021-02-09 11:45:06 -08:00
Richard Belleville b80d374b93
Merge pull request #25365 from gnossen/python_xds_creds
Implement Python Client and Server xDS Creds
2021-02-09 09:57:00 -08:00
Richard Belleville 8b5663fb91 Unref fallback credentials 2021-02-08 16:46:05 -08:00
Richard Belleville 459ceb026d Clarify the Future interface 2021-02-08 15:49:05 -08:00
Yash Tibrewal 7a5288d2a0 Replace disrespectful words 2021-02-08 14:29:18 -08:00
Lidi Zheng 542e7cb409
Merge pull request #25357 from lidizheng/update-envoy
Update xDS protos
2021-02-08 13:15:54 -08:00
Richard Belleville 2c35187473 Fix aio server 2021-02-05 12:27:18 -08:00
Richard Belleville 23f6d4c75f Merge remote-tracking branch 'origin/master' into python_xds_creds 2021-02-05 11:47:10 -08:00
Richard Belleville a905065a98 Yapf 2021-02-05 11:43:48 -08:00
Richard Belleville 8988646903 Clean up 2021-02-05 11:42:22 -08:00
Richard Belleville e803bdb578 Add API to initialize xDS server 2021-02-05 11:36:08 -08:00
Lidi Zheng 0b04a92aba Regenerate project 2021-02-05 10:22:24 -08:00
Lidi Zheng c78c6ae20d regenerate files 2021-02-04 17:16:22 -08:00
Lidi Zheng 50f2fdd3cf Update the BUILD chain for the moved protos 2021-02-04 17:08:16 -08:00
Esun Kim 0cf94e3fdd Add time-util 2021-02-01 17:31:46 -08:00
Richard Belleville 20be83e886 Use the new insecure channel credential object 2021-01-27 16:19:49 -08:00
Mark D. Roth 0a0aae8ee8
Merge pull request #25215 from markdroth/c2p_resolver
Implement google-c2p resolver.
2021-01-26 15:03:26 -08:00
Richard Belleville 293d7c46fe Implement xds_channel_credentials and xds_server_credentials 2021-01-22 12:08:01 -08:00
Donna Dionne 19b1f8f64a Cds Watchers changes to support aggregate Cds and Logical DNS Cds. 2021-01-21 14:25:50 -08:00
Mark D. Roth 80ede5992a Implement google-c2p resolver. 2021-01-20 14:37:21 -08:00
Jan Tattermusch 0b1798412b
Revert "Wrap strerror into a thread-safe implementation" 2021-01-20 16:33:27 +01:00
Ashitha Santhosh 4ca878799b Refactor [String/Header/Path]matchers in xds_api. 2021-01-15 12:32:54 -08:00
Yang Gao 25c0d5974e
Merge pull request #25140 from yang-g/strerror
Wrap strerror into a thread-safe implementation
2021-01-13 13:35:25 -08:00
Sergii Tkachenko 8db79e2e71 Python style: reformat code using updated yapf 0.30.0 2021-01-13 14:00:12 -05:00
yang-g cf26f0133a Wrap strerror into a thread-safe implementation 2021-01-13 08:54:51 -08:00
Stanley Cheung fe2e96f9f3 Regenerate projects 2021-01-06 19:52:32 -08:00
Stanley Cheung 5564ac0cce Regenerate projects 2021-01-06 19:40:00 -08:00
Alexander Polcyn 8215b21dc1 move grpc_ares_ev_driver and fd_node definitions into grpc_ares_wrapper.cc 2020-12-28 11:51:16 -08:00
Alexander Polcyn ef52044862 remove unnecessary grpc_ares_wrapper_fallback.cc 2020-12-23 11:20:43 -08:00
Mark D. Roth 8439ed152e
Merge pull request #24920 from markdroth/client_channel_split4
Add dynamic filters between name resolution and load balancing.
2020-12-22 13:18:57 -08:00
Esun Kim d1bef160e5 Added upb/json 2020-12-21 19:16:52 -08:00
Esun Kim d24a66af72 Regen project files 2020-12-21 11:35:07 -08:00
Mark D. Roth 7d46e37251 Add dynamic filters between name resolution and load balancing. 2020-12-21 09:27:14 -08:00
Yash Tibrewal 4105d2ce20 XdsServerBuilder, config fetching per resolved address and delaying bind/listen till fetch is complete 2020-12-16 12:15:52 -08:00
Richard Belleville 9e58d0645b
Merge pull request #24993 from gnossen/lazy_import_grpc_tools
Lazily import grpc_tools when using runtime stub/message generation
2020-12-15 16:43:58 -08:00
Richard Belleville 416f8f6d5c Factor out error functions 2020-12-15 13:22:08 -08:00
Richard Belleville 3da0a9a68d Remove trailing whitespace 2020-12-14 18:04:38 -08:00
Richard Belleville faa4ea2863 Docstring. Formatting 2020-12-14 17:38:34 -08:00
Richard Belleville 6b06bf4938 Lazily import grpc_tools 2020-12-14 17:27:24 -08:00
Donna Dionne 4f8ed98f3e Xds cluster resolver
Implemented new xds cluster resolver config
Separated policy and discovery mechanism
2020-12-14 16:05:15 -08:00
Lidi Zheng 0dd3f7e65b
Merge pull request #24946 from lidizheng/abort-annotation
[Aio] Correct type annotation of grpc.aio.ServicerContext.abort
2020-12-09 14:44:12 -08:00
Lidi Zheng 45b4608a02 Correct the type annotation of abort 2020-12-09 10:10:30 -08:00
Yash Tibrewal c9e99945ec Add SANs matching for xDS credentials 2020-12-08 15:15:39 -08:00
AJ Heller 880a854f0e Convert URI parser to C++ #24701 2020-12-07 12:13:22 -08:00
Mark D. Roth d6298ed3dc
Merge pull request #24806 from markdroth/client_channel_split0
Eliminate ResolvingLoadBalancingPolicy.
2020-12-01 08:09:52 -08:00
Mark D. Roth 0e13934764 Eliminate ResolvingLoadBalancingPolicy. 2020-11-30 11:37:37 -08:00
Lidi Zheng 2d7d354c92
Merge pull request #24818 from lidizheng/aio-max-concurrent
Add limit concurrent RPC feature to asyncio server
2020-11-24 12:59:07 -08:00
Lidi Zheng 3da3cc2168 Add limit concurrent RPC feature to asyncio server
* Reduce the allocation of new function
2020-11-23 14:45:34 -08:00
Lidi Zheng 511af22c78 Hopefully fixed 27 build on winserver2016
* Download the working msys64 and use it to compile 27
* Remove the cygwin detection override logic
* Only install Python interpreters in jobs running on winserver2016
* Fix the batch script substring check
* Increase the timeout for related jobs
* TIL that there is an allow list for Kokoro env vars
2020-11-23 14:17:58 -08:00
Lidi Zheng a0883ea81a Found another typo in the comment 2020-11-20 13:24:45 -08:00
Lidi Zheng 06ce4cb51c Use the correct adjective for false 2020-11-20 13:04:09 -08:00
Lidi Zheng 2996c03114 Fix the emtpy response handling in streaming RPC 2020-11-20 12:16:21 -08:00
Chuan Ren 1faf030cc4 Add aws-sourced external credentials 2020-11-19 11:20:35 -08:00
yulin-liang 2ffa791ae6 Regenerate projects 2020-11-17 13:10:08 -08:00
Mark D. Roth 28c795f542
Merge pull request #24618 from renkelvin/aws-signer
[3PI Support] Add aws signature v4 signer
2020-11-12 07:43:05 -08:00
Chuan Ren bedaeb5265 Add aws signature v4 signer 2020-11-11 15:55:16 -08:00
Lidi Zheng 4dab5d3deb
Merge pull request #24718 from lidizheng/stop-ctrl-c-spam
Stop the spamming log generated by ctrl-c for AsyncIO server
2020-11-11 15:14:27 -08:00
Yash Tibrewal d45bbe46e0 File watcher certificate provider config parsing 2020-11-10 15:49:23 -08:00
Lidi Zheng c0e0207fde Add the empty line back 2020-11-10 14:37:43 -08:00
Lidi Zheng a012edf10f Stop the ctrl-c spam 2020-11-10 14:33:14 -08:00
capstan 3b9484afcb Rerun tools/buildgen/generate_projects.sh under Python 3.
This generates reordered lists, presumably dict traversal issues, and there are whitespace diffs in the emitted .json files.
2020-11-04 01:31:40 +01:00
yulin liang 75044f89f1
Merge pull request #24657 from yulin-liang/update-boringssl
1.34 Release [T - 4w] Updating boringssl
2020-11-03 13:53:47 -08:00
Esun Kim e0cbc7e5dd
Merge pull request #24245 from veblush/stacktrace
Add stack-tracer to gRPC
2020-11-03 13:50:41 -08:00
yulin-liang afc556a4c3 renegerate files 2020-11-03 11:53:12 -08:00
Chuan Ren 2b1265b42f Add file-sourced external credentials 2020-11-02 14:11:50 -08:00
Yash Tibrewal f0edcac24b
Merge pull request #24579 from yashykt/xdscertificateprovider
Add XdsCertificateProvider
2020-11-02 11:28:45 -08:00
Esun Kim f3e75c1fa9 Add stack-tracer to gRPC 2020-11-01 23:02:39 -08:00
Lidi Zheng 0bad97452d
Merge pull request #24614 from lidizheng/not-found-windows
Fix a typo in Python's Windows build
2020-10-30 12:51:05 -07:00
Yash Tibrewal e11a670736 Add XdsCertificateProvider 2020-10-30 10:15:57 -07:00
Lidi Zheng 1eedd0a693 Add extra safe guard to prevent this function misbehave again 2020-10-30 10:15:33 -07:00
Lidi Zheng ca2b0f5f07 Fix typo in Python's Windows build 2020-10-29 17:15:31 -07:00
ZhenLian d5d35650b0 add API to get last modification time of a file 2020-10-29 10:43:29 -07:00
Richard Belleville efb843980c
Merge pull request #24523 from gnossen/single_threaded_future
Implement grpc.Future interface in SingleThreadedRendezvous
2020-10-26 15:32:35 -07:00
ZhenLian 4d80f376a3
Merge pull request #24227 from ZhenLian/zhen_dynamic_file_reloading_3
C-core changes for TLS credentials
2020-10-26 13:38:39 -07:00
Richard Belleville 9b24faf188 Add comment about timeout argument 2020-10-23 16:01:19 -07:00
Esun Kim 4efde0b477 Generating projects 2020-10-23 13:22:38 -07:00
ZhenLian 518ed1303c Add Credential Loading From Static Providers For TLS Credentials 2020-10-22 13:55:31 -07:00
Richard Belleville 928e3b2fa5 Spruce up docstrings 2020-10-21 21:55:02 -07:00
Richard Belleville f2059ee6be Implement grpc.Future interface in SingleThreadedRendezvous 2020-10-21 20:35:18 -07:00
Mark D. Roth 62cfb36c60
Merge pull request #24411 from renkelvin/url
[3PI Support] Add url-sourced external account credentials
2020-10-21 08:48:34 -07:00
Yash Tibrewal cf26660f44
Merge pull request #24408 from yashykt/castore
Certificate Provider Store implementation
2020-10-21 01:18:09 -07:00
Yash Tibrewal ea027f0ef5 CertificateProviderStore implementation 2020-10-20 23:05:36 -07:00
Chuan Ren 4c93d36d08 Add url-sourced external credentials 2020-10-20 13:56:55 -07:00
Lidi Zheng e861546b3c Replace grpc_shutdown_blocking with grpc_shutdown in Cython 2020-10-19 17:08:01 -07:00
Mark D. Roth e05c5da2c8
Merge pull request #24419 from markdroth/xds_cluster_impl_lb
Move circuit breaking, EDS drops, and load reporting to xds_cluster_impl policy.
2020-10-16 09:24:04 -07:00
Mark D. Roth e496705ea3 Move circuit breaking, EDS drops, and load reporting to xds_cluster_impl policy. 2020-10-16 07:29:08 -07:00
Mark D. Roth 27795e7cad Merge remote-tracking branch 'upstream/master' into xds_logging 2020-10-15 20:05:29 -07:00
Lidi Zheng 684b5d1f47 Fix the grpc.aio import hack and its unit test 2020-10-14 17:00:25 -07:00
Mark D. Roth 6c982e6b61 Merge remote-tracking branch 'upstream/master' into xds_logging 2020-10-14 16:32:13 -07:00
Mark D. Roth 012381235f
Merge pull request #24208 from renkelvin/base
[3PI Support] Add base external account credentials class
2020-10-13 10:27:14 -07:00
Chuan Ren 0cf672d42e Add implementation of base external account credentials 2020-10-12 16:18:11 -07:00
Mark D. Roth ff7496b660 fix upbdefs paths for non-bazel builds 2020-10-12 15:23:03 -07:00
Mark D. Roth f81650f497 update list of upbdefs files in build 2020-10-12 14:48:18 -07:00
Mark D. Roth 7d6b12fe73 Merge remote-tracking branch 'upstream/master' into xds_logging 2020-10-12 14:21:45 -07:00
Yash Tibrewal 4013fd9dc9
Merge pull request #24313 from yashykt/xdscredscpp
C++ API to create Xds channel credentials
2020-10-08 22:27:21 -07:00
Yash Tibrewal c52cb09f47 Add experimental XdsCredentials with support for insecure channel_credentials and security_connector 2020-10-08 20:37:47 -07:00
Lidi Zheng 89b34444f8
Merge pull request #24341 from grpc/revert-24337-revert-24289-aio-import-dot
Revert "Revert "Allow asyncio API to be imported as grpc.aio""
2020-10-07 15:56:36 -07:00
Donna Dionne aafe657978 Bump version to v1.34.x: regenerate projects 2020-10-07 12:51:27 -07:00
Lidi Zheng 6336930029 Check file name instead of package name 2020-10-07 11:01:00 -07:00
Lidi Zheng c6dc383c15 Prevent import order issue in cyclic imports 2020-10-06 16:53:01 -07:00
Lidi Zheng e54fe6ccd0
Revert "Revert "Allow asyncio API to be imported as grpc.aio"" 2020-10-06 14:14:13 -07:00
Lidi Zheng d938e0052e
Revert "Allow asyncio API to be imported as grpc.aio" 2020-10-06 12:35:26 -07:00
Yash Tibrewal 7c7b452f16
Merge pull request #24312 from yashykt/xdscreds
gRPC Core API to create Xds channel credentials
2020-10-06 12:18:44 -07:00
Yash Tibrewal 48ec53971a gRPC Core API to create Xds channel credentials 2020-10-05 14:52:08 -07:00
Mark D. Roth 7c0b500f33
Merge pull request #24291 from markdroth/xds_load_reporting_in_eds
Move locality load reporting to EDS policy.
2020-10-05 08:35:18 -07:00
Lidi Zheng 4f3f6960f9
Merge pull request #24289 from lidizheng/aio-import-dot
Allow asyncio API to be imported as grpc.aio
2020-10-02 15:38:25 -07:00
Mark D. Roth 799e805e8a Move locality load reporting to EDS policy. 2020-10-02 11:16:01 -07:00
Mark D. Roth 71050c88b9 Move EDS drop handling to a new eds_drop LB policy. 2020-10-02 08:23:48 -07:00
Lidi Zheng c9768211fb Remove unused import 2020-10-01 11:43:50 -07:00
Lidi Zheng b7894bb090 Allow asyncio API to be accessed as grpc.aio.foo 2020-10-01 11:43:50 -07:00
Mark D. Roth 02436e33ea Merge remote-tracking branch 'upstream/master' into xds_logging 2020-09-30 11:40:56 -07:00
Lidi Zheng 777792b652
Merge pull request #24271 from lidizheng/tiny-fix-in-commands
Use != with literals in commands.py
2020-09-30 10:43:05 -07:00
Donna Dionne bcd41d6397 Merge remote-tracking branch 'upstream/master' into release 2020-09-29 14:55:57 -07:00
Lidi Zheng 9e0b427893 Use != with literals 2020-09-29 14:44:59 -07:00
Yash Tibrewal 2a56886513 Update submodules: envoy-api, protoc-gen-validate, udpa 2020-09-29 12:03:40 -07:00
Mark D. Roth 69c52a8b2a Merge remote-tracking branch 'upstream/master' into xds_logging 2020-09-29 09:01:09 -07:00
Donna Dionne 55267990b0 regenerate files 2020-09-28 22:41:16 -07:00
Yash Tibrewal 11abbd3828 Add parsing logic for GoogleMeshCaConfig 2020-09-17 09:33:10 -07:00
Donna Dionne ffb560090a Moving XDS Routing functionalities from LB policy into XdsConfigSelector 2020-09-11 15:44:10 -07:00
Lidi Zheng ac5cca327a
Merge pull request #23453 from implr/addcythoninit
Add __init__.py to cygrpc pyx_library to support --incompatible_default_to_explicit_init_py
2020-09-09 14:12:10 -07:00
Yash Tibrewal 24ba65d6a1
Merge pull request #24080 from yashykt/caregimpl
Add certificate provider registry implementation
2020-09-09 14:05:38 -07:00
Yash Tibrewal cdda406115 Add certificate provider registry implementation 2020-09-08 14:50:37 -07:00
ZhenLian 1a275d7eab Add tls_certificate_distributor implementation 2020-09-08 10:20:21 -07:00
Mark D. Roth 998bde891f Merge remote-tracking branch 'upstream/master' into xds_logging 2020-09-02 15:50:33 -07:00
Mark D. Roth 6514396713 update build files 2020-09-02 08:38:31 -07:00
Mark D. Roth 3fcb32b757 Merge remote-tracking branch 'upstream/master' into xds_logging 2020-09-01 15:41:07 -07:00
Yash Tibrewal 025d9d8e8a Remove xDS support from unsecure builds 2020-09-01 15:04:49 -07:00
Mark D. Roth 30e4170dc3 Update version of master to 1.33-dev ("geeky"). 2020-08-28 09:20:30 -07:00
Richard Belleville 4a2d4a0b64
Merge pull request #23949 from gnossen/grpcio_tools_import
Tolerate old versions of grpcio-tools
2020-08-24 10:22:32 -07:00
Richard Belleville 36be9bbf6e Yapf 2020-08-21 17:25:25 -07:00
Richard Belleville 3ce329ffda Clean up error messages 2020-08-21 17:04:15 -07:00
Richard Belleville d481046de6 Tolerate old versions of grpcio-tools 2020-08-21 16:57:31 -07:00
Lidi Zheng d713e9f202 Prevent call objects from outliving its parent channel or server 2020-08-21 15:04:16 -07:00
Ashitha Santhosh fcce56df4e
Merge pull request #23887 from ashithasantosh/create_activation
Add activation logic and endpoint getters.
2020-08-19 10:43:39 -07:00
ashithasantosh 5820e833fc Add activation logic and endpoint getters. 2020-08-18 19:12:22 -07:00
Lidi Zheng 9ff83e8cb1
Merge pull request #23240 from lidizheng/aio-graduate
[Aio] Graduation from experimental folder
2020-08-18 14:31:00 -07:00
Lidi Zheng 6326422b05
Merge branch 'master' into aio-graduate 2020-08-18 12:14:51 -07:00
Mark D. Roth bd73844208 Move parse_address library from client_channel to iomgr. 2020-08-18 11:23:06 -07:00
Richard Belleville c79bef55ee
Merge pull request #21458 from gnossen/dynamic_stubs
Enable Runtime Import of .proto Files
2020-08-17 20:39:29 -07:00
Yash Tibrewal 55821f5cf8 Revert "Merge pull request #23786 from michaelywg/cel_create_activation"
This reverts commit fe59761648, reversing
changes made to 1856e224c3.
2020-08-17 14:01:53 -07:00
Lidi Zheng cd336404e9
Merge pull request #23783 from lidizheng/aio-win-poll
[Aio] Add a fail-back polling mode for Windows+3.8+
2020-08-17 10:56:08 -07:00
Srini Polavarapu 9b5b5be3e2 regenerate files 2020-08-14 18:33:42 -07:00
Richard Belleville cdb906ac8e Expand documentation 2020-08-14 16:46:03 -07:00
Lidi Zheng 5694b798b0 Move aio module out of experimental folder 2020-08-14 15:58:50 -07:00
Lidi Zheng 4ed38373ae Remove event loop policy check 2020-08-14 11:24:23 -07:00
Michael Wang b8771966f1 Added tests for eval_args address/port getters. Implemented said getters and CreateActivation.
Added logging for unsupported attributes

fixed make issues by moving grpc_authorization_engine under grpc

changed inet_aton to inet_pton

fixed issue leftover from initial implementation of evalargs
2020-08-14 04:30:42 +00:00
Mark D. Roth 478ea19b65 Merge remote-tracking branch 'upstream/master' into xds_logging 2020-08-13 08:21:43 -07:00
Lidi Zheng a5dc598a42 Handle another corner case on Windows 2020-08-11 16:07:57 -07:00
Richard Belleville d6a9ba9d54 Restrict to 3.5.0 2020-08-11 15:19:16 -07:00
Lidi Zheng 03813bf6fc Make the fail back mode triggering more robust 2020-08-11 13:56:40 -07:00
Richard Belleville d0e8342dcd Document as experimental 2020-08-11 11:53:11 -07:00
Richard Belleville 0b543de30a Last pylint error 2020-08-10 17:46:55 -07:00
Richard Belleville b50110b583 Fix Windows 2020-08-10 14:49:48 -07:00
Lidi Zheng c0632acaff Add a fail-back polling mode for Windows+3.8+ 2020-08-10 13:54:47 -07:00
Mark D. Roth d926e1ca47 Move XdsClient code out of client_channel tree. 2020-08-07 08:21:09 -07:00
Richard Belleville 05aaf3d939 Pylint 2020-08-06 17:43:41 -07:00
Richard Belleville 8f1e181189 Merge remote-tracking branch 'origin/master' into dynamic_stubs 2020-08-06 12:32:47 -07:00
Richard Belleville aa044d0911 Revert grpcio_metadata 2020-08-06 12:28:43 -07:00
Richard Belleville 2c1efcd0ae Add documentation 2020-08-06 12:25:21 -07:00
Lidi Zheng 218a2ff95f
Merge pull request #23483 from emkornfield/fg
Adds option of using ASM for BoringSSL in Python.
2020-08-05 14:10:40 -07:00
Michael Wang d0311ac81a Basic class definition and constructor Cel eval engine
Merge remote-tracking branch 'upstream/master' into celeval_constructor

Iterate through policies and store CEL condition

git push origin ce Merge remote-tracking branch 'upstream/master' into celeval_constructor

added class and constructor comments for CelEvaluationEngine

CelEvaluationEngine class and constructor

Added cel_evaluation_engine to build

ran clang_tidy_code.sh

updated BUILD with cel_evaluation_engine

added rbac.upb.h/cc to BUILD

Rewrote cel_evaluation_engine code with upb conventions

removed unnecessary deps for cel_evaluation_engine in BUILD

Cel_evaluation_engine uses arenas to manage condition pointers

Used upb::Arena instead of upb_arena*, added temp_arena to save memory

Added action_allow_ member variable

Added fullstops to comments

initialize action_allow_

changed variable names to be more clear

removed unnecessary headers

correctly initialize the action_allow_ variable

changed constructor to use an initializer list

ran clang_tidy and clang_format scripts

added cel_engine_test

resolved merge conflicts and rewrote cel engine constructor to use new map api

changed variables to be more clear and made them const

changed syntax.upb.h so the build succeeds

changed syntax.upb.h so the build succeeds

changed version of upb in bazel_dpes

regenerated upb files with new upb version

added TODO regarding two-policy design

modified CelEvaluationEngine and tests to use two rbac policies

Made test messages consistent and added a case with too many policies

changed name from cel_engine to authorization_engine

fixed merge issues and updated authorization engine to v3 rbac

made constructor public and added namespace grpc_core
2020-08-04 18:23:21 +00:00
Micah Kornfield 6f6778276d update template format 2020-08-03 15:47:34 -07:00
Micah Kornfield 8e501c86f5 Move over to using sources.json from boring.ssl.
- Undo a bunch of hacks in src/boringssl/gen_build_yaml.py
- Store the structued data in YAML/dependencies.py so
  we don't need to recreate the filters.
- Update setup.py accordingly
2020-08-03 15:47:33 -07:00
Micah Kornfield 35c0a4cfff Adds option of using ASM for BoringSSL in Python.
- Adds a new environment variable for turning on the build of ASM
  for boring SSL.
- Only enables for x86_64 for now.  I think this is likely the most
  common target and the only machine I have readily accessible.
2020-08-03 15:47:25 -07:00
Mark D. Roth 60283a1085
Merge pull request #23582 from markdroth/grpclb_authority
Remove TargetAuthorityTable in favor of a per-address channel arg.
2020-07-29 15:18:13 -07:00
Lidi Zheng 70f001565b
Merge pull request #23632 from lidizheng/raise-when-bind-failed
Raises an exception when port binding failed
2020-07-28 16:22:30 -07:00
Lidi Zheng d13c5834af Abstract the validation into a common function 2020-07-28 13:54:57 -07:00
Esun Kim 3ac116f1cb Enabled GPR_ABSEIL_SYNC 2020-07-27 20:00:26 -07:00
Lidi Zheng 217dade003 Raises an exception when port binding failed 2020-07-27 11:16:43 -07:00
Mark D. Roth f88449c205 Merge remote-tracking branch 'upstream/master' into xds_logging 2020-07-27 09:55:48 -07:00
Mark D. Roth 181781387d xDS v3 support 2020-07-23 10:20:55 -07:00
Mark D. Roth c35a37d6c2 Remove TargetAuthorityTable in favor of a per-address channel arg. 2020-07-23 08:23:05 -07:00
Jan Tattermusch aa0193db42
Merge pull request #23576 from jtattermusch/bump_master_1_32
update master version to 1.32.0-dev
2020-07-23 07:48:24 +02:00
Yash Tibrewal 2c5291ff71 Plumb absl::Status through connectivity state notifiers 2020-07-22 15:56:24 -07:00
Richard Belleville 089d90933a
Merge pull request #23203 from gnossen/python_google_default_creds
Implement compute_engine_channel_credentials in Python
2020-07-22 13:14:54 -07:00
Jan Tattermusch 80daba44d9 regenerate projects 2020-07-22 17:38:48 +02:00
Mark D. Roth c66d826298 Merge remote-tracking branch 'upstream/master' into xds_logging 2020-07-21 11:31:28 -07:00
Lidi Zheng ffc6bce8ca Only >=3.7 allows annotate oneself as return type 2020-07-21 11:06:53 -07:00
Lidi Zheng 6e96a47dd6 Make pytype happy 2020-07-21 10:58:42 -07:00
Lidi Zheng b5f107d470 Support tuple and aio.Metadata interaction 2020-07-21 10:58:23 -07:00
Lidi Zheng 9a54627c0b Include re2 in source wheel && solve the missing --all complain 2020-07-20 17:06:26 -07:00
Richard Belleville f7d16b20a4 Fix docstring 2020-07-20 19:28:18 +00:00
Mark D. Roth a24306fa0c Merge remote-tracking branch 'upstream/master' into xds_logging 2020-07-20 10:36:43 -07:00
Richard Belleville 9448150eec Remove option to specify path 2020-07-17 16:46:38 -07:00
Karthik Ravi Shankar d7565c37a8 Revert "Adding Fake headers for header matching."
This reverts commit 8c013bfcdc.
2020-07-17 16:39:05 -07:00
Mark D. Roth 5afa417c89 Revert "Merge pull request #23524 from markdroth/xds_logging_revert"
This reverts commit b5b9172915, reversing
changes made to 47c6c826f7.
2020-07-17 14:48:20 -07:00
Mark D. Roth a0f08b1b06 Revert "Merge pull request #21941 from markdroth/xds_logging"
This reverts commit 37d5d93983, reversing
changes made to 0e8190a3c9.
2020-07-17 10:19:28 -07:00
Donna Dionne 8c013bfcdc Adding Fake headers for header matching. 2020-07-15 13:14:19 -07:00
Richard Belleville 999bbf1401 Format 2020-07-15 13:09:53 -07:00
Richard Belleville 36465e06f1 Merge remote-tracking branch 'origin/master' into python_google_default_creds 2020-07-13 19:32:59 +00:00
Richard Belleville 7e3f3d61a2 Format 2020-07-13 19:09:33 +00:00
Lidi Zheng ddbf4b6f9f Further reduce the spam log by doing nothing if GC has error 2020-07-13 11:18:46 -07:00
Bartosz Stebel 3b45262f03 Add __init__.py to cygrpc pyx_library 2020-07-12 22:56:56 +02:00
Richard Belleville df0978ceb0 Clean up build file 2020-07-10 15:18:46 -07:00
Richard Belleville 1b2e7fa318 Merge remote-tracking branch 'origin/master' into dynamic_stubs 2020-07-10 14:07:01 -07:00
Richard Belleville 23b9007198 Simplify raise statement 2020-07-10 13:54:48 -07:00
Richard Belleville 56ed8f3be4 Merge remote-tracking branch 'origin/master' into python_google_default_creds 2020-07-10 01:09:58 +00:00
Richard Belleville e9a90ab30a Clean up 2020-07-10 00:44:59 +00:00
Lidi Zheng 8f3bd10c03 Make sure >3 Python version triggers a failure 2020-07-09 15:34:06 -07:00
Lidi Zheng 27033c4f8d Update the hint for install Python header to depend on version 2020-07-09 15:17:37 -07:00
donnadionne be92b122b6
Merge pull request #22987 from donnadionne/new
Add support for xDS regex matchers.
2020-07-07 15:32:25 -07:00
Lidi Zheng e1b4a5507c
Merge pull request #23351 from lidizheng/silence-del
Suppress exceptions from the __del__ of channel object
2020-07-07 13:56:37 -07:00
Donna Dionne 8dd0cb4712 Add support for xDS regex matchers. 2020-07-07 13:17:25 -07:00
Lidi Zheng e7f42f1ff9 Add type annotation in comments 2020-07-07 10:45:11 -07:00
Lidi Zheng b61fe7ab33 Address comments 2020-07-07 10:17:38 -07:00
Lidi Zheng e58e24afb9 Allows poller to bound to ephemeral loops in multiple threads 2020-07-07 10:17:38 -07:00