* Implement FilterChainMatch algorithm (#25757) (#25815)
* Implement FilterChainMatch logic
* Add tests for transport protocol too
* Tests for duplicate NACKing
* Introduce ConnectionManager as an interface for config fetchers
* Do not parameterize IncrementIfNonZero
* Some formatting
* Reviewer comments
* Add filter chain match information for duplicate match error
* Reviewer comments
* Some cleanup
* Reviewer comments
* Reviewer comments
* Reviewer comments
* Clang-tidy
* Bump to 1.37.0-pre1 (#25839)
* Bump to v1.37.0-pre1
* Regenerate projects
* Use Realtime instead of Monotonic time for CSDS (#25864)
* Add ruby 3.0 support for mac binary packages (#25869)
* Bump to 1.37.0 for Final Release (#25891)
* Bump version to 1.37.0
* Regenerate projects
* PHP: Fix windows build (#25904)
* [Backport] xdsinterop: extend the ports to use (#25916)
This is to add more ports for forwarding-rule.
It's in theory not necessary, because forwarding-rule doesn't need to use the
same port as the services. This is a limitation of the test framework, and can
be fixed in the future.
* try/catch exceptions of both php7 and php8 (#25918) (#25927)
* Fix use-after-unref bug in fault_injection_filter (#25903) (#25935)
Co-authored-by: Yash Tibrewal <yashkt@google.com>
* Fix fault injection filter to still run the original trailing metadata closure when no error (#25933)
* also build python3.6 aarch64 manylinux2014 wheel (#25944)
* Enable channelz for xds_interop_client and xds_interop_server (#25939) (#25968)
* Enable channelz for xds_interop_client and xds_interop_server
* Regenerate projects
* Fix#25897 to avoid crashes when certificates are not yet updated (#25899) (#25965)
* xds: move path_matching and header_matching to all; add fault_injection to ruby (#26030)
* Backport several additions / fixes to PHP / Ruby xDS Interop tests (#26037)
* PHP: allow xDS interop client to start RPCs asynchronously (#25696)
* PHP: allow xDS interop client to start RPCs asynchronously
* Address review comments
* Remove adhoc test config
* PHP: enable fault_injection xds interop test case (#25943)
* PHP: enable fault_injection xds interop test case
* sanity check yaph_code.sh
* some mysterious SIGTERM is being observed
* Remove adhoc test cfg
* Ruby: Fix xds fault_injection test (#26006)
* Fix header_matching for PHP and Ruby (#26017)
* [Backport][1.37.x] Add kokoro job for xds psm security tests (#26035)
* Add kokoro job for xds psm security tests (#26033)
* add kokoro job for xds psm security
* Fix scripts
* Cleanup
* Add copyright
* Use existing repo for test driver (#26041)
* Use existing repo for test driver
* Reviewer comments
* Don't check local certs for xds k8s kokoro job (#26046)
* xds k8s kokoro - Configure auth for docker (#26050)
* xds k8s kokoro - Configure auth for docker
* Add -q
* xds k8s kokoro job - Add git commit as tag for images (#26051)
* [Backport][1.37.x] test_csds (#26047)
* Add CSDS xDS interop test (#26007)
* Add CSDS xDS interop test
* Add CSDS test to the test suite
* Fix a typo
* Address comments
* Improve the logging of each attempt
* Improve Python readability
* Fix a typo in CSDS test (#26021)
* Update the Python dependency for xDS interop test (#26024)
`xds-protos` includes all the generated Python files for Envoy protos, which is required by Envoy.
* Upgrade setuptools and ProtoBuf Python in prep_xds.sh (#26029)
* Upgrade
* Trick Kokoro to run xDS test
* Restore grpc_python_bazel_test.cfg
* Update protobuf
* Add extra layer of protection
* [C++] Add admin and reflection to xds interop binaries (#25964)
* Add admin and reflection to xds interop binaries
* Prepare for https://github.com/grpc/grpc/pull/25978
* Remove _xds rules
* Import json_format
* [Backport][1.37.x] Backport xds-k8s driver changes (#26067)
* xds-k8s: Update Private CA GKE workload certificates config (#25875)
* xds-k8s: Update GKE workload certificates: fix annotation (#25882)
* xds-k8s: Use latest TD bootstrap supporting new secrets dir (#25925)
* Naming fix (secrets manager -> secret manager) (#25990)
Co-authored-by: Seth Vargo <seth@sethvargo.com>
* temporarily change ::createInsecure() back to return NULL (#26054)
* buildscripts: xds-k8s pin pip to 21.0.1 (#26088)
pip 21.1 released on Apr 24 introduced a regression for python 3.6.1.
The regression was identified on Apr 24, the fix merged on Apr 25.
The fix is expected to be delivered in the 21.1.1 patch.
There's no clear date, when 21.1.1 will be released.
Until then, pin is temporarily pinned to the previous release, 21.0.1.
* Bump to 1.37.1 (#26040)
* Bump to 1.37.1
* Regenerate projects
* [Backport][1.37.x] xds-k8s buildscripts sync (#26103)
* Python PSM Security Interop Client+Server (#25991)
* Add channelz to security client
* Make client changes. Some config needs to be reverted
* Add missing security field to channelz Socket
* Add test
* Fix test
* Remove whitespaces for windows
* Remove local_certificate check from PSM security tests
* Byte pack Python channelz IPs
* Move address packing to Core
* WIP
* Unbork security tests
* Python interop server
* Turn up server logging
* Clean up PR
* Clean up some more
* Yapf
* Fix up docker images
* Swap fillllllles!
* Add more robust boolean arg parsing
* Use bool_arg parsing in server as well
* Add copyright
Co-authored-by: Yash Tibrewal <yashkt@google.com>
* ADD Python xDS security interop test CI scripts (#26073)
* xds-k8s kokoro buildscripts: exclude from tests suites (#26098)
* xds-k8s buildscript should use the latest version of the driver (#26100)
Co-authored-by: Richard Belleville <rbellevi@google.com>
Co-authored-by: Yash Tibrewal <yashkt@google.com>
Co-authored-by: Richard Belleville <rbellevi@google.com>
Co-authored-by: Lidi Zheng <lidiz@google.com>
Co-authored-by: apolcyn <apolcyn@google.com>
Co-authored-by: Stanley Cheung <stanleycheung@google.com>
Co-authored-by: Menghan Li <menghanl@google.com>
Co-authored-by: Hannah Shi <hannahshisfb@gmail.com>
Co-authored-by: Jan Tattermusch <jtattermusch@users.noreply.github.com>
Co-authored-by: Doug Fawley <dfawley@google.com>
Co-authored-by: Sergii Tkachenko <sergiitk@google.com>
Co-authored-by: Seth Vargo <seth@sethvargo.com>
* 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
This change fixes typos and makes minor changes to the format of the generated yaml files for LoadTest configuration (embedded scenarios end in newline, and element lists are indented). The templates generated earlier are also updated.
* xds_cluster_manager policy always delegate to the child picker,
regardless of what the overall connectivity state is.
Any given RPC will always go to the same child,
so it doesn't matter what state that child is in;
the child picker will do the right thing
Fixing cds child omitting to give back UNAVAILABLE error code.
* Fixing style
* Refactoring EdsResourceArgs::Locality to have a vector of Endpoints:
port, health_status, and lb_weight.
As well, Adding RpcOption to WaitForBackend()
* Update WaitForBackend
* Modified WaitForBackend default param
* reuse SeenBackend
* Code review comments
* refactor WaitForAllBackend parameter list
* Fixing tests to ensure they are more strict;
Fixing test code according to code review comments.
* Fixing code review suggestions
* Increasing timeout for StressTest
* 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
* Invalidate ExecCtx now before computing timeouts in all repeating timer events
* Remove time invalidation in cases where we're not a repeating timer, or not entering a work serializer or combiner
* Add comments