3350 Commits

Author SHA1 Message Date
cc864071cc rls: Manually implement equality of key builder maps. (#3476)
cmp.Equal is not supposed to be used in production code because of its
propensity towards panicking.

This equality will eventually be checked from the LB policy when it gets
a service config update.
2020-03-31 14:20:17 -07:00
e965f2a60b client: add a WithNoProxy dialoption (#3411) 2020-03-26 15:29:40 -07:00
5dbd4c232c kokoro: allow individual test case logs for xds (#3478)
Also reduce the size of the grpc/grpc download
2020-03-26 11:07:05 -07:00
192c8a2a35 rls: Rename type picker to rlsPicker. (#3475)
This change only renames the type and reformats some comments. No change
in functionality. The rename was deemed necessary once I started
implementing the balancer and wanted to be consistent. The builder is
named `rlsBB`, the balancer is named `rlsBalancer`, so the picker should
be `rlsPicker`. Also, this rename allows the field in the balancer which
caches the last picker to be named `picker`.
2020-03-25 15:26:46 -07:00
7c502e141a wrr: make random wrr thread safe (#3470) 2020-03-23 09:17:57 -07:00
fe80f08f1f Update test credentials to 2048-bit RSA keys (#3467) 2020-03-23 15:48:25 +01:00
b3dcc68129 stats: set response compression codec on stats.InHeader and stats.OutHeader (#3390) 2020-03-20 10:12:38 -07:00
197c621dff xds: use generated protos from github.com/cncf/udpa/go (#3449)
The upstream repo contains generated Go packages, so there's no need to
generate a separate version here.
2020-03-19 13:15:44 -07:00
166461e2c4 channelz: Make staticchecker happy on darwin. (#3469)
convertToPtypesDuration is used only in linux. So, moving to the linux
specific file so that the staticchecker does not complain on dawrin..
2020-03-19 09:56:47 -07:00
09c4b45e16 vet: Get it to work on Darwin. (#3452) 2020-03-19 08:51:10 -07:00
71f583e958 xds: split callback in xds_client to avoid type assertions (#3450) 2020-03-18 16:00:08 -07:00
ba34a8c58b doc: fix link in xds readme to point gRFC (#3466) 2020-03-18 14:06:38 -07:00
b9b4456a0c README: add KeepaliveParameters hint to FAQ (#3465)
This error can happen when long lived streams are used
together with KeepaliveParameters that regularly
shut down existing connections.
2020-03-18 08:55:20 -07:00
804ff443fc rls: Implementation of the picker (#3423) 2020-03-16 10:43:00 -07:00
399ae78064 alts: add trailing dot to metadata.google.internal (#3460) 2020-03-16 10:14:15 -07:00
09f5e89ac4 kokora: checkout matching grpc/grpc branch for xds test (#3456) 2020-03-13 14:17:50 -07:00
4e487c1661 xds: rename WatchEDS to WatchEndpoints in xds_client (#3447) 2020-03-12 13:42:44 -07:00
ecea6ed1fc xds: better way to compare and update dropper in EDS (#3434) 2020-03-12 13:41:54 -07:00
9e4ff32c82 client: fix getResolver to use scheme param (#3437) 2020-03-12 13:41:38 -07:00
a6bd100681 kokoro: add xds job (#3448) 2020-03-12 13:37:26 -07:00
0e160327ed rls: Implementation of the RLS client. (#3446) 2020-03-11 18:37:57 -07:00
47c04d199d rls: LB config cleanup (#3443)
1. Store the RLS server name (lookupService field) as a string instead
   of as a resolver.Target as this is passed to grpc.Dial when creating
   the control channel.
2. Store the default target specified in the ServiceConfig in a field in
   the lbConfig struct.
3. Move some constants defined in builder.go to config.go because they
   are only used in the latter.
2020-03-11 08:55:55 -07:00
6d849d5cd9 rls: Some minor updates to the RLS cache. (#3442)
* Add a Resize method which will be invoked by the RLS LB policy when it
  receives a new cacheSize in its ServiceConfig.
* Change the size fields in the cache to int64. This is the type of the
  cacheSize field in the proto.
* Store the BackoffState field in the cache.Entry by value instead of as
  a pointer because it doesn not buy us much (the backoff state is not
  shared between the data cache and the pending cache).
2020-03-11 08:53:06 -07:00
dc074d6727 rls: Add an Equal method to the KeyBuilderMap type. (#3441) 2020-03-11 08:51:00 -07:00
5c17da6907 stats: add comments about why out headers and out trailers have no wire length (#3408) 2020-03-10 09:15:28 -07:00
9a1081e29e xds: handle removing drops (#3433) 2020-03-10 08:50:16 -07:00
d179e8f5cd xds: Update an error log message. (#3429) 2020-03-06 08:31:55 -08:00
3211773f0f Change version to 1.29.0-dev (#3428) 2020-03-05 15:33:21 -08:00
c12425709d rls: Implementation of lb config parse functionality. (#3379) 2020-03-05 11:10:56 -08:00
759de4dd00 xds: include nonce from the most recent response in new requests (#3420)
Even if the new request is for a new watch.

None and version are reset on new ADS streams.
2020-03-04 17:54:13 -08:00
cfc5fec35a eds: handle child balancer state asynchronously (#3418)
Before this change, in EDS balancer, child balancer's state update is handled synchronously, which includes priority handling. This would cause a deadlock if the child policy sends a state update inline when handling addresses (e.g. when roundrobin handles empty address list).

This change moves the child balancer state handling into a goroutine, to avoid the problem.
2020-03-04 17:53:51 -08:00
6af3d372ce Fixed channelz test flakyness. (#3417) 2020-03-03 13:25:42 -08:00
d3b2eefd21 xds: include port in VirtualHost domain matching (#3413) 2020-03-03 12:53:47 -08:00
c0d37940ad xds: Eliminate calls to reflect.DeepEqual from xds code. (#3414) 2020-03-02 15:49:25 -08:00
c26257da52 rls: Initial implementation of the LRU cache. (#3359)
Contains enough functionality to start working on the users of this
cache: the LB policy, picker and cache expiry goroutine.
2020-03-02 09:22:14 -08:00
2cd9da628a test: record peers by hostname in xds client (#3409) 2020-02-28 14:51:49 -08:00
e139b475f3 xds: support wildcard domain matching for RDS response (#3397) 2020-02-28 09:44:04 -08:00
73cf2d2ad6 xds: LRS send hostname in metadata (#3394)
- The first LRS req will send hostname in metadata
   - With key "PROXYLESS_CLIENT_HOSTNAME"
2020-02-28 09:41:56 -08:00
6f9eea6eae test: include xDS package in test client dependencies (#3407) 2020-02-28 09:40:52 -08:00
a63c5550c9 xds: set no_overprovisioning in request Node (#3402)
Also set the new user-agent fields.
2020-02-27 13:17:48 -08:00
224056d331 xds: add reflection and health service to example server (#3403) 2020-02-27 13:17:17 -08:00
f8ad812d8e internal: update interop test.pb.go (#3405) 2020-02-27 13:17:00 -08:00
7f5ddc8aee xds: improve logging (#3386)
- More logs in xds bootstrap/resolver/cds/eds
  - Bootstrap file content/error
  - Request/response on ADS stream
  - Actions by client/resolver/balancer
  - Content of updates
- Logs prefixed with component name and id
  - `[xds-bootstrap]`
  - `[xds-client <address>]`
  - `[cds-lb <address>]`
  - `[eds-lb <address>]`
2020-02-26 17:50:07 -08:00
c02d9d1775 xds: LRS handle response contains multiple cluster names (#3393)
- The LRS client will find known clusters from the response, and send the loads
   - The LRS client support only one cluster now, will be extended to support multiple
2020-02-26 12:41:45 -08:00
6cd03861bf vet.sh: ensure vet runs on all packages (#3395) 2020-02-26 10:50:27 -08:00
b1a5073a2c Fix vet issues (#3396)
* internal/wrr: fix copying lock

* internal/transport: don't use unkeyed fields

* xds/internal/balancer/edsbalancer: don't use unkeyed fields

* profiling/cmd: don't discard cancel
2020-02-25 10:56:49 -08:00
a43f3ee96c interop: add xds test client and server (#3326)
https://github.com/grpc/grpc/blob/master/doc/xds-test-descriptions.md
2020-02-24 13:45:21 -08:00
5b44288e25 internal: update service config proto (#3389) 2020-02-24 10:44:45 -08:00
7392afe7d2 xds: client should handle new watch requests even if there's no working stream (#3376)
This can happen when the xds ClientConn is in transient failure (a
config error on the server address or creds, or a connection error).
When this happens, the new watches should still be handled, and should
be notified of failure when timeout.
2020-02-18 13:59:21 -08:00
fff75ae40f channelz: log on channelz trace events and trace on channelz relevant logs. (#3329)
channelz: log on channelz trace events and trace on channelz relevant logs. (#3329)
2020-02-14 10:11:26 -08:00