Commit Graph

434 Commits

Author SHA1 Message Date
Yifei Zhuang ff59104b62
Revert "interop-testing: allow multiple port in test server (#7799)" (#7805)
This reverts commit dac8347063.

Changing from Grpc. newServerBuilder to NettyServerBuilder breaks interop-test with credentials.
2021-01-13 15:08:42 -08:00
Yifei Zhuang dac8347063
interop-testing: allow multiple port in test server (#7799) 2021-01-13 09:47:26 -08:00
ZHANG Dapeng 7d77f64773
compiler: remove some of the static imports in codegen (#7751)
Resolves #7741 
Some of the static methods in generated code have the same method name but different package name, such `ClientCalls.asyncClientStreamingCall` and `ServerCalls.asyncClientStreamingCall`. It's less readable using static import than using full-qualified method name in-place.
2020-12-23 11:28:03 -08:00
Sergii Tkachenko e5f57adb7f
buildscripts: xDS Kubernetes Interop tests buildscript 2020-12-23 09:52:01 -05:00
Chengyuan Zhang 0fb2667c96
all: Fix opencensus-api dependency conflict (#7739)
We depend on 0.28.0 while oauth2 depends on 0.24.0. This change replaces oauth2's opencensus-api dependency with our own.
2020-12-21 12:02:17 -08:00
Sergii Tkachenko d9becc74d8
interop: add channelz to xds interop test server running in non-secure mode 2020-12-09 11:06:52 -05:00
sanjaypujare 71606479ed
interop: add channelz and reflection support to xds interop test client and server (#7701)
* interop: add channelz support to xds interop test client and server

* add reflection

Co-authored-by: Sergii Tkachenko <sergiitk@google.com>
2020-12-07 10:48:36 -08:00
Sergii Tkachenko 9211bd1914 interop-testing: rename XdsTestClient secure_mode argument 2020-11-24 20:39:53 -05:00
sanjaypujare a7530efd6e
interop: create PSM security xDS interop tests - server & client (#7609)
Co-authored-by: Sergii Tkachenko <hi@sergii.org>
2020-11-20 18:31:40 -08:00
Eric Anderson ddd5dea7e9 Migrate callers to ServerCredentials 2020-11-13 11:13:33 -08:00
Chengyuan Zhang 76ad953c36
interop-testing: fix wrong semantics for RPC failure stats in xDS test client (#7618)
The proto field is named as num_failures but its comment is saying it is for number of RPCs that failed to record a remote peer. RPC failed == RPC failed to record a remote peer was true previously (so no existing tests should be affected by this changed) as server completed RPCs immediately. It is no longer true with server capability to keep the call open/delayed.

This change clarifies the proto definition for stats RPC. rpcs_by_peer is for recording RPCs succeeded and num_failures is for RPCs failed. RPCs in the flight when the stats call times out are not counted towards any of the stats.
2020-11-13 10:28:44 -08:00
Chengyuan Zhang bf191cb5ea
interop-testing: aggregate accumulated stats by RPC methods in xDS test client (#7603)
Update xDS interop test proto to aggregate accumulated stats based on RPC methods (mirroring 643e5bcd1e8db931cf76a3be19cd9bba223ee987 in C-core's change). Updated the xDS interop test client to support querying accumulated stats aggregated to RPC methods.
2020-11-10 23:58:09 -08:00
Chengyuan Zhang 01e3832b42
interop-testing: fix bug of not completing client configure RPC in xDS test client (#7597) 2020-11-05 16:16:52 -08:00
Chengyuan Zhang 8e04df99f3
interop-testing: support dynamic configuration and accumulated stats for xDS test client (#7549) 2020-11-03 10:33:41 -08:00
Chengyuan Zhang b2bf5fa7f5
interop-testing: support rpc keep-open for xDS test server (#7548) 2020-11-03 10:33:17 -08:00
Chengyuan Zhang 90a3873a13
interop-testing: only need to count total number of succeeded RPCs for accumulated stats in xDS tests (#7561) 2020-10-27 16:09:16 -07:00
Chengyuan Zhang f5c7f4e154
interop-testing: add proto definitions for xDS circuit breaking test (#7545) 2020-10-21 17:57:34 -07:00
Eric Anderson 38fe5d276f interop-testing: Remove redundant tearDown() in hook
The main() Thread will call tearDown() itself. It appears this
redundancy has existed since e813eaae2f, where the normal error handling
was enhanced at the same time as cleaning up resource management. The
cleanup should have made it obvious the hook was no longer needed, but
alas. Technically, it did originally provide a purpose if setup()
failed, but it would have been better to just move setup() into the
try-catch instead. Today it doesn't even provide that purpose.
2020-10-13 16:34:57 -05:00
Eric Anderson 0203256171 interop-testing: Avoid alts incompatibility with netty
alts requires netty-shaded, not netty.
2020-10-08 12:59:26 -05:00
Eric Anderson a547e23f5e Migrate users of ManagedChannelBuilder.{forTarget,forAddress} to ChannelCredentials 2020-10-07 13:58:37 -05:00
Sergii Tkachenko b03f148ed9 core, netty: server builders extend a public API class 2020-09-03 16:26:04 -04:00
Sergii Tkachenko c29ad76dae Explain test value for flow control window 2020-09-02 14:51:39 -04:00
Sergii Tkachenko 5d1304c33c okhttp: OkHttpChannelBuilder extends a public API class 2020-09-02 13:28:52 -04:00
Sergii Tkachenko c056979671 netty: NettyChannelBuilder extends a public API class 2020-09-02 13:28:52 -04:00
Sergii Tkachenko b0f0ed080e core: InProcessChannelBuilder extends a public API class 2020-09-02 13:28:52 -04:00
Eric Anderson 0773c1aa05 interop-testing: Remove comparison of proto field to null
Proto fields aren't null. The getter will return an empty string instead
of null.

cl/326415191
2020-08-13 10:01:07 -07:00
Eric Anderson e92b2275f9 Update to Error Prone 2.4
Most of the changes should be semi-clear why they were made. However, BadImport
may not be as obvious: https://errorprone.info/bugpattern/BadImport . That
impacted classes named Type, Entry, and Factory. Also
PublicContructorForAbstractClass:
https://errorprone.info/bugpattern/PublicConstructorForAbstractClass

The JdkObsolete issue is already resolved but is not yet in a release.
2020-08-06 10:56:16 -05:00
Eric Anderson 026673cff5 gradle: Fix Gradle 6 warnings
Most of these are easy "replace X with Y."

The CreateStartScripts changes were because the scripts were being included in
the output zip/tar multiple times. The was because they were all using the same
output directory, and the entire output directory was being included for each.
The output directory tmp/ was particularly poor because other tasks were
dumping things into it, so our zip/tar was including those junk files as well.
2020-07-31 09:52:36 -05:00
Eric Gribkoff 4fbe6bef7d
interop-testing: add flags to xds test client 2020-07-28 12:43:00 -07:00
Trustin Lee 1d443e0389
interop-testing: fix flakiness of deadlineExceeded test (#7202)
Increase the deadline amount to avoid the false positive of deadline exceeded due to the call is scheduled to start after the deadline.
2020-07-17 10:40:15 -07:00
Eric Anderson 3a43abef7b
interop-testing: Use normal runtimeOnly dep for xds (#7200)
This prevents grpc-xds and its transitive dependencies from being included
twice in distTar and distZip, which reduces the size from 60 MB to 40 MB. It
does mean that interop-testing as a whole depends on xds, but that should not
be an issue any longer. It was an issue before we started providing grpc-xds on
Maven Central.
2020-07-14 13:25:40 -07:00
Eric Anderson cb5ceaaaa0 interop-testing: Add integration test for RetriableStream 2020-07-09 16:46:00 -05:00
Eric Gribkoff c3b62f2e6d
interop-testing: add xds test service to set healthy/unhealthy (#7127) 2020-06-15 22:52:50 -07:00
Philippe Laflamme cc2d376a93
interop-testing: adds assertions to empty_stream test case (#7030)
If the server fails (e.g.: with an unimplemented status), the test still succeeds.
This change adds assertions to check the status code as well as the expected number of responses.
2020-05-12 17:44:09 -07:00
Jihun Cho 6cde3b220b
all: fix lint warnings (#7016) 2020-05-07 15:43:53 -07:00
apolcyn 79b00d266e
interop testing: add a gRPCLB fallback test client
This is a java analogue of the C++ test added in grpc/grpc#19623.

Proto changes were synced from grpc/grpc-proto

This client is suitable for testing fallback with any "grpclb" load-balanced service, but is particularly meant to implement a set of test cases described in an internal doc titled "DirectPath Cloud-to-Prod End-to-End Test Cases", section "gRPC DirectPath-to-CFE fallback".
2020-05-05 14:22:25 -07:00
ZHANG Dapeng 0044f8ce56
all: migrate gradle build to java-library plugin
- Use gradle configuration `api` for dependencies that are part of grpc public api signatures.
- Replace deprecated gradle configurations `compile`, `testCompile`, `runtime` and `testRuntime`.
- With minimal change in dependencies: If we need dep X and Y to compile our code, and if X transitively depends on Y, then our build would still pass even if we only include X as `compile`/`implementation` dependency for our project. Ideally we should include both X and Y explicitly as `implementation` dependency for our project, but in this PR we don't add the missing Y if it is previously missing.
2020-05-04 16:44:30 -07:00
Jihun Cho 83a3b25e80
netty: allow to use bandwidth delay product (#6979) 2020-05-01 15:39:22 -07:00
Chengyuan Zhang ae4510a219
interop-testing: delete deprecated environment variable for enabling grpclb (#6903) 2020-04-06 13:42:01 -07:00
Eric Gribkoff 4ae7a37d7c
interop-testing: add health service to XdsTestServer (#6891) 2020-04-02 15:39:25 -07:00
Eric Gribkoff 99b6d0156e
buildscripts,interop-testing: Increase logging for xDS tests (#6818) 2020-03-11 20:34:26 -07:00
ZHANG Dapeng b348479ac8
interop-testing: set the right classpath for startscripts
Currently the classpath for all startscripts in interop-testing includes alpnagent and grpc-xds, even if a lot of startscripts don't need them. Made a change to only include alpnagent or grpc-xds when a startscript really needs it.
2020-03-06 11:55:45 -08:00
ZHANG Dapeng 7be75a0bcb
all: let interop test use shaded dependency correctly take 2
First rolls forward #6791, then fixes the issue of missing transitive dependency for the shadow configuration.
2020-03-04 16:10:46 -08:00
ZHANG Dapeng 1df7d7ea8e
Revert "all: let interop test use shaded dependency correctly (#6780)"
This reverts commit c5f48b8e38.  (#6780)

Revert because caused a regression in the ALTS tests. https://source.cloud.google.com/results/invocations/691d9965-fea1-487d-b606-352a5234039e/targets/grpc%2Fcore%2Fpull_request%2Flinux%2Fgrpc_interop_toprod/log

2020-03-01 20:02:12,491 Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/lang3/SystemUtils
at io.grpc.alts.CheckGcpEnvironment.isRunningOnGcp(CheckGcpEnvironment.java:69)
at io.grpc.alts.CheckGcpEnvironment.isOnGcp(CheckGcpEnvironment.java:44)
at io.grpc.alts.ComputeEngineChannelBuilder.(ComputeEngineChannelBuilder.java:62)
at io.grpc.alts.ComputeEngineChannelBuilder.forTarget(ComputeEngineChannelBuilder.java:72)
at io.grpc.alts.ComputeEngineChannelBuilder.forAddress(ComputeEngineChannelBuilder.java:77)
at io.grpc.testing.integration.TestServiceClient$Tester.createChannel(TestServiceClient.java:399)
at io.grpc.testing.integration.AbstractInteropTest.setUp(AbstractInteropTest.java:309)
at io.grpc.testing.integration.TestServiceClient.setUp(TestServiceClient.java:198)
at io.grpc.testing.integration.TestServiceClient.main(TestServiceClient.java:56)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.lang3.SystemUtils
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 9 more
2020-03-02 10:22:50 -08:00
ZHANG Dapeng c5f48b8e38
all: let interop test use shaded dependency correctly (#6780) 2020-02-28 10:04:46 -08:00
Eric Gribkoff 161a26ecff
interop-testing: sync SimpleResponse definition with core and go (#6713) 2020-02-14 14:05:23 -08:00
ZhenLian 557da62305
netty: Upgrade Netty (4.1.45.Final) & tcnative (2.0.28.Final) 2020-02-06 10:03:14 -08:00
ZHANG Dapeng 258fe12f02
interop-testing: fix bug of xds test missing transitive dependency
This fixes a bug introduced in #6675 .

grpc-interop-testing should have added all dependency e.g. enovy that grpc-xds needs.
2020-02-05 16:47:13 -08:00
ZHANG Dapeng cd35a8153c
interop-testing: fix bug for xds dependency not published yet
In v1.27.0 release the grpc-interop-testing artifact in maven includes grpc-xds, but grpc-xds is not yet published. It should be removed from the dependency list in maven artifact.
2020-02-04 14:53:31 -08:00
ZHANG Dapeng d8250e9456
interop-testing: log RPC failures for XdsTestClient 2020-01-27 13:58:48 -08:00