When we call recvmsg(), we are allowed to set msg_control and
msg_controllen to receive ancillary messages from the TCP socket.
msg_controllen is set to available buffer length for such sockets
before we call recvmsg(); after the call returns successfully, it
contains the amount of available data in the ancillary buffer.
Existing behaviour is buggy; it calls recvmsg() in a loop but does not
set msg_controllen to the size of the full buffer correctly on each
iteration. This leads to a surfeit of error log messages, claiming the
ancillary messages had to be truncated due to insufficient buffer
space.
This patch correctly sets the ancillary buffer size before each call
to recvmsg() when processing the TCP error queue.
Experiments show that 4 tests running concurrrently (two on 8-core nodes and two on 32-core nodes) is enough to run all tests within two hours with time to spare.
* Removes optional flag -a, allowing it to be changed later to a long-form flag.
* Updates concurrency levels to one more than what each worker node pool can support (each test requires two workers, and there are nine nodes in each pool, so each node can support four tests).
* Fix build failures in xds_end2end_test
* Change Status::OK to StatusCode::OK
* Added additional logging for proto deserialization failure
* Added additional logging for serialization failure
* Revert "Added additional logging for serialization failure"
This reverts commit 2dbbbed9d4.
* Revert "Added additional logging for proto deserialization failure"
This reverts commit 31f4e6e3c8.
* Move error logging for proto deserialization to server.cc
* Updated from GPR_ERROR to GPR_DEBUG
* Employ prebuilt images in continuous build.
This commits updated Kokoro build job to use prebuilt images to
run tests. The loadtest template was generated using
loadtest_template.py.
* 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.