Commit Graph

13818 Commits

Author SHA1 Message Date
Mark D. Roth 69f625c27c
[xDS protos] update to get new fields for dualstack endpoints (#34491) 2023-09-27 09:06:36 -07:00
Arvind Bright f6a60253f6
[PSM Interop] update td bootstrap generator image for prod test (#34456)
This change is to update the TD bootstrap generator for prod tests. This
is part of the TD release process. The new image has already been merged
to staging and tested locally in google3.

cc: @sergiitk PTAL.
2023-09-27 08:47:54 -07:00
Eugene Ostroukhov 0f47441d5c
[build] Update Ubuntu docker images to 22 (#34473) 2023-09-26 15:41:50 -07:00
Richard Belleville 3bdd972c4a
[Release] Bump master version to 1.60 (gjallarhorn) (#34488)
<!--

If you know who should review your pull request, please assign it to
that
person, otherwise the pull request would get assigned randomly.

If your pull request is for a specific language, please add the
appropriate
lang label.

-->
2023-09-26 13:10:20 -07:00
apolcyn 74048f118b
[ruby] disable ruby fork tests (#34443)
We see flakes on CI due to https://github.com/grpc/grpc/issues/34442, so
let's disable these tests until that's fixed.
2023-09-26 10:35:35 -07:00
Eugene Ostroukhov 16e26b1091
[test] Fix venv version installed on Fedora 26 (#34477) 2023-09-26 09:10:35 -07:00
Sergii Tkachenko 3f9417a775
[PSM Interop] SSA: Remove failfast=True (#34478)
Was never needed in the first place.
2023-09-25 17:42:24 -07:00
Richard Belleville bc4d81d0d7
Bump core version 202309251628 (#34476) 2023-09-25 17:18:17 -07:00
Gina Yeh fe70af228b
[interop] Add v1.58.2 release of grpc-go to interop matrix (#34449) 2023-09-25 14:05:52 -07:00
Eugene Ostroukhov a5b215024c
[test] Update images to Fedora 36 (#34469) 2023-09-25 13:45:40 -07:00
Esun Kim 9ee3562d84
[Test] Changed the script to use gcc8 (#34467)
Changed missing piece of https://github.com/grpc/grpc/pull/34444
2023-09-25 12:53:42 -07:00
Craig Tiller 59d886cb5c
[fuzzing] Expose random number generator to some fuzzers (#34415)
Expand our fuzzing capabilities by allowing fuzzers to choose the bits
that go into random number distribution generators.

---------

Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2023-09-25 10:17:58 -07:00
Jan Tattermusch 4c0e8086e5
[bazelified tests] Unbreak RBE bazelified tests after #34444 (#34463)
Unbreak what was broken by
https://github.com/grpc/grpc/pull/34444#issuecomment-1733830982.
2023-09-25 16:22:46 +00:00
Richard Belleville 98704e7e4d
[Interop] Re-add SSA env var flip until safe to remove (#34460) 2023-09-24 16:18:21 -07:00
Xuan Wang 7421096960
[Python 3.12] Increase test timeout (#34454)
Passed manual run:
https://fusion2.corp.google.com/invocations/0e337438-8573-4b54-ba1c-242b1ad58586
<!--

If you know who should review your pull request, please assign it to
that
person, otherwise the pull request would get assigned randomly.

If your pull request is for a specific language, please add the
appropriate
lang label.

-->
2023-09-23 13:36:14 -07:00
Sergii Tkachenko 8d3914f774
[PSM Interop] Use newer bootstrap in CSM tests (#34457) 2023-09-22 20:19:58 -07:00
Sergii Tkachenko c76730114a
[PSM Interop] Rename GAMMA tests to CSM tests (#34452)
Notes:
- GAMMA tests are now a subset of a wider CSM scope
- Some "gamma" files to ensure graceful renames
- Should be safe to merge as is
2023-09-22 16:25:10 -07:00
Eugene Ostroukhov 2f78fffa37
[xds ssa] Remove environment variable protection for stateful affinity (#34435) 2023-09-22 13:06:51 -07:00
Esun Kim 05f14d002d
[Test] Changed gcc-7 to gcc-8 (#34444)
Bumping gcc 7 to 8 to workaround the ongoing gcc segfault problem when
building Protobuf C++. Currently Foundational C++ requires gcc 7 so this
is a temporary measure to make the test green. We need to either make a
decision to change the minimum version of gcc in the Foundational C++ or
find a way to support gcc 7 without gcc segfault soon.
2023-09-22 12:14:48 -07:00
Yash Tibrewal ddc682c6c1
[CSM] Plumbing fixes (#34440)
Changes -
* CsmObservability doesn't need `SetTargetSelector`. Removed it.
* Added missing plumbing of `ServiceMeshLabelsInjector` in
`CsmObservability` to actually do the metadata exchange.

<!--

If you know who should review your pull request, please assign it to
that
person, otherwise the pull request would get assigned randomly.

If your pull request is for a specific language, please add the
appropriate
lang label.

-->
2023-09-22 12:03:30 -07:00
Esun Kim c6b4952d74
[Test] Fix build error (#34445)
<!--

If you know who should review your pull request, please assign it to
that
person, otherwise the pull request would get assigned randomly.

If your pull request is for a specific language, please add the
appropriate
lang label.

-->
2023-09-22 11:37:04 -07:00
Xuan Wang ffdb58dd5f
[Python 3.12] Support Python 3.12 (#34398)
Support Python 3.12.

### Testing
* Passed all Distribution Tests.
* Also tested locally by installing 3.12 artifact.


<!--

If you know who should review your pull request, please assign it to
that
person, otherwise the pull request would get assigned randomly.

If your pull request is for a specific language, please add the
appropriate
lang label.

-->
2023-09-22 09:57:29 -07:00
Jan Tattermusch 60f25c289b
[bazelified tests] Bazelify tests from "linux/grpc_bazel_build" and make the original test job a noop. (#34429)
Bazelify tests from "linux/grpc_bazel_build" kokoro job by creating 3
bazelified tests - "build with strict warning", "build with no_xds=True"
and "build with no_xds=True negative test".

- also make the original "linux/grpc_bazel_build" kokoro job a no-op
(since bazelified tests now provide the same coverage).
2023-09-22 08:25:42 -07:00
apolcyn c48250dc1a
[test scripts] fix GRPC_VERBOSITY setting for run_tests jobs on CI (#34433)
The deleted code here was overriding the
[intended](866fc41067/tools/run_tests/run_tests.py (L62))
default test env of `GRPC_VERBOSITY=DEBUG`.

I'm just deleting it because it looks like`GRPC_TRACE=api` is not having
any affect anyways, since it relies on `GRPC_VERBOSITY=DEBUG` which it
happens to be unsetting.
2023-09-22 10:30:22 +02:00
Jan Tattermusch 866fc41067
[bazelified tests] Make bazelified C basictests build only (#34428)
- make C-core basictests use `--build_only` when running as bazelified
tests. This is because the volume of C core tests is expected to grow
very significantly after https://github.com/grpc/grpc/pull/34419 and
currently the non-bazelified counterpart of the tests (the presubmit
grpc_basictests_c_cpp_build_only job) is also "build only".
- make the linux presubmit job `grpc_basictests_c_cpp_build_only` a
noop, since the bazelified tests already give the same coverage on
presubmit.
2023-09-21 21:02:05 +02:00
Esun Kim 6c11f4f181
[Testing] Added windows/grpc_distribtests_cpp_dll (#34425)
Added a separate distribtests for gRPC C++ DLL build on Windows. This
DLL build is a community support so it should be independently run from
the existing Windows distribtests. Actual DLL test will be added.
2023-09-20 16:58:58 -07:00
Stanley Cheung fc159a6901
[Observability Testing] register prometheus exporter (#34380)
Working towards testing against CSM Observability. Added ability to
register a prometheus exporter with our Opentelemetry plugin. This will
allow our metrics to be available at the standard prometheus port
`:9464`.
2023-09-19 16:54:58 -07:00
Richard Belleville 24420100bb
[PSM Interop] Collect metadata in appnet ssa tests (#34406)
Follow-up fix to https://github.com/grpc/grpc/pull/34387
2023-09-19 12:02:56 -07:00
Craig Tiller 52369882d8
[promises] Add tracing to seq, join variants (#34401)
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2023-09-19 11:49:12 -07:00
Jan Tattermusch 113dbf5183
[bazelify tests] make grpc_distribtests_standalone and grpc_bazel_distribtest presubmit jobs a noop (#34391)
Since many tests now run reliably as bazelified tests on RBE, we can
remove them from presubmit runs
to speedup testing of PRs.
(for now, these jobs will still run on master, they can be removed from
master as a followup).

- linux/grpc_distribtests_standalone is now fully covered by bazel test
suite
a3b4c797a7/tools/bazelify_tests/test/BUILD (L202),
setting them to `presubmit=False` will stop tests from running on PRs.

- stop running tests from grpc_bazel_distribtest on PR, instead rely on
bazel distribtests running as bazelified tests.
2023-09-19 19:31:24 +02:00
Jan Tattermusch b62edde1e3
[bazelified tests] Add more bazelified portability tests (and make them SOT for presubmit) (#34388)
- bring parity between legacy portability_build_only linux job and
bazelified RBE portability tests.
- make grpc_portability_build_only job a no-op, since it's fully
replaced by that bazelified tests (but keep grpc_portability on master
job for now).

For comparison:
[legacy portability linux build only
tests](https://source.cloud.google.com/results/invocations/f26f8b32-6878-43c7-9613-05f3111fa07c/targets)
[bazel RBE bazelified
tests](https://source.cloud.google.com/results/invocations/b656625f-b1e8-4b5c-9be0-b34ac9fcb31e/targets)
(before this PR).
2023-09-19 19:27:29 +02:00
Richard Belleville 62521a889f
[Interop] Tests for SSA and GAMMA (#34387)
This is just an initial scope of tests. Much of this code was written by
@ginayeh . I just did the final polish/integration step.

There are 3 main tests included:

1. The GAMMA baseline test, including the [actual GAMMA
API](https://gateway-api.sigs.k8s.io/geps/gep-1426/) rather than vendor
extensions.
2. Kubernetes-based stateful session affinity tests, where the mesh
(including SSA configuration) is configured using CRDs
3. GCP-based stateful session affinity tests, where the mesh is
configured using the networkservices APIs directly

Tests 1 and 2 will run in both prod and GKE staging, i.e.
`container.googleapis.com` and
`staging-container.sandbox.googleapis.com`. The latter of these will act
as an early detection mechanism for regressions in the controller that
translates Gateway resources into networkservices resources.

Test 3 will run against `staging-networkservices.sandbox.googleapis.com`
to act as an early detection mechanism for regressions in the control
plane SSA implementation.

The scope of the SSA tests is still fairly minimal. Session drain
testing is in-progress but not included in this PR, though several
elements required for it are (grace period, pre-stop hook, and the
ability to kill a single pod in a deployment).

---------

Co-authored-by: Jung-Yu (Gina) Yeh <ginayeh@google.com>
Co-authored-by: Sergii Tkachenko <sergiitk@google.com>
2023-09-18 19:58:48 -07:00
Zach Reyes e57b32588b
[python][interop] Add bootstrap generator test to nightly cron job against python master (#33933) 2023-09-18 19:00:25 -07:00
Craig Tiller c0155b4188
[experiments] Make codegen more merge friendly (#34393)
Remove the explicit numbering that's hostile to source code merge tools.
2023-09-18 14:54:41 -07:00
Jan Tattermusch a3b4c797a7
[bazelified tests] Reenable runtests_php_linux_dbg after #34257 (#34266)
The valgrind based test (removed in
https://github.com/grpc/grpc/pull/34257) was the reason why the dbg test
was disabled in the past.
2023-09-18 07:52:03 +00:00
Paulo Castello da Costa 0218f7d3a6
[benchmark] Add golang tests back to main CI job. (#34370) 2023-09-17 09:14:20 -07:00
Yash Tibrewal b038da5072
[CSM] Second attempt: Add a server selector based on channel args (#34376)
This reverts commit 2db446aa9a.




<!--

If you know who should review your pull request, please assign it to
that
person, otherwise the pull request would get assigned randomly.

If your pull request is for a specific language, please add the
appropriate
lang label.

-->
2023-09-15 15:28:52 -07:00
Michael Lumish 2f05ddc278
[PSM Interop] Enable xDS affinity test for Node (#34288)
Similar to #34146, this will only run on master for now. This will work
after grpc/grpc-node#2568 is merged.
2023-09-15 13:15:48 -07:00
nanahpang 2db446aa9a
Revert "[CSM] Add a server selector based on channel args" (#34375)
Reverts grpc/grpc#34312
2023-09-15 11:28:20 -07:00
Paulo Castello da Costa 02ee4d9173
[benchmark] Add golang tests back to experimental CI job. (#34368) 2023-09-15 10:38:40 -07:00
AJ Heller 2467562e4b
[EventEngine] Delete OriginalThreadPool, remove work_stealing experiment (#34315)
This has been stable for a bit, everywhere that the EventEngine is
enabled. Going forward, I think the event_engine_{client|listener}
experiments can probably be used to regulate thread-pool-specific
issues.

---------

Co-authored-by: drfloob <drfloob@users.noreply.github.com>
2023-09-15 10:28:11 -07:00
Yash Tibrewal c145b7910e
[CSM] Add a server selector based on channel args (#34312)
I've added channel args to `CreateNewServerCallTracer` on the
`ServerCallTracerFactory`.
The motivation is for CSM Observability where the OTel plugin will be
configured to only do stats on servers which are xDS enabled, so I plan
to check this via channel args.
In the future, with the new scopes for metrics, I think I'll be able to
change this to only check once per server or server connection instead
of per call.

<!--

If you know who should review your pull request, please assign it to
that
person, otherwise the pull request would get assigned randomly.

If your pull request is for a specific language, please add the
appropriate
lang label.

-->
2023-09-15 10:19:46 -07:00
Eugene Ostroukhov 58f1c74383
[test] Update NDK image with newer CMake (#34341)
1. Switch to CMake 1.18.
2. Make ergonomic change to push_testing_images.sh to allow building
just a single image.
3. Update packages to reduce a number of vulnerabilities reported.
2023-09-14 12:34:06 -07:00
Gregory Cooke 8d62fc2b0b
[Test] Add concurrent test for session reuse (#34293)
Add a test that runs concurrent requests using session caching.
2023-09-14 14:43:43 -04:00
Mark D. Roth 1986007e1e
[round_robin] 4th attempt: delegate to pick_first as per dualstack design (#34337)
Most recent attempt was #34320, reverted in #34335.

The first commit here is a pure revert. The second commit fixes the
outlier_detection unit test to pass both with and without the
experiment.
2023-09-14 08:55:51 -07:00
David Chamberlin 0b8fb5a3c6
[Build] re-enable grpc++_unsecure library without ssl dependencies (#34327)
This is a follow up to https://github.com/grpc/grpc/pull/34103

That pull request explicitly aimed to introduce shared library builds
for Windows (DLLs) while effecting zero material change to the existing
build pipelines. That aspiration meant that the grpc++_unsecure library
had to be effectively excluded from the build (because including it
would have also included a dependency on openssl, which makes no sense
given its purpose)

This PR addresses that by:
* Extracting the single function in grpc_tls_certificate_provider with a
dependency on openssl into a separate compilation unit
* Including that new .cc file into the grpc library
* Including grpc_tls_certificate_provider and one other source file into
grpc_unsecure for the Windows DLL build only.
* Reinstating the grpc++_unsecure library which is a prerequisite for
many tests.
* Regenerating all files affected by the changes in Bazel BUILD that
introduce the new source file.

This change does affect the operation of other build pipelines - I have
confirmed that it does not break the Linux Bazel build.

<!--

If you know who should review your pull request, please assign it to
that
person, otherwise the pull request would get assigned randomly.

If your pull request is for a specific language, please add the
appropriate
lang label.

-->
2023-09-13 16:32:33 -07:00
Mark D. Roth 6534f0a6bf
Revert "[round_robin] third attempt: delegate to pick_first as per dualstack design" (#34335)
Reverts grpc/grpc#34320
2023-09-13 11:14:54 -07:00
Xuan Wang 8dcdd7a7e9
[Python distribtests] Fix version issue for readme_renderer (#34316)
Distribtests is failing with the following error:
```
Collecting twine<=2.0
  Downloading twine-2.0.0-py3-none-any.whl (34 kB)
Collecting pkginfo>=1.4.2 (from twine<=2.0)
  Downloading pkginfo-1.9.6-py3-none-any.whl (30 kB)
Collecting readme-renderer>=21.0 (from twine<=2.0)
  Obtaining dependency information for readme-renderer>=21.0 from 992e0e21b36c98bc06a55e514cb323/readme_renderer-42.0-py3-none-any.whl.metadata
  Downloading readme_renderer-42.0-py3-none-any.whl.metadata (2.8 kB)
Collecting requests>=2.20 (from twine<=2.0)
  Obtaining dependency information for requests>=2.20 from 0e2d847013cd6965bf26b47bc0bf44/requests-2.31.0-py3-none-any.whl.metadata
  Downloading requests-2.31.0-py3-none-any.whl.metadata (4.6 kB)
Collecting requests-toolbelt!=0.9.0,>=0.8.0 (from twine<=2.0)
  Downloading requests_toolbelt-1.0.0-py2.py3-none-any.whl (54 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 54.5/54.5 kB 5.1 MB/s eta 0:00:00
Requirement already satisfied: setuptools>=0.7.0 in ./venv/lib/python3.9/site-packages (from twine<=2.0) (68.2.0)
Collecting tqdm>=4.14 (from twine<=2.0)
  Obtaining dependency information for tqdm>=4.14 from f12a80907dc3ae54c5e962cc83037e/tqdm-4.66.1-py3-none-any.whl.metadata
  Downloading tqdm-4.66.1-py3-none-any.whl.metadata (57 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 57.6/57.6 kB 7.6 MB/s eta 0:00:00
Collecting nh3>=0.2.14 (from readme-renderer>=21.0->twine<=2.0)
  Downloading nh3-0.2.14.tar.gz (14 kB)
  Installing build dependencies: started
  Installing build dependencies: finished with status 'done'
  Getting requirements to build wheel: started
  Getting requirements to build wheel: finished with status 'done'
  Preparing metadata (pyproject.toml): started
  Preparing metadata (pyproject.toml): finished with status 'error'
  error: subprocess-exited-with-error

  × Preparing metadata (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [6 lines of output]

      Cargo, the Rust package manager, is not installed or is not on PATH.
      This package requires Rust and Cargo to compile extensions. Install it through
      the system's package manager or via https://rustup.rs/

      Checking for Rust toolchain....
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed

× Encountered error while generating package metadata.
╰─> See above for output.
```

### Why

* We're pulling readme_renderer 42.0 from twine, since 42.0 requires nh3
and nh3 requires Rust, the test is failing.

### Fix

* Pinged readme_renderer to `<40.0` since any version higher or equal to
40.0 requires Python 3.8.

### Testing

* Passed manual run: http://sponge/57d815a7-629f-455f-b710-5b80369206cd
<!--

If you know who should review your pull request, please assign it to
that
person, otherwise the pull request would get assigned randomly.

If your pull request is for a specific language, please add the
appropriate
lang label.

-->
2023-09-13 10:04:54 -07:00
Yijie Ma dcd0f6b8bd
Revert "Revert "[EventEngine] Make `AresResolver` build compatible with older…" (#34328)
Reverts grpc/grpc#34325

<!--

If you know who should review your pull request, please assign it to
that
person, otherwise the pull request would get assigned randomly.

If your pull request is for a specific language, please add the
appropriate
lang label.

-->
2023-09-12 18:09:26 -07:00
Mark D. Roth d713427cec
[round_robin] third attempt: delegate to pick_first as per dualstack design (#34320)
Previous attempt was #34241, reverted in #34317.

The second commit here makes the experiment disablable, so that we can
roll it out slowly internally.
2023-09-12 17:46:31 -07:00