c031b27491
etcdserver: corruption check via http
...
During corruption check, get peer's hashKV via http call.
2020-02-14 06:03:15 -08:00
61f279454e
etcdserver/api: remove capnslog ( #11606 )
...
* etcdserver/api/rafthttp: remove capnslog
* etcdserver/api/membership: remove capnslog
* etcdserver/api/v2auth: remove capnslog
* etcdserver/api/v2discovery: remove capnslog
* etdserver/api/v2stats: remove capnslog
* etcdserver/api/v2http: remove capnslog
* etcdserver/api/v3rpc: remove capnslog
* etcdserver/api: remove capnslog
Remove capnslog from etcdserver/api. Note that capnslog was
already removed in some packages under etcdserver/api in
previous commits.
2020-02-11 13:51:25 -08:00
4c25efc1f8
Discovery: do not allow passing negative cluster size ( #11608 )
...
When an etcd instance attempts to perform service discovery, if a
cluster size with negative value is provided, the etcd instance
will panic without recovery because of
2020-02-10 10:43:41 -08:00
bc4adb8b5c
etcdserver: populate ResponseHeader in Alarm method ( #11600 )
...
When no Alarms are found, the response has no header. The header should always
be populated. Some components, like fields printer used by etcdctl, break when
the header is not populated.
Fixes #11581
Signed-off-by: Daniel Lipovetsky <dlipovetsky@d2iq.com >
2020-02-08 23:07:58 -08:00
071e70cdc4
*: add a new API and command for checking auth status ( #11536 )
...
This changes have started at etcdctl under auth.go, and make changes to stub out everything down into the internal raft. Made changes to the .proto files and regenerated them so that the local version would build successfully.
2020-02-05 19:27:42 -08:00
f2c3bcd086
etcdserver/api/v2v3: fix dropped test error
...
etcdserver/api/v2v3: use testing.T instead of log in tests
2020-02-05 07:20:12 -08:00
7784ca8997
etcdserver: remove v2 version set; e2e: fix tests.
2019-12-09 13:08:00 -08:00
ed5a01a48d
etcdserver: recover cluster version from backend
2019-12-05 16:25:13 -08:00
dcd622b2c7
etcdserver: add v3 request type for cluster attr
...
Added ClusterVersionSetRequest for setting cluster version via v3 apply.
Added ClusterMemberAttrSetRequest for setting clsuter member attributes
via v3 apply.
2019-12-05 16:25:13 -08:00
80a177292e
rafthttp: add test stream support for current version.
2019-10-21 09:45:00 -07:00
5dc12f2725
Merge pull request #11274 from YoyinZyc/fix-upgrade-failure
...
rafthttp: add 3.4.0,3.5.0 stream type
2019-10-20 19:20:06 -07:00
a0e528e4b1
rafthttp: add 3.4.0,3.5.0 stream type
2019-10-17 14:25:56 -07:00
1333abc606
etcdserver: strip patch version in cluster version
...
Strip patch version in cluster version metrics.
2019-10-14 16:59:09 -07:00
9c4194f6ef
etcdserver: unset old cluster version in metrics
2019-10-11 22:25:03 -07:00
589ab747f7
Merge pull request #11014 from dbavatar/peervalidation
...
etcdserver: Fix PeerURL validation
2019-09-13 17:42:39 -07:00
0dd10cf6b8
etcdserver: Fix PeerURL validation
...
In case of URLs that are synonyms, the current lexicographic sorting
and compare of the URLs fails with frustrating errors. Make sure to do
a full comparison between every set of PeerURLs before failing.
Fixes #11013
2019-09-13 17:53:40 -04:00
46bddacacb
etcdserver/api: add "etcd_network_snapshot_send_inflights_total", "etcd_network_snapshot_receive_inflights_total"
...
Useful for deciding when to terminate the unhealthy follower.
If the follower is receiving a leader snapshot, operator may wait.
Signed-off-by: Gyuho Lee <leegyuho@amazon.com >
2019-08-08 13:33:48 -07:00
3edb569ad3
v3rpc: fix a typo err
...
don't read return value in child goroutine which causes data race.
2019-08-06 14:04:58 -07:00
7fbbb9c8bf
*: add 3.5 capability for 3.5 dev tree
...
Signed-off-by: Gyuho Lee <leegyuho@amazon.com >
2019-08-02 15:27:54 -07:00
3658571e3a
etcdserver/api: enable 3.4 capability
...
Signed-off-by: Gyuho Lee <leegyuho@amazon.com >
2019-08-02 15:24:18 -07:00
6a0811a949
*: use new adt.IntervalTree interface
...
Signed-off-by: Gyuho Lee <leegyuho@amazon.com >
2019-07-31 22:23:13 -07:00
7cbe2f5dd6
etcdserver/api/v3rpc: use new "credentials" package
...
Signed-off-by: Gyuho Lee <leegyuho@amazon.com >
2019-07-26 08:56:38 -07:00
50babc16e7
etcdserver/api/v2v3: skip tests for CI
...
To fix in v3.5
Signed-off-by: Gyuho Lee <leegyuho@amazon.com >
2019-07-26 05:54:58 -07:00
388d15f521
Merge pull request #10622 from philips/add-v2v3-tests
...
etcdserver: api/v2v3: add initial tests
2019-07-25 10:05:29 -07:00
1cef112a79
etcdserver: do not allow creating empty role
...
Like user, we should not allow creating empty role.
Related #10905
2019-07-24 17:41:24 -04:00
b9c051e7a7
raftpb: clean up naming in ConfChange
2019-07-23 10:40:03 +02:00
b1812a410f
Raft HTTP: fix pause/resume race condition
2019-06-17 11:45:25 -04:00
f8ad8ae4ad
etcdserver: use etcdserver ErrLearnerNotReady
...
If learner is not ready to be promoted, use etcdserver.ErrLearnerNotReady
instead of using membership.ErrLearnerNotReady.
2019-05-28 18:50:13 -07:00
f5eaaaf440
etcdserver: forward member promote to leader
2019-05-28 18:50:10 -07:00
dfe296ac3c
etcdserver: add mayPromote check
2019-05-28 18:47:03 -07:00
aa4cda2f5c
etcdserver: allow 1 learner in cluster
...
Hard-coded the maximum number of learners to 1.
2019-05-28 18:47:03 -07:00
c438f6db27
etcdserver: check IsMemberExist before IsLearner
...
If member does not exist in cluster, IsLearner will panic.
2019-05-28 18:47:03 -07:00
d0c1b3fa38
etcdserver: learner return Unavailable for unsupported RPC
...
Make learner return code.Unavailable when the request is not supported
by learner. Client balancer will retry a different endpoint.
2019-05-28 18:47:03 -07:00
76a63f9f7d
etcdserver: adjust StrictReconfigCheck
...
Adjust StrictReconfigCheck logic to accommodate learner members in the
cluster.
2019-05-28 18:47:03 -07:00
34bd797e67
*: revert module import paths
...
Signed-off-by: Gyuho Lee <leegyuho@amazon.com >
2019-05-28 15:39:35 -07:00
23f1d02391
*: address comments
2019-05-15 15:58:46 -07:00
a039f2efb8
clientv3, etcdctl: MemberPromote for learner
2019-05-15 13:48:52 -07:00
44d935e90a
etcdserver: exclude learner from leader transfer
...
1. Maintenance API MoveLeader() returns ErrBadLeaderTransferee if
transferee does not exist or is raft learner.
2. etcdserver TransferLeadership() only choose voting member as
transferee.
2019-05-15 13:27:42 -07:00
7f9479acc1
clientv3: add member promote
2019-05-15 13:27:42 -07:00
ba9fd620e8
etcdserver: support MemberPromote for learner
2019-05-15 13:27:42 -07:00
43ed94f769
etcdserver: filter rpc request to learner
...
Hardcoded allowed rpc for learner node. Added filtering in grpc
interceptor to check if rpc is allowed for learner node.
2019-05-15 13:15:20 -07:00
355d0ab2a6
*: add learner field in endpoint status
...
Added learner field to endpoint status API.
2019-05-15 13:13:59 -07:00
e1acf244c1
etcdserver: Add MemberAddAsLearner
...
Made changes to api/membership:
- Added MemberAddAsLearner
- Reverted changes to MemberAdd - removed input parameter isLearner
2019-05-14 18:18:10 -07:00
2b76200f70
*: add MemberAddAsLearner to clientv3 Cluster API
...
Made changes to Clientv3 Cluster API:
- Added MemberAddAsLearner.
- Reverted changes to MemberAdd - removed input parameter isLearner.
2019-05-14 16:56:44 -07:00
fc14608cb7
clientv3: support MemberAdd for learner
...
Added IsLearner flag to clientv3 MemberAdd API.
2019-05-14 13:10:22 -07:00
604bc04f70
etcdserver: support MemberAdd for learner
...
Added IsLearner field to etcdserver internal Member type. Routed
learner MemberAdd request from server API to raft. Apply learner
MemberAdd result to server after the request is passed through Raft.
2019-05-14 13:10:22 -07:00
a0d3c4d641
*: fix compilation after API change
...
Fixed compilation erros after API change for learner.
2019-05-14 13:10:22 -07:00
9150bf52d6
go modules: Fix module path version to include version number
2019-04-26 15:29:50 -07:00
decc0d5f43
api/rafthttp: fix the probing status print
...
Signed-off-by: nolouch <nolouch@gmail.com >
2019-04-23 19:51:34 +08:00
9915d02022
*: Change gRPC proxy to expose etcd server endpoint /metrics
...
This PR resolves an issue where the `/metrics` endpoints exposed by the proxy were not returning metrics of the etcd members servers but of the proxy itself.
Signed-off-by: Sam Batschelet <sbatsche@redhat.com >
2019-04-10 16:09:32 -04:00