10720 Commits

Author SHA1 Message Date
fanmin shi
324d2383b8 integration: ensure leader is up in waitLeader() and clusterMustProgress()
The issue is caused by leader loss even after waitLeader() returns
which can happen if the test machine is flaky which triggers a leader loss
or the killed node is the leader since waitLeader() only scans followers in
TestRestartMember() and they can have the same older leader.
In those cases, clusterMustProgress() proceeds with no leader which triggers
the no leader error.

To get around that, use linearizable get in waitLeader() to ensure leader is up
and retries on kapi.create() in clusterMustProgress() to ensure it proceeds with
a leader.

FIX #7258
2017-02-28 09:17:03 -08:00
Gyu-Ho Lee
86c9bf5c3f Merge pull request #7371 from gyuho/grpc-proxy-register
grpcproxy: add 'register' address
2017-02-22 17:30:38 -08:00
Gyu-Ho Lee
72a531e8b2 grpcproxy: add 'register' address
For https://github.com/coreos/etcd/issues/6902.
2017-02-22 16:47:48 -08:00
Anthony Romano
5df56fa615 Merge pull request #7366 from heyitsanthony/fix-watch-stream-counting
integration: permit background watch streams in TestWatchCancelOnServer
2017-02-22 10:36:36 -08:00
Anthony Romano
df3bb333ca Merge pull request #7368 from heyitsanthony/fix-netutil-ipv4
netutil: use ipv4 host by default
2017-02-22 09:57:56 -08:00
Anthony Romano
c3a678be75 integration: permit background watch streams in TestWatchCancelOnServer
Fixes #7272
2017-02-22 09:54:08 -08:00
Gyu-Ho Lee
c0c4c7cb76 Merge pull request #7364 from gyuho/auth-revi
auth: keep old revision in 'NewAuthStore'
2017-02-22 09:40:01 -08:00
Anthony Romano
f97a077257 netutil: use ipv4 host by default
Was non-deterministic.
2017-02-21 20:11:35 -08:00
Gyu-Ho Lee
f2e9936de5 integration: add 'TestV3HashRestart' 2017-02-21 16:20:56 -08:00
Gyu-Ho Lee
6431382a75 auth: keep old revision in 'NewAuthStore'
When there's no changes yet (right after auth
store initialization), we should commit old revision.

Fix https://github.com/coreos/etcd/issues/7359.
2017-02-21 16:18:47 -08:00
Xiang Li
c90c757a56 Merge pull request #7355 from hhkbp2/fix-test-case-typo
raft: revise test case and fix typo
2017-02-21 16:15:22 -08:00
Anthony Romano
dd16463ad4 Merge pull request #7363 from heyitsanthony/fix-short-lease-ttl
clientv3: do not set next keepalive time <= now+TTL
2017-02-21 15:36:37 -08:00
Anthony Romano
25403970f5 Merge pull request #7361 from heyitsanthony/fix-gateway-goroutine
tcpproxy: don't use range variable in reactivate goroutine
2017-02-21 13:26:53 -08:00
Anthony Romano
12d3e4e473 integration: test keepalives for short TTLs 2017-02-21 13:15:45 -08:00
Anthony Romano
3c306cdb3e clientv3: do not set next keepalive time <= now+TTL 2017-02-21 13:15:45 -08:00
Anthony Romano
8b097f279d tcpproxy: don't use range variable in reactivate goroutine
Ends up trying to reactivate only the last endpoint.
2017-02-21 12:39:49 -08:00
Anthony Romano
0c0fbbd7c5 Merge pull request #7342 from heyitsanthony/client-version
clientv3: version checking
2017-02-21 11:46:48 -08:00
Anthony Romano
3c20bdd004 Merge pull request #7345 from heyitsanthony/fix-stream-err
grpcproxy: only return ctx error in chan stream if recvc is empty
2017-02-21 11:08:49 -08:00
Gyu-Ho Lee
86cb9f2490 Merge pull request #7358 from gyuho/manual
clientv3: fix typo in README
2017-02-21 11:03:49 -08:00
Anthony Romano
29a6fd65ad grpcproxy: only return ctx error in chan stream if recvc is empty
Since select{} won't prioritize, ctx.Done() can sometimes override
a pending message on recvc. Loop if recvc has messages instead.

Fixes #7340
2017-02-21 10:53:58 -08:00
yiyiyaya
56b4e6b71f clientv3: fix typo in README
Fix https://github.com/coreos/etcd/issues/7337
2017-02-21 10:33:17 -08:00
Gyu-Ho Lee
2ac44eab81 Merge pull request #7341 from gyuho/host
op-guide: use host volume in Docker command
2017-02-21 10:31:50 -08:00
Gyu-Ho Lee
6f193ea1df op-guide: use host volume in Docker command 2017-02-21 10:28:29 -08:00
Xiang Li
4e114d3549 Merge pull request #7351 from davecheney/fixedbugs/7350
pkg/transport: remove dependency on pkg/fileutils
2017-02-21 09:21:53 -08:00
Dylan.Wen
bc6bebe7b0 raft: revise test case and fix typo 2017-02-21 15:23:42 +08:00
David Cheney
9b84127739 pkg/transport: remove dependency on pkg/fileutils
4a0f922 changed SelfCert to use a helper from pkg/fileutils which
introduced a transitive dependency on coreos/pkg/capnslog. This means
anyone who imports pkg/transport to use TLS with the clientv3 library
has the default stdlib logger hijacked by capnslog.

This PR reverts 4a0f922. There are no tests because 4a0f922 contained no
test and was not attached to a PR.

Fixes #7350
2017-02-20 12:32:04 +11:00
fanmin shi
2533c2a50c Merge pull request #7254 from fanminshi/rework_coverage_e2e
e2e: add code coverage to e2e
2017-02-17 15:51:47 -08:00
fanmin shi
f203a61469 e2e: unshadow err and remove bogus err checking in spawnWithExpects() 2017-02-17 14:47:24 -08:00
fanmin shi
07129a6370 *: add and expose StopSignal field in ExpectProcess
add and expose StopSignal to ExpectProcess allows user
to define what signal to send on ExpectProcess.close()

coverage testing code sets StopSignal to SIGTERM allowing
the test binary to shutdown gracefully so that it can generate
a coverage report.
2017-02-17 14:47:06 -08:00
Xiang Li
78fbe669ad Merge pull request #7332 from hhkbp2/fix-read-index
raft: fix read index request for #7331
2017-02-17 14:27:42 -08:00
fanmin shi
b5be18a744 test: add e2e to coverage test 2017-02-17 14:15:26 -08:00
Anthony Romano
51435df179 integration: test RejectOldCluster 2017-02-16 21:33:14 -08:00
Anthony Romano
4d2aa80ecf clientv3: add cluster version checking 2017-02-16 18:14:14 -08:00
Anthony Romano
c9452c6ad4 clientv3: let user provide a client context through Config 2017-02-16 18:14:14 -08:00
Dylan.Wen
9342647e0c raft: fix read index request for #7331 2017-02-17 09:45:41 +08:00
fanmin shi
a5cf7fdc87 Merge pull request #7221 from fanminshi/grpcproxy_support_lease_coalescing
grpcproxy: support lease coalescing
2017-02-16 13:42:49 -08:00
Xiang Li
507bd2ab4b Merge pull request #7339 from xiang90/fix_l
clientv3: fix lease keepalive duration
2017-02-16 13:35:27 -08:00
Xiang
4fb8d30f0a clientv3: fix lease keepalive duration 2017-02-16 12:04:07 -08:00
Xiang Li
5d3597a5f2 Merge pull request #7338 from xiang90/fix_l
clientv3: fix lease keepalive duration
2017-02-16 11:58:10 -08:00
fanmin shi
65b59f4423 grpcproxy: incorporate lease proxy into existing proxy framework 2017-02-16 11:50:59 -08:00
fanmin shi
ba52bd07ba grpcproxy: add lease coalescing support 2017-02-16 11:50:50 -08:00
fanmin shi
05b82f2022 grpcproxy: refactor chan stream out of watch_client_adapter 2017-02-16 11:41:21 -08:00
Xiang
4274db46f2 clientv3: fix lease keepalive duration 2017-02-16 11:25:26 -08:00
Anthony Romano
49a12371c1 Merge pull request #7335 from heyitsanthony/leadership-kick
grpcproxy: support forcing leader as available
2017-02-16 09:40:08 -08:00
Brandon Philips
4608210154 Documentation/libraries-and-tools: add vitess 2017-02-15 21:35:19 -08:00
Anthony Romano
80de75431e grpcproxy: support forcing leader as available
Leadership timeout can sometimes take too long, such as in test cases.
However, it is possible to infer a leader is available based on RPCs
that must go through consensus. Therefore, have a way to update the
leadership status off the watch path.
2017-02-15 16:49:41 -08:00
Anthony Romano
2510a1488c Merge pull request #7327 from heyitsanthony/fix-runtime-conf-doc
op-guide: fix remove instructions in runtime-configuration and conform to style
2017-02-15 10:22:47 -08:00
fanmin shi
80ab321f9d etcdmain: whitelist etcd binary flags 2017-02-15 09:51:50 -08:00
fanmin shi
1d521556ae e2e: modify e2e to run code coverage 2017-02-15 09:51:50 -08:00
Anthony Romano
2f8b9ce9aa Merge pull request #7314 from heyitsanthony/fix-leadership
grpcproxy: split out / tighten up leadership detection
2017-02-15 07:01:38 -08:00