Jonathan Boulle
ec18e46641
etcdserver/etcdhttp: switch to using fake clock
2014-10-17 10:05:29 -07:00
Jonathan Boulle
c28907ba95
etcdserver: fix race and improve stats interfaces
2014-10-16 23:05:48 -07:00
Jonathan Boulle
c30b82b596
etcdserver: fix data race in retrieving self stats
2014-10-16 23:05:48 -07:00
Yicheng Qin
8609acf573
etcdhttp: set stats field in peer handler
2014-10-16 14:23:09 -07:00
Jonathan Boulle
9b9e72e2a3
etcdhttp: add tests for ServeStats/ServeLeader
2014-10-16 10:43:49 -07:00
Jonathan Boulle
97ae531eda
etcdserver: split out storestats and serverstats
2014-10-16 10:43:49 -07:00
Jonathan Boulle
fedb67a71a
etcdserver: fix TODO and change to base 16
2014-10-16 10:43:49 -07:00
Jonathan Boulle
8168fed825
etcdserver: add ServerStats and LeaderStats
...
This adds the remaining two stats endpoints: `/v2/stats/self`, for
various statistics on the EtcdServer, and `/v2/stats/leader`, for
statistics on a leader's followers.
By and large most of the stats code is copied across from 0.4.x, updated
where necessary to integrate with the new decoupling of raft from
transport.
This does not satisfactorily resolve the question of name vs ID. In the
old world, names were unique in the cluster and transmitted over the
wire, so they could be used safely in all statistics. In the new world,
a given EtcdServer only knows its own name, and it is instead IDs that
are communicated among the cluster members. Hence in most places here we
simply substitute a string-encoded ID in place of name, and only where
possible do we retain the actual given name of the EtcdServer.
2014-10-16 10:43:44 -07:00
Jonathan Boulle
0a8721a708
etcdserver: expose store statistics
2014-10-16 10:43:23 -07:00
Yicheng Qin
a8a1d4fd93
Merge pull request #1299 from unihorn/162
...
etcdhttp: add PUT and DELETE on /v2/admin/members/
2014-10-15 10:52:11 -07:00
Yicheng Qin
6d0658c8ca
etcdhttp: check error returned by ParseForm
2014-10-14 14:50:11 -07:00
Jonathan Boulle
7656069675
etcdhttp: remove members handling for now
2014-10-14 12:07:28 -07:00
Yicheng Qin
99e35554c0
etcdhttp: add doc for member management http endpoint
2014-10-14 11:09:14 -07:00
Jonathan Boulle
4183b69e12
*: move from third_party to Godep
2014-10-14 00:37:52 -07:00
Yicheng Qin
31264e7eb5
etcdhttp: add PUT and DELETE on /v2/admin/members/
2014-10-13 22:36:06 -07:00
Xiang Li
57ae19b500
Merge pull request #1290 from coreos/member_endpoint
...
etcdserver: change machines endpoint to members
2014-10-14 11:04:08 +08:00
Xiang Li
1177b07535
etcdserver: change machines endpoint to members
2014-10-14 11:02:17 +08:00
Xiang Li
3516cc3ee5
*: change all ID to uint64
2014-10-12 08:38:48 +08:00
Yicheng Qin
77271b0663
etcdserver: split Member into RaftAttributes and Attributes
...
The split helps to save them in different key paths, because they have
distinct life cycle on update.
2014-10-09 20:28:00 -07:00
Xiang Li
8bbbaa88b2
*: raft related int64 -> uint64
2014-10-09 14:29:21 +08:00
Yicheng Qin
8e8719f6ac
etcdserver: Create, Delete -> Add, Remove
2014-10-07 16:21:58 -07:00
Yicheng Qin
d051af4d3d
etcdserver: apply config change on cluster store
2014-10-07 11:04:50 -07:00
Jonathan Boulle
f432b9d29b
etcdhttp: remove configurable timeout
...
It's slightly unclear why we expose this timeout as being configurable,
and the `-timeout` flag does not exist in 0.4.x, so for now, remove the
flag until we have evidence that it is needed.
2014-10-03 13:47:34 -07:00
Jonathan Boulle
af6b29f291
main: move server configuration to etcdserver package
2014-10-03 13:34:49 -07:00
Jonathan Boulle
1c11f6a144
*: expose etcd-index in watch requests
...
This adds a StartIndex field to the Watcher interface, which represents
the Etcd-Index at which the Watcher is created.
Also refactors the HTTP tests to use a table for most handleWatch tests
2014-10-02 18:10:11 -07:00
Brandon Philips
c2f96631d3
etcdserver: stop using addScheme
...
This standardizes the flags to use a list of URLs everywhere. The next
step is to enforce the scheme based on TLS settings and support compat
flags.
2014-09-30 16:40:32 -07:00
Yicheng Qin
0e8345aa73
Merge pull request #1143 from unihorn/136
...
*: Id -> ID for protobuf types
2014-09-29 13:58:02 -07:00
Yicheng Qin
e83f851995
etcdserver: move cluster test from etcdhttp to etcdserver
2014-09-28 14:35:48 -07:00
Yicheng Qin
15798a73d9
etcdserver: return client urls for /v2/machines
2014-09-26 16:50:15 -07:00
Yicheng Qin
1d5d2e3726
*: Id -> ID for protobuf types
...
We use ID instead of Id in this project based on golang conventions.
2014-09-26 11:49:30 -07:00
Brandon Philips
5e3fd6ee3f
etcdserver: introduce the cluster and member
...
This introduces two new concepts: the cluster and the member.
Members are logical etcd instances that have a name, raft ID, and a list
of peer and client addresses.
A cluster is made up of a list of members.
2014-09-25 18:04:10 -07:00
Jonathan Boulle
9b3478218e
etcdserver: add RaftIndex and RaftTerm
2014-09-25 16:46:24 -07:00
Xiang Li
aab41f06d0
elog: remove elog
2014-09-25 11:33:10 -07:00
Jonathan Boulle
2da1010cf7
etcdhttp: make TTL= equivalent to unset, and TTL=0 expire
2014-09-24 17:41:44 -07:00
Jonathan Boulle
fa762e6b25
etcdhttp: process dir parameter in request
2014-09-24 17:11:28 -07:00
Jonathan Boulle
2b52384e7e
etcdhttp: allow empty values for TTL parameter
2014-09-24 16:44:55 -07:00
Jonathan Boulle
2e2cd12407
etcdhttp: disallow empty prevValue fields
2014-09-24 15:21:18 -07:00
Jonathan Boulle
a9caa24f8a
etcdhttp: add test for streaming watches
2014-09-24 11:27:36 -07:00
Jonathan Boulle
ddc30c0a33
etcdserver: use Context to communicate timeout, and add tests
2014-09-24 11:27:36 -07:00
Jonathan Boulle
172a32e5e3
etcdserver: correct timeout and streaming handling
...
This reintroduces the 'stream' parameter to support long-lived watch
sessions. These sessions respect a server timeout (set to 5 minutes by
default).
2014-09-24 11:27:36 -07:00
Jonathan Boulle
b85ad9bbc2
Merge pull request #1082 from jonboulle/1082_x_etcd_index
...
X-Etcd-Index returns the node's modifiedIndex
2014-09-23 15:14:21 -07:00
Brian Waldon
99e9f561ee
etcdserver: add Peers.Addrs
2014-09-23 10:56:41 -07:00
Brian Waldon
10220335f7
etcdserver: determine scheme based on TLSClientConfig
2014-09-23 10:14:12 -07:00
Brian Waldon
e19b0442f8
etcdserver: pass scheme into send
2014-09-23 10:14:11 -07:00
Brian Waldon
fb7968d704
etcdserver: Peers.Pick returns just an addr
2014-09-23 10:09:34 -07:00
Brian Waldon
5470a6d3d6
etcdserver: pass http client into Sender
2014-09-23 10:02:23 -07:00
Jonathan Boulle
5441c6aa54
etcdserver: correct X-Etcd-Index header
...
This adds an EtcdIndex field to store.Event and uses that as the header
instead of the node's modifiedIndex. To facilitate this in a non-racy
way, we set the EtcdIndex while holding the lock.
2014-09-22 18:56:12 -07:00
Brian Waldon
91003cb994
*: s/prevExists/prevExist/
2014-09-18 21:25:08 -07:00
Yicheng Qin
f786de13d0
Merge pull request #1081 from unihorn/125
...
make TTL work
2014-09-16 15:14:44 -07:00
Yicheng Qin
023dc7cba2
etcdserver: add SYNC request
2014-09-16 13:42:03 -07:00