Xiang Li
3028edd7dc
Merge pull request #2856 from xiang90/mrefactor
...
etcdserver: refactore member.go
2015-05-26 14:37:37 -07:00
Xiang Li
4a72d3a8bb
etcdserver: refactore member.go
2015-05-21 09:19:29 -07:00
Yicheng Qin
3153e635d5
Revert "Treat URLs have same IP address as same"
...
This reverts commit f8ce5996b0566619fde8cca431890a49c52cf3d6.
etcd no longer resolves TCP addresses passed in through flags,
so there is no need to compare hostname and IP slices anymore.
(for more details: a3892221eea4804f58ce83934c91964e83f4f30c)
Conflicts:
etcdserver/cluster.go
etcdserver/config.go
pkg/netutil/netutil.go
pkg/netutil/netutil_test.go
2015-05-16 03:21:10 -07:00
Xiang Li
6296054ff6
etcdhttp: version endpoint also returns cluster version.
2015-05-13 15:48:10 -07:00
Yicheng Qin
a6a649f1c3
etcdserver: stop exposing Cluster struct
...
After this PR, only cluster's interface Cluster is exposed, which makes
code much cleaner. And it avoids external packages to rely on cluster
struct in the future.
2015-05-13 10:01:25 -07:00
Yicheng Qin
032db5e396
*: extract types.Cluster from etcdserver.Cluster
...
The PR extracts types.Cluster from etcdserver.Cluster. types.Cluster
is used for flag parsing and etcdserver config.
There is no need to expose etcdserver.Cluster public, which contains
lots of etcdserver internal details and methods. This is the first step
for it.
2015-05-12 14:53:11 -07:00
Xiang Li
e866314b94
etcdserver: support update cluster version through raft
...
1. Persist the cluster version change through raft. When the member is restarted, it can recover
the previous known decided cluster version.
2. When there is a new leader, it is forced to do a version checking immediately. This helps to
update the first cluster version fast.
2015-05-12 11:44:34 -07:00
Yicheng Qin
1811701427
Revert "etcdserver: fix cluster fallback recovery"
...
This reverts commit cff005777a40bcf3a5bea3e87387273afe054ce1.
Conflicts:
etcdserver/server.go
2015-04-19 11:34:33 -07:00
Yicheng Qin
88224f6f4e
Revert "etcdserver: not apply stale conf change in cluster and transport"
...
This reverts commit 40197f06987aac9c3a539e9022ad1f1e573326e7.
2015-04-19 11:08:03 -07:00
Yicheng Qin
40197f0698
etcdserver: not apply stale conf change in cluster and transport
2015-03-27 12:53:34 -07:00
Yicheng Qin
cff005777a
etcdserver: fix cluster fallback recovery
...
Cluster and transport may recover to old states when new node joins
the cluster. Record cluster last modified index to avoid this.
2015-02-20 14:30:00 -08:00
Xiang Li
04bd06d20b
etcdserver: move the mutex before what it guards
2015-02-14 22:26:12 -08:00
Xiang Li
cfa7ab6074
etcdserver: validate discovery cluster
2015-02-13 14:32:24 -08:00
Shota Fukumori (sora_h)
f8ce5996b0
Treat URLs have same IP address as same
...
- To solve validation error problem using URLs in hostname #2123
2015-01-27 04:36:41 +09:00
Jonathan Boulle
f1ed69e883
*: switch to line comments for copyright
...
Build tags are not compatible with block comments.
Also adds copyright header to a few places it was missing.
2015-01-26 09:53:30 -08:00
Xiang Li
803c38f448
etcdserver: move error to errors.go
...
Both server.go and cluster.go are using defined ErrX. Move error
to errors.go
2014-12-30 15:02:07 -08:00
Xiang Li
78b51d3f2f
etcdserver: cleanup cluster.go
2014-12-25 20:56:30 -08:00
Xiang Li
6dc3af5da4
etcdserver: cluster clean up
2014-12-25 20:36:48 -08:00
Xiang Li
7a5bf53222
etcdserver: move member sort interface to member.go
2014-12-25 20:18:55 -08:00
Xiang Li
0541f0afa0
etcdserver: refactor ValidateClusterAndAssignIDs
2014-11-17 14:23:37 -08:00
Yicheng Qin
77433ff6da
etcdserver: recover cluster when receiving newer snapshot
2014-11-14 12:11:21 -08:00
Yicheng Qin
0c2b45ddc6
etcdserver: not record attributes when add member
...
There is no need to set attributes value when adding member because new
member will publish the information whenever it starts.
2014-11-12 17:48:15 -08:00
Jonathan Boulle
3f358b6d5d
etcdserver: ensure initial-advertise-peer-urls match initial-cluster
...
This adds a check to setupCluster to ensure that the list of URLs
specified in `initial-advertise-peer-urls` matches those configured in
`initial-cluster` for this node. Also updates the documentation to
clarify this and address some changes in wording.
2014-11-12 12:54:35 -08:00
Xiang Li
5967794009
*: support updating advertise-peer-url
...
Users might want to update the peerurl of the etcd member in several cases.
For example, if the IP address of the physical machine etcd running on is
changed, user need to update the adversite-pee-rurl accordingly.
This commit makes etcd support updating the advertise-peer-url of its members.
2014-11-11 12:07:03 -08:00
Yicheng Qin
014ef0f52d
etcdserver: fix data race in cluster
...
The data race happens when etcd updates member attributes and fetches
member info in http handler at the same time.
2014-11-07 16:13:07 -08:00
Jonathan Boulle
5055863e09
etcdserver: add docstrings for confchanges
2014-11-07 10:19:55 -08:00
Yicheng Qin
211c5e3e29
etcdserver: fix data race in Cluster struct
2014-11-06 14:04:14 -08:00
Yicheng Qin
1e05cd75c7
etcdserver: refactor sender
...
1. restrict the number of inflight connections to remote member
2. support stop
2014-11-06 14:04:14 -08:00
Xiang Li
bd2b18b6de
etcdserver: validate peerurl when adding members
2014-11-05 23:12:48 -08:00
Xiang Li
6fdbb086f4
Merge pull request #1623 from xiangli-cmu/valid_configuration
...
Valid configuration
2014-11-05 18:13:04 -08:00
Xiang Li
99b1af40c6
etcdserver: move config validation to cluster
2014-11-05 17:55:07 -08:00
Xiang Li
98406af448
cluster: separate out membersFromStore from newClusterFromStore
2014-11-05 15:56:43 -08:00
Yicheng Qin
6c9169b4f4
etcdserver: improve panic message in Cluster
2014-11-05 15:39:28 -08:00
Yicheng Qin
791b2fd503
*: handle panic and fatal more consistently
...
1. etcd fatals if there is critical error in the system and operator should
do something for it
2. etcd panics if there happens something unexpected, and it should be
reported to us to debug.
2014-11-05 13:53:24 -08:00
Yicheng Qin
e02ef6b141
Merge pull request #1546 from unihorn/198
...
etcdserver: better logging for assign ids from upstream
2014-10-31 11:13:43 -07:00
Yicheng Qin
2c5f062b7f
etcdserver: better logging for assign ids from upstream
2014-10-31 11:06:31 -07:00
Jonathan Boulle
55c92ad456
*: create ID type
...
This creates a simple ID type (wrapped around uint64) to provide for
standard serialization/deserialization to a string (i.e. base 16
encoded). This replaces strutil so now that package is removed.
2014-10-31 10:34:07 -07:00
Xiang Li
3dfb6723b2
*: rename initial-cluster-name to initial-cluster-token
2014-10-30 13:43:38 -07:00
Brian Waldon
80172c3d4a
etcdserver: s/parseMemberID/mustParseMemberIDFromKey/
2014-10-27 17:25:00 -07:00
Yicheng Qin
08593bcdf6
etcdserver: support newly-join member bootstrap
2014-10-24 12:38:44 -07:00
Jonathan Boulle
d7301a5cf4
main: fix proxy initialization and setupCluster
2014-10-23 16:09:29 -07:00
Jonathan Boulle
af42f4a56b
etcdserver: sort Members() in Cluster
2014-10-23 15:57:27 -07:00
Yicheng Qin
4d80f01201
etcdserver: Cluster.IsIDremoved -> Cluster.IsIDRemoved
2014-10-23 14:29:58 -07:00
Yicheng Qin
d47de988e4
etcdserver: panic when >1 members have the given name in MemberByName
2014-10-23 14:24:07 -07:00
Yicheng Qin
8eee8c260e
etcdserver: rebase on master and code clean
2014-10-23 13:58:55 -07:00
Yicheng Qin
e21de51768
etcdserver: remove NewClusterFromMemberInfos
2014-10-23 13:27:55 -07:00
Yicheng Qin
f8b8bdeb17
etcdserver: use path.Join for member key in cluster
2014-10-23 13:27:54 -07:00
Yicheng Qin
3d243baacd
etcdserver: generate id when new cluster
2014-10-23 13:27:54 -07:00
Yicheng Qin
67412e07f8
etcdserver: MemberFromName -> MemberByName
2014-10-23 13:27:54 -07:00
Yicheng Qin
89572b5fd7
etcdserver: refactor cluster and clusterStore
...
Integrate clusterStore into cluster, and let cluster become the source of
cluster info.
2014-10-23 13:27:54 -07:00