Commit Graph

3911 Commits

Author SHA1 Message Date
sanjaypujare f07fcd7d7b
xds: TlsContextManager refactoring to match its usage; add tests for TlsContextManager (#6297) 2019-10-21 15:07:35 -07:00
ZHANG Dapeng 5cb67d6399
xds: remove invalid srcDir third_party/protoc-gen-validate/src/main/proto
The directory third_party/protoc-gen-validate/src/main/proto was removed in #6177.
2019-10-21 14:24:17 -07:00
Jihun Cho ae11b9facc
api,core,stub: fix lint errors (#6305) 2019-10-18 17:30:00 -07:00
Jihun Cho ecbc5e4f47
stub: add RunWith for AbstractStub tests (#6304) 2019-10-18 16:30:48 -07:00
Chengyuan Zhang 9dce879742
xds: add fields for EDS server and LRS server in XdsConfig (#6287) 2019-10-18 13:33:56 -07:00
Jihun Cho eef47b26b8
core,grpclb: DnsNameResolver will use srv record by default if grpclb (#6298) 2019-10-18 13:00:47 -07:00
Chengyuan Zhang c0f91efffb
xds: import http_connection_manager proto from envoy repo (#6301) 2019-10-18 11:00:11 -07:00
Chengyuan Zhang b5ddf3ef08
xds: import proto files for CDS, LDS, RDS from envoy repo (#6292) 2019-10-17 18:29:07 -07:00
Chengyuan Zhang 1dd72ab043
xds: update envoy proto version to f709434b37e9ff74666d5b854aa11fb2f1ec37f3 (#6291) 2019-10-17 17:23:40 -07:00
Ran fe46edacea
stub: ignore unary response msg if status is not OK (#6288)
* stub: ignore unary response msg if status is not OK

* stub: throw if no msg with OK status

* address the comment, improve tests.

* fix error message

* fix error message

* improve naming of the tests

* call onCompleted on success unary flow

* fix test

* handle errors for delayed unary message sending

* clean up the onCompleted/onError logic

* use hasMessageThat to produce better error message when fail
2019-10-17 14:49:53 -07:00
Jihun Cho 45d49a56cc
stub,compiler: generated stub extends Abstract{Async,Future,Blocking}Stub (#6196) 2019-10-17 14:49:24 -07:00
Eric Anderson 40f401d0e7 api: Clarify setting safe/idempotent may change other value 2019-10-17 10:01:34 -07:00
Jihun Cho 9a34ceece6
xds: fix lint warnings (#6289) 2019-10-16 16:50:03 -07:00
sanjaypujare 8d1ee9cfc7
xds: implementation of SslContextSecretVolumeSecretProvider (#6251) 2019-10-16 15:15:28 -07:00
sanjaypujare 4fc41bd0e1
xds: SdsTrustManagerFactory implementation - uses SdsX509TrustManager (#6267) 2019-10-16 14:35:49 -07:00
Eric Anderson 9eca2dcc4f api: Add ExperimentalApi annotations for blockingExecutor
These should have been present when initially added in #6238, but we forgot.
2019-10-16 13:58:55 -07:00
Eric Anderson 3ce5df3f78 api: Safe implies idempotent 2019-10-16 13:29:38 -07:00
Eric Anderson 9f0f2a3c85 bazel: Add compatibility for --incompatible_load_cc_rules_from_bzl 2019-10-16 13:29:19 -07:00
Eric Anderson 372945fde5 travis: Upgrade from trusty to xenial
In 97cb0554 we pinned ourselves to trusty to workaround temporary Java 8
issues. Oracle JDK 8 is "dead" across the ecosystem because Oracle
removed download links to it, so we swap to openjdk 8 as we have done
elsewhere.  OpenJDK 8 is supported with xenial, so we can upgrade.

Unfortunately bionic on Travis does not include openjdk8, so we will be
unable to easily upgrade to newer versions of the distro unless we drop
JDK 8 compilation or we figure out a way to get it working. For example,
in may be possible to install the openjdk-8-jdk package.
2019-10-16 11:38:09 -07:00
Eric Anderson fa45a71ec9 api: Allow streaming methods to be safe 2019-10-16 10:08:42 -07:00
sanjaypujare ddaf1c8ce9
xds: fix to use the resource based TestUtils.loadCert (#6281) 2019-10-15 17:32:45 -04:00
Jihun Cho eda5e2e32c
protobuf: StatusProto#fromStatusAndTrailers fall-back use status (#6278) 2019-10-15 08:49:08 -07:00
Grant Oakley adcfb3e623 api,core: Adds an Executor field to NameResolver.Args.
Adds an Executor to NameResolver.Args, which is optionally set on ManagedChannelBuilder. This allows NameResolver implementations to avoid creating their own thread pools if the application already manages its own pools.

Addresses #3703.
2019-10-14 08:46:26 -07:00
Ran 58886310e4
xds: disable test that break on blaze. (#6275) 2019-10-11 14:16:47 -07:00
sanjaypujare ab092ec43c
xds: disables some tests that break with blaze (#6273) 2019-10-11 11:40:11 -07:00
sanjaypujare 0c4fc64bf2
xds: first installment of SdsProtocolNegotiators with Client and Server builders (#6261)
* xds: SdsProtocolNegotiators with Client and Server builders
2019-10-10 16:38:27 -07:00
Ran a94a63c7ae
xds: clean up. (#6271) 2019-10-10 16:18:09 -07:00
Ran 0e25cd8e7c
xds: add private constructor for utility class. (#6270) 2019-10-10 16:06:17 -07:00
ZHANG Dapeng 316a739e67
Revert "all: remove deprecated usePlaintext(boolean)"
This reverts commit 296857b4e7.
2019-10-10 15:56:47 -07:00
Jihun Cho 2c3ef874d8
core: fix typo in AutoConfiguredLoadBalancerFactory (#6262) 2019-10-10 12:34:45 -07:00
Ran ba17682eb2
okhttp: fix header scheme does not match transport type. (#6260)
okhttp: fix header scheme does not match transport type.
2019-10-09 18:00:45 -07:00
sanjaypujare a633b53f95
xds: SdsX509TrustManager implementation for XDS and SDS (#6254) 2019-10-09 14:52:09 -07:00
Eric Anderson 024a46bd11
bazel: Support --incompatible_load_proto_rules_from_bzl
This flag will be enabled by default in Bazel 1.0

Since I changed the grpc-proto repo version for Bazel, I also synced the
protos.
2019-10-09 14:46:17 -07:00
Eric Anderson 7e8e9d6a86 bazel: Remove deps that protobuf includes
net_zlib is no longer used ("zlib" is used instead). Zlib and skylib are
both included via protobuf_deps(). With the language-specific rules
needing to be imported (e.g., rules_proto, rules_java) we are relying on
protobuf_deps() pretty heavily starting in Protobuf 3.10, so we aren't
losing much to remove these two deps.
2019-10-09 10:49:54 -07:00
Elliotte Rusty Harold 079219bbc9 Update to GSON 2.8.5 and protobuf 3.10.0 2019-10-09 07:47:34 -07:00
Chengyuan Zhang b69f19d589
okhttp: add full implementation of HPACK header compression (#6026)
This change added the missing implementation of HTTP/2 HPACK for writer. The implementation is copied (and modified) from upstream OkHttp (OkHttp3). 

- Huffman encoding of writer is disabled by default.
2019-10-08 10:06:26 -07:00
ZHANG Dapeng 296857b4e7
all: remove deprecated usePlaintext(boolean) 2019-10-08 09:27:39 -07:00
Chengyuan Zhang 0ec31c683e
Revert "Revert "stub: Wait for onClose when blocking stub is interrupted"" (#6255)
This reverts commit 0604e14154.
2019-10-07 11:40:20 -07:00
Eric Anderson 2caa77d48f netty: Implicitly enable Conscrypt when it is available
This implicit loading is more conservative than the loading for
tcnative, as Conscrypt will only be implicitly loaded if there are no
other options. This means the Java 9+ JSSE is preferred over Conscrypt
without explicit user configuration.

While we would generally prefer Conscrypt over JSSE, we want to allow
the user to configure their security providers. There wasn't a good way
to do that with netty-tcnative and the performance of JSSE at the time
was abysmal.

While generally being a good way to allow adopting Conscrypt, this also
allows easily using App Engine Java 8's provided Conscrypt which can
substantially reduce binary size.

See googleapis/google-cloud-java#6425
2019-10-07 11:37:50 -07:00
Eric Anderson e9921b77f2 Create ConscryptLoader for code sharing 2019-10-07 11:37:50 -07:00
cmagnuso244 f51336f0cc
examples: Modifies documentation (#6253) 2019-10-07 10:52:39 -07:00
sanjaypujare 764d0b852a
COMPILING.md: we don't need shared lib related steps (#6245) 2019-10-07 09:34:27 -07:00
dapengzhang0 5fce838b4e xds: fix wrong class name of XdsNameResolverTest 2019-10-05 10:53:48 -07:00
dapengzhang0 ed220c14b8 xds: fix wrong json key balancerName 2019-10-05 10:53:48 -07:00
Sanjay Pujare be83a3ddc5 xds: fix Javadoc comments and add final qualifier also fix typo 2019-10-04 18:16:02 -07:00
Sanjay Pujare edd9e5a257 define interface for the new TlsContextManager that will replace the SecretManager 2019-10-04 18:16:02 -07:00
Eric Anderson a462a3bc8e COMPILING.md: Reduce dependencies when building protobuf
These changes avoid a dependency on automake, autoconf, and libtool. The
./configure script is only available via the release artifacts, not git.

For example, on Debian Buster only curl and build-essential need to be
installed.
2019-10-04 15:35:05 -07:00
ZHANG Dapeng 31b1da5a8d
xds: bootstrap xDS load balancer with xDS name resolver
`XdsNameResolver` will load bootstrap file and populate `Node` reference to the `XdsLoadBalancer` through attributes of `ResolvedAddresses`. This is only for demo purpose until `XdsClient` is available, whence `XdsNameResolver` will populate `XdsClient` reference to `XdsLoadBalancer` through attributes instead.
2019-10-04 12:13:48 -07:00
Sanjay Pujare ed4f1fbdae Mark XdsAttributes internal 2019-10-04 10:37:34 -07:00
Sanjay Pujare c16b104e61 Adding more attributes to XdsAttributes and making XdsAttributes public to prepare for using *TlsContext in the new SecretManager 2019-10-04 10:37:34 -07:00