626 Commits

Author SHA1 Message Date
cfz
b12f8c12ce server/auth: enable tokenProvider if recoved store enables auth
we found a lease leak issue:
if a new member(by member add) is recovered by snapshot, and then
become leader, the lease will never expire afterwards. leader will
log the revoke failure caused by "invalid auth token", since the
token provider is not functional, and drops all generated token
from upper layer, which in this case, is the lease revoking
routine.
2021-07-11 01:17:08 +08:00
Piotr Tabor
ac0243bd70
Merge pull request #13160 from serathius/compact
etcdserver: Extract functions for setting and reading compaction information in backend
2021-07-03 11:37:09 +02:00
Piotr Tabor
1208505290
Merge pull request #13161 from serathius/membership
etcdserver: Membership uses MembershipStorage interface instead of directly accessing Backend
2021-07-03 11:33:38 +02:00
Piotr Tabor
33b2cdb957
Merge pull request #13162 from serathius/auth
etcdserver: Move read/update methods on Auth bucket to one place
2021-07-03 11:33:07 +02:00
Piotr Tabor
a8e6016fc6
Merge pull request #13163 from serathius/authusers
etcdserver: Move all get/put/delete on AuthUsers and AuthRoles to buckets module
2021-07-03 11:32:24 +02:00
Piotr Tabor
6825b4da61
Merge pull request #13164 from serathius/alarm
etcdserver: Move put/read/delete on Alarm bucket to bucket package
2021-07-03 11:31:37 +02:00
Marek Siarkowicz
e5a026822b etcdserver: Move put/read/delete on Alarm bucket to bucket package 2021-07-01 13:35:10 +02:00
Marek Siarkowicz
9e511665c5 etcdserver: Move get/put/delete on Lease bucket to bucket package 2021-07-01 13:34:45 +02:00
Marek Siarkowicz
0c701fb9f3 etcdserver: Move all get/put/delete on AuthUsers and AuthRoles to buckets module 2021-07-01 12:12:15 +02:00
Marek Siarkowicz
221c887819 etcdserver: Extract functions for setting and reading compaction information in backend 2021-07-01 11:26:27 +02:00
Marek Siarkowicz
b2e08fbfd4 etcdserver: Move read/update methods on Auth bucket to one place 2021-06-29 18:02:11 +02:00
Marek Siarkowicz
50507d5f3c etcdserver: Membership uses MembershipStorage interface instead of directly accessing Backend 2021-06-29 16:14:06 +02:00
Marek Siarkowicz
86f68b9374 *: Add missing file licenses and Fix static analysis prevent skipping them in future 2021-06-29 12:52:02 +02:00
Marek Siarkowicz
f79d09d48b etcdserver: Move all named keys to buckets module 2021-06-28 16:40:50 +02:00
Gyuho Lee
2a0f8f0738
Merge pull request #13145 from tangcong/fix-endpoint-health
fix health endpoint not usable when authentication is enabled
2021-06-25 18:33:46 -07:00
Marek Siarkowicz
e2740b4afa server,etcdutl: Preserve etcd version in backend allowing etcdutl to read it from snapshot 2021-06-25 14:06:56 +02:00
tangcong
dd62aebfb5 fix health endpoint not usable when authentication is enabled 2021-06-25 14:02:45 +08:00
Piotr Tabor
8f9829cd2d
Merge pull request #13114 from lilic/fix-api-version
Bump etcd version to 3.5.0 and 3.6.0-pre
2021-06-24 14:26:17 +02:00
Piotr Tabor
72cb652332
Merge pull request #13132 from serathius/refactor-monitor
etcdserver: Move version monitor logic to separate module
2021-06-24 10:40:01 +02:00
Marek Siarkowicz
823f85dfc9 etcdserver: Move version monitor logic to separate module 2021-06-23 19:27:29 +02:00
Lili Cosic
b9d837183a server/etcdserver/api: Add 3.6 to supported version 2021-06-22 12:25:39 +02:00
Lili Cosic
df696a7e76 go.mod: Bump etcd to 3.5.0 2021-06-22 12:25:39 +02:00
Piotr Tabor
5564476831
Merge pull request #13073 from serathius/snapshot-version
[Version in Snapshot] SnapshotResponse includes local etcd version
2021-06-21 16:56:00 +02:00
Marek Siarkowicz
e1b1d93548 *: Snapshot returns local etcd version
Co-authored-by: Lili Cosic <cosiclili@gmail.com>
2021-06-14 16:36:50 +02:00
Gyuho Lee
56678038b5
Merge pull request #13077 from spacewander/grpc-gateway
embed: unlimit the recv msg size of grpc-gateway
2021-06-10 10:25:15 -07:00
Gyuho Lee
940d1e1ec5
Merge pull request #13049 from mumuhhh/main
[Fix]  --log-outputs relative path are not supported when --log-rotate-config-json is defined
2021-06-08 12:15:21 -07:00
Lili Cosic
16477a8270 Update client_golang dependency to v1.11.0 2021-06-07 14:49:57 +02:00
Gyuho Lee
ed790d9639
Merge pull request #13086 from dlowe/crash-on-missing-permission
etcdserver: don't attempt to grant nil permission to a role
2021-06-04 15:13:20 -07:00
J. David Lowe
115c694af6 etcdserver: don't attempt to grant nil permission to a role
Prevent etcd from crashing when given a bad grant payload, e.g.:

$ curl -d '{"name": "foo"}' http://localhost:2379/v3/auth/role/add
{"header":{"cluster_id":"14841639068965178418", ...
$ curl -d '{"name": "foo"}' http://localhost:2379/v3/auth/role/grant
curl: (52) Empty reply from server
2021-06-04 14:20:02 -07:00
J. David Lowe
8552d8ec20 etcdserver: don't activate alarm w/missing AlarmType
Narrowly prevent etcd from crashing when given a bad ACTIVATE payload, e.g.:

$ curl -d "{\"action\":\"ACTIVATE\"}" ${ETCD}/v3/maintenance/alarm
curl: (52) Empty reply from server
2021-06-04 12:18:56 -07:00
Gyuho Lee
57034e1b51
Merge pull request #13075 from wilsonwang371/no-unnecessary-proto_size
server: skip unnecessary sprintf which executes proto.Size()
2021-06-03 13:10:11 -07:00
Wilson Wang
11edc76b15 server: skip unnecessary sprintf which executes proto.Size() 2021-06-03 12:58:42 -07:00
Piotr Tabor
404efd70f7 Upgrade of prometheous deps.
For now we need to depend on unstable: prometheus/client_golang
2021-06-03 16:07:01 +02:00
Piotr Tabor
edcfe575cf Update dependencies:
- github.com/coreos/go-systemd/v22 v22.3.2
  - github.com/google/btree v1.0.1
  - github.com/json-iterator/go v1.1.11
  - github.com/mattn/go-runewidth v0.0.13
  - github.com/prometheus/client_golang v1.10.0
  - github.com/prometheus/common v0.26.0
  - github.com/sirupsen/logrus v1.8.1
2021-06-03 13:03:01 +02:00
Piotr Tabor
b240625d21 Update bbolt to v1.3.6.
`./scripts/update_dep.sh go.etcd.io/bbolt v1.3.6`
2021-06-03 12:39:53 +02:00
Piotr Tabor
90cea7d4e7 Update zap to v1.17.0. 2021-06-03 12:37:43 +02:00
spacewander
576861e617 embed: unlimit the recv msg size of grpc-gateway
Ensure the client which access etcd via grpc-gateway won't
be limited by the MaxCallRecvMsgSize. Here we choose the same
default value of etcdcli as grpc-gateway's MaxCallRecvMsgSize.

Fix https://github.com/etcd-io/etcd/issues/12576
2021-06-03 16:36:19 +08:00
Marek Siarkowicz
182aef6e6b etcdserver: Fix invalid count returned on Range with Limit 2021-06-01 15:04:28 +02:00
Piotr Tabor
f15e0b8237 integration.BeforeTest can be run without leak-detection. 2021-05-27 20:55:11 +02:00
Mr-Mu
0e496ca212
TestLogRotation add log output relative path
TestLogRotation add test log output relative path test
2021-05-27 22:49:41 +08:00
Mr-Mu
24d8e90dbc
[Fix]滚动日志路径解析不正确
例如  rotate:test.log 路径解析不正确
2021-05-27 16:44:12 +08:00
Piotr Tabor
71934ff244
Merge pull request #13010 from ipixiu/imp/store-scheduleCompaction-lock
limit tx lock scope in store.scheduleCompaction
2021-05-26 08:51:44 +02:00
Gyuho Lee
adecd73975
Merge pull request #13039 from ptabor/20210525-make-logger-public
Expose clientv3.CreateDefaultZapLoggerConfig
2021-05-25 14:42:42 -07:00
Piotr Tabor
bda32db121 Expose clientv3.CreateDefaultZapLoggerConfig
Need raised in
f3f4259d3f.

BTW: Alligned the implementation of grpclogs with what we use in embed
server, so reduced the client code dependencies.
2021-05-25 22:59:08 +02:00
Sahdev Zala
05674c87fb
Merge pull request #13018 from ipixiu/feature/bolt-compaction-sleep-interval
add bolt compaction sleep interval
2021-05-25 10:06:47 -04:00
Gyuho Lee
7a7b668edb
Merge pull request #12933 from wilsonwang371/shared_txReadBuffer
server: set multiple concurrentReadTx instances share one txReadBuffer
2021-05-24 16:38:14 -07:00
Wilson Wang
9c82e8c72b server: set multiple concurrentReadTx instances share one txReadBuffer. 2021-05-24 15:16:53 -07:00
赵延
64b01a7a8d
Enhance the root permission, when root role exist, it always return rootPerm. (#13006)
etcdctl role grant-permission root readwrite foo.
see etcdctl role get root output.
Before:
Role root
KV Read:
        foo
KV Write:
        foo
After:
Role root
KV Read:
        [, <open ended>
KV Write:
        [, <open ended>
2021-05-24 14:58:00 -07:00
AlexStocks
184b0e5d49 add sleep interval 2021-05-24 16:22:00 +08:00
Pavan BG
d9c5e1f0a2 *: Replace internal testutil AssertEqual function in favour of github.com/stretchr/testify/assert.Equals
To maintain uniformity in testing methodology, assert.Equals has been used everywhere while replacing testutil.AssertEqual

Fixes #13015
2021-05-20 19:55:45 +05:30