* add perAttemptTimeout to retry policy
* more WIP
* set deadline
* don't set deadline for perAttemptTimeout, do cancel on all recv ops
* finished functionality, maybe
* add test
* minor cleanups
* fix service config parsing and add missing tests
* remove unnecessary TODO
* clang-format
* cmake: fix cross-compilation with gRPC_BUILD_GRPC_CPP_PLUGIN=OFF
When cross-compiling gRPC, a _native_ version of 'grpc_cpp_plugin' is
searched in the environment. For most use cases, a _cross_ version of this
file is not needed and gRPC_BUILD_GRPC_CPP_PLUGIN can be set to OFF.
However, when cross-building with -DgRPC_BUILD_GRPC_CPP_PLUGIN=OFF, there
are some build errors, for example:
make[3]: *** No rule to make target 'grpc_cpp_plugin', needed by 'gens/src/proto/grpc/reflection/v1alpha/reflection.grpc.pb.cc'. Stop.
This is because there is still a hard dependency on 'grpc_cpp_plugin' for
these targets, not taking into account the cross-compilation case.
Fix by depending on the variable gRPC_CPP_PLUGIN, which is set correctly for
either cross or native case.
* regenerate projects
This change ensures that a valid driver configuration is always included in generated load test configurations, and that the driver pod is named with an index (`0`, since there is only one driver), in the same way as client and server pods.
Generated examples can be found in https://github.com/grpc/test-infra/pull/189.
With this change, it is no longer necessary to specify a driver image in order to specify a driver name and pool, so that is removed from the kokoro jobs.
- Support multiline strings in template generation (as already supported in config generation, supporting roundtrip).
- Ignore substitution of variables that are set by the controller at runtime (`DRIVER_PORT`, `KILL_AFTER`, `POD_TIMEOUT`).
* add no_arm64 tag to resolver_component_tests_runner_invoker tests
* skip no_arm64 tests when running on arm64
* increase kokoro jobs timeout for ARM64 C/C++ bazel tests
* use 8 core instance for arm64 bazel C/C++ tests
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.
* Bump version to v1.38.0-pre1 (#26208)
* Bump version to v1.38.0-pre1
* Regenerate projects
* [Backport][v1.38.x] Add EventEngine's port.h to the podspec (#26222)
Backport of #26220 to v1.38.x. This is the only backport, since the EventEngine code was introduced after v1.37 was cut.
This file is needed for the Objective-C cocoapod build.
* fix xds resolver to add XdsClient to channel args even on errors (#26282) (#26288)
Co-authored-by: Mark D. Roth <roth@google.com>
* Backport config update timeout change to v1.38.x (#26276)
* Enable Traffic Director time tracer (#26111)
* Just update the timeout (#26223)
* Increase xds job timeouts (#26187)
* Revert grpc_xds_k8s job timeouts back to 120 mins (#26219)
* Revert grpc_xds_k8s_python timeout to 120mins (#26221)
Seems to have been inadvertently increased in #26187
Co-authored-by: Eric Gribkoff <ericgribkoff@google.com>
Co-authored-by: Yash Tibrewal <yashkt@google.com>
* Bump v1.38.x to v1.38.0 (#26317)
* Bump version to v1.38.0
* Regenerate projects
* Provide custom sponge configs to exclude manual runs from testgrid (#26283) (#26313)
* Provide custom sponge configs
* Correct the script
* Allow test scripts to produce artifacts through Docker
* Overcome the direcotry clone in our docker script
* Expose TESTGRID_EXCLUDE and GIT_ORIGIN_URL through docker run
* Make sanity tests happy
* Revert "Provide custom sponge configs to exclude manual runs from testgrid (#26283) (#26313)" (#26324)
This reverts commit 54dc182082.
* better way of building protoc aarch64 artifacts (#26423)
* Backport #26430 and #26435 to v1.38.x (#26436)
* workaround #26279 at the expense of binary compatibility
* correctly tag aarch64 wheels as manylinux_2_24
* remove unnecessary comments left by #26430
* Backport #22964 into v1.38.x (#26448)
* upgrade dotnet SDK 3 for C# build
* add C# global.json
* install dotnet SDK 3 on macos
* upgrade C# docker images to debian buster
* regenerate dockerfiles
* Backport fixes from #26465 to v1.38.x (#26466)
* switch remaining tests to C# buster image
* remove C#'s global.json (which requires dotnet SDK 3+)
* dotnet SDK3 currently breaks C# package build
* regenerate dockerfiles
Co-authored-by: Yash Tibrewal <yashkt@google.com>
Co-authored-by: AJ Heller <hork@google.com>
Co-authored-by: donnadionne <donnadionne@google.com>
Co-authored-by: Mark D. Roth <roth@google.com>
Co-authored-by: Lidi Zheng <lidiz@google.com>
Co-authored-by: Eric Gribkoff <ericgribkoff@google.com>
Co-authored-by: Jan Tattermusch <jtattermusch@users.noreply.github.com>
* Add cpp macro to append wrapped language info to xDS user agent
* Add Python xDS user agent
* fix redefinition error and add macro for wrapped lang version
* clang-format
* Revert xds_api.cc changes
* Use two separate macros
* Yapf
* Regenerate projects
* Include _metadata.py in source distributions
* Attempt to fix quote escaping on Windows
Co-authored-by: Mark D. Roth <roth@google.com>