6e5e3d134e
*: enforce max lease TTL with 9,000,000,000 seconds
...
math.MaxInt64 / time.Second is 9,223,372,036. 9,000,000,000 is easier to
remember/document.
Signed-off-by: Gyuho Lee <gyuhox@gmail.com >
2018-03-08 10:38:07 -08:00
273a43d4d8
api/v3election: error on missing "leader" field
...
Signed-off-by: Gyuho Lee <gyuhox@gmail.com >
2018-03-07 23:08:28 -08:00
68d27b2d84
etcdserver/api/v3rpc: debug-log client disconnect on TLS, http/2 stream CANCEL
...
Signed-off-by: Gyuho Lee <gyuhox@gmail.com >
2018-01-19 12:50:06 -08:00
df4036ab73
etcdserver/api/v3rpc: debug user cancellation and log warning for rest
...
The context error with cancel code is typically for user cancellation which
should be at debug level. For other error codes we should display a warning.
Fixes #9085
2018-01-08 17:46:01 -08:00
7fb1fafe0c
etcdserver/api/v3rpc: set grpclog once
...
Signed-off-by: Gyuho Lee <gyuhox@gmail.com >
Conflicts:
etcdserver/api/v3rpc/grpc.go
2018-01-02 11:12:33 -08:00
7025d7c665
etcdserver,embed: discard gRPC info logs when debug is off
...
Signed-off-by: Gyuho Lee <gyuhox@gmail.com >
Conflicts:
embed/etcd.go
etcdserver/api/v3rpc/grpc.go
etcdserver/config.go
2018-01-02 11:12:26 -08:00
4ab213a4ec
etcdserver/api/v3rpc: log stream error with debug level
...
Signed-off-by: Gyuho Lee <gyuhox@gmail.com >
2018-01-02 11:11:38 -08:00
348b25f3dc
clientv3: call other APIs with default gRPC call options
...
Signed-off-by: Gyuho Lee <gyuhox@gmail.com >
2017-12-20 12:41:57 -08:00
c67e6d5f5e
clientv3: call KV/Txn APIs with default gRPC call options
...
Signed-off-by: Gyuho Lee <gyuhox@gmail.com >
2017-12-20 12:39:11 -08:00
5921b2c035
api/v3rpc: log grpc stream send/recv errors in server-side
...
Signed-off-by: Gyu-Ho Lee <gyuhox@gmail.com >
2017-11-30 11:21:48 -08:00
939337f450
*: add max requests bytes, keepalive to server, blackhole methods to integration
...
Signed-off-by: Gyu-Ho Lee <gyuhox@gmail.com >
2017-11-16 09:05:06 -08:00
d62e39d5ca
*: deprecate "metadata.NewContext"
...
Signed-off-by: Gyu-Ho Lee <gyuhox@gmail.com >
2017-11-16 09:05:06 -08:00
eb1589ad35
*: regenerate proto
...
Signed-off-by: Gyu-Ho Lee <gyuhox@gmail.com >
2017-11-16 09:05:06 -08:00
8ab42fb045
*: move v2http handlers without /v2 prefix to etcdhttp
...
Lets --enable-v2=false configurations provide /metrics, /health, etc.
Fixes #8167
2017-07-24 09:54:48 -07:00
536a5f594b
v3rpc: Let clients establish unlimited streams
...
From go-grpc v1.2.0, the number of max streams per client is set to 100
by default by the server side. This change makes it impossible
for third party proxies and custom clients to establish many streams.
2017-07-12 10:46:33 -07:00
a032b3b914
v3rpc: treat nil txn request op as error
...
Fixes #7889
2017-06-20 10:57:41 -07:00
864ffec88c
v2http: put back /v2/machines and mark as non-deprecated
...
This reverts commit 2bb33181b6
. python-etcd
seems to depend on /v2/machines and the maintainer vanished. Plus, it is
prefixed with /v2/ so it probably can't be deprecated anyway.
2017-06-08 12:05:59 -07:00
939912c425
clientv3, etcdserver: support auth in Watch()
2017-05-20 11:34:45 +09:00
010ffc0692
v3rpc: remove duplicated error case for lease.ErrLeaseNotFound
2017-05-08 20:09:41 -07:00
3ce31acda4
v3client: wrap watch ctxs with blank ctx
...
Printing the values in ctx.String() will data race if the value
is mutable and doesn't implement String(), which seems to be common.
Instead, just return a fixed string instead of computing it; v3client
watches don't need as much flexibility for creating separate strings,
so separate ctx strings probably aren't necessary at this point.
Fixes #7811
2017-04-25 15:03:06 -07:00
2bb33181b6
v2http: remove deprecated /v2/machines path
2017-04-22 03:11:21 -07:00
393e4335b7
*: put gateway stubs into their own packages
...
Fixes #7773
2017-04-19 13:09:06 -07:00
957c9cd1df
Merge pull request #7734 from mitake/status-auth
...
etcdserver: let Status() not require authentication
2017-04-13 15:53:33 -07:00
67f2e41f20
etcdserver: let Status() not require authentication
...
The information that can be obtained with the RPC doesn't need to be
protected.
Fix https://github.com/coreos/etcd/issues/7721
2017-04-13 17:39:09 +09:00
d9ec6b4d22
*: return updated member list in v3 rpcs
...
Now it's possible to atomically know the new member configuration from
issuing a membership change RPC.
2017-04-12 16:24:51 -07:00
78a5eb79b5
*: add swagger and grpc-gateway assets for v3lock and v3election
2017-04-10 15:21:07 -07:00
dc8115a534
v3election: Election RPC service
...
Fixes #7589
2017-04-07 16:36:38 -07:00
135a40751e
v3rpc: force RangeEnd=nil if length is 0
...
gRPC will replace empty strings with nil, but for the embedded case it's
possible for []byte{} to slip in and confuse the single key / >= key
watch logic.
2017-04-07 16:36:38 -07:00
7f2d6b3ef6
clientv3,v3client: add cluster embedded client
...
Signed-off-by: Gyu-Ho Lee <gyuhox@gmail.com >
2017-04-04 08:14:18 -07:00
833769f59f
v3rpc: return leader loss error if lease stream is canceled
...
Canceling the stream won't cancel the receive since it's using the internal
grpc context, not the one assigned by etcd.
2017-03-30 20:18:33 -07:00
0bf110e27f
clientv3,v3client: maintenance to embedded client
...
Signed-off-by: Gyu-Ho Lee <gyuhox@gmail.com >
2017-03-28 14:12:43 -07:00
c40b86bcde
auth, etcdserver: forbid invalid auth management
...
If auth is enabled,
1. deleting the user root
2. revoking the role root from the user root
must not be allowed. This commit forbids them.
2017-03-23 16:47:58 +09:00
dea2516177
v3client: fix doc to use e.Server
...
Was passing embed.Etcd instead of etcdserver.EtcdServer.
2017-03-15 09:17:17 -07:00
01d1a579bc
v3client: add example and godoc New
2017-03-14 10:50:41 -07:00
47cd9d0277
v3lock: server-side api for locking
2017-03-13 15:23:26 -07:00
763a37d3f1
v3client: a bridge between an etcdserver and a clientv3
2017-03-13 15:23:26 -07:00
5da5b834e5
api: default to V3 capability
...
Fixes #7154
2017-03-02 14:02:09 -08:00
2ca1823a96
v3rpc: LeaseTimeToLive returns TTL=-1 resp on lease not found
2017-02-10 16:33:31 -08:00
0191509637
auth, etcdserver: authenticate clients based on certificate CommonName
...
This commit lets v3 auth mechanism authenticate clients based on
CommonName of certificate like v2 auth.
2017-01-31 17:22:12 +09:00
5ac4e4255a
v3rpc: error for non empty lease with 'ignore_lease'
2017-01-25 03:04:07 +05:30
26d99269c0
Merge pull request #6898 from mitake/auth-maintain
...
RFC, WIP: etcdserver: let maintenance services require root role
2017-01-14 11:22:14 -08:00
9886e9448e
auth, etcdserver: let maintenance services require root role
...
This commit lets maintenance services require root privilege. It also
moves AuthInfoFromCtx() from etcdserver to auth pkg for cleaning purpose.
2017-01-14 19:36:24 +09:00
e655420d33
v3rpc: error for non-empty value with ignore_value
2017-01-13 15:13:18 -08:00
ea94aea136
etcdserver/api: add 3.2 in capability
2017-01-13 14:00:03 -08:00
d431b64d97
etcdserver, clientv3: handle a case of expired auth token
...
This commit adds a mechanism of handling a case of expired auth token
to clientv3. If a server returns an error code
grpc.codes.Unauthenticated, newRetryWrapper() tries to get a new token
and use it as an option of PerRPCCredential.
Fixes https://github.com/coreos/etcd/issues/7012
2017-01-12 11:49:02 +09:00
2b5f9e1c6b
etcdserver: expose ErrNotEnoughStartedMembers
...
Fix https://github.com/coreos/etcd/issues/7072 .
2017-01-03 15:23:06 -08:00
e2463569e7
v2http: submit QGET in health endpoint if no progress
...
Removing the periodic SYNC calls broke the health endpoint since the
raft index stops updating. Instead, don't bother monitoring the
raft index; issue a QGET directly to get a consensus response.
Fixes #6985
2016-12-28 12:20:56 -08:00
89b18ff1af
Merge pull request #7015 from fanminshi/fix_lease_expired_too_soon
...
lease: force leader to apply its pending committed index for lease op…
2016-12-27 11:26:15 -08:00
fef4a79528
lease: force leader to apply its pending committed index for lease operations
...
suppose a lease granting request from a follower goes through and followed by a lease look up or renewal, the leader might not apply the lease grant request locally. So the leader might not find the lease from the lease look up or renewal request which will result lease not found error. To fix this issue, we force the leader to apply its pending commited index before looking up lease.
FIX #6978
2016-12-22 14:24:38 -08:00
87b1d9571f
v3api, rpctypes: add ErrTimeoutDueToConnectionLost
...
Lack of GRPC code was causing this to look like a halting error to the client.
2016-12-16 10:25:35 -08:00