Commit Graph

584 Commits (0461b3fa51ebcd3f72ef54296638ac2f19ea9071)

Author SHA1 Message Date
nolouch c15fb607f6 server: broadcast leader changed 2018-09-17 14:15:04 +08:00
nolouch fd5ef74b80 clientv3/integration: try to fix tests 2018-09-14 17:57:56 +08:00
mrIncompetent 2be5994f61 integration: Replace *testing.T with testing.TB
Use testing.TB for integration test helpers to enable usage in benchmarks
2018-09-04 22:34:40 +02:00
Gyuho Lee 07fcc26799 *: fix gofmt warnings with Go 1.11
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-08-28 21:45:24 -07:00
Gyuho Lee d37f1521b7 *: update import paths to "go.etcd.io/etcd"
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-08-28 17:47:55 -07:00
Joe Betz 750b87d622
Merge pull request #9924 from jpbetz/persist-lease-deadline
lease: Persist remainingTTL to prevent indefinite auto-renewal of long lived leases
2018-07-24 09:39:57 -07:00
Joe Betz d1de41efe1
lease: Add unit and integration tests for lease checkpointing 2018-07-23 16:12:42 -07:00
Gyuho Lee 42bef8460c *: clean up code format
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-07-21 16:34:56 -07:00
Matt Brannock 520bd5084e integration, functional: Eliminate direct use of gRPC transport pkg
gRPC has moved the transport package to an internal-only directory. This
eliminates direct use of the transport package in the stress test in
favor of the error code from gRPC that represents a connection problem.

https://godoc.org/google.golang.org/grpc/internal/transport is the new
location for the package, which says it's not intended to be imported
directly. Instead, the maintainers suggested to use the code Unavailable
to detect a connection problem.

This change slightly reorganizes the stresser test error handling.
2018-07-19 10:55:57 -07:00
Joe LeGasse a6ddb51c8a auth: Support all JWT algorithms
This change adds support to etcd for all of the JWT algorithms included
in the underlying JWT library.
2018-06-26 16:31:01 -04:00
Gyuho Lee d456c0beb4 integration: disable embed tests with gRPC proxy for now
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-18 11:30:52 -07:00
Gyuho Lee a3032d3d0b *: fix fmt tests, reenable "testEmbedEtcdGracefulStop"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-15 13:41:28 -07:00
Joe Betz 05c57a0ea4 integration: Fix unit test failures from new grpc LB changes, fix bom 2018-06-15 13:41:28 -07:00
Joe Betz a5b2fb5563 clientv3: Introduce custom retry interceptor based on go-grpc-middleware/retry 2018-06-15 13:41:28 -07:00
Joe Betz 1f6548b751 clientv3: Stop expecting retry in integration tests with new grpc balancer 2018-06-15 13:41:28 -07:00
Joe Betz 9304d1abd1 clientv3: Fix TLS test failures by returning DeadlineExceeded error from dial without any additional wrapping 2018-06-15 13:41:28 -07:00
Joe Betz ee2747eba8 clientv3: Fix dial calls to consistently use endpoint resolver, attempt to deflake alarm test 2018-06-15 13:41:28 -07:00
Joe Betz f84f554301 clientv3: Fix auth client to use endpoints instead of host when dialing, fix tests to block on dial when required. 2018-06-15 13:41:28 -07:00
Joe Betz 66e65cd660 clientv3: Avoid timeouts in ordering test 2018-06-15 13:41:28 -07:00
Joe Betz 6080fa1270 clientv3: Integrate new grpc load balancer interface with etcd client 2018-06-15 13:41:28 -07:00
Gyuho Lee cbb6dea367 integration: block dial for timeout errors
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-08 13:49:17 -07:00
Gyuho Lee d6ff23e669
Merge pull request #9820 from gyuho/quota-size
*: add "etcd_server_quota_backend_bytes" metric
2018-06-07 12:06:34 -07:00
Gyuho Lee 184372cd1b integration: add "TestMetricQuotaBackendBytes"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-07 10:48:16 -07:00
Gyuho Lee 196625b917 integration: promote db size metrics to "etcd"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-07 10:20:41 -07:00
Gyuho Lee 917d40cd4c integration: test client-side TLS cipher suites
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-05 12:34:56 -07:00
Gyuho Lee 86d1d3e8dc integration: enable TestV3WatchRestoreSnapshotUnsync for gRPC proxy
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-25 12:30:42 -07:00
Gyuho Lee a52f16d4a6 integration: test lease revoke routine with JWT token
https://github.com/coreos/etcd/pull/9698 wasn't really testing
the panic code path when leases are expiry.

Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-24 11:38:31 -07:00
Gyuho Lee 9cac286830 integration: move "TestV3WatchRestoreSnapshotUnsync"
When run with "-tags cluster_proxy", panic.
Need investigate more.

Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-23 15:35:59 -07:00
Gyuho Lee 7940113906 *: move internal "etcdserver/api/rafthttp"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-21 10:31:16 -07:00
Gyuho Lee 2847232096 integration: test watch restore on slow follower
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-18 15:19:37 -07:00
Gyuho Lee aa99ed54b7 integration: rename "SnapshotCount"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-18 14:41:30 -07:00
Gyuho Lee 265a37f006 integration: remove unnecessary blank line
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-16 15:04:52 -07:00
Gyuho Lee b7443ad849 integration: remove unused parameters
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-09 15:42:45 -07:00
Jiang Xuan bf432648ae *: make bcrypt-cost configurable 2018-05-03 11:43:32 -07:00
Gyuho Lee 1d18f45caf integration: silence http server logs
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-02 12:58:56 -07:00
Gyuho Lee 58b7ab97eb integration: use structured logging in peer handler
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-02 12:53:56 -07:00
Gyuho Lee d2e1484762 integration: support structured logging in "v2http"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-02 11:57:23 -07:00
Gyuho Lee 21d75570ee integration: use "zap" logger
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-01 16:15:09 -07:00
Gyuho Lee 88c70d0ca9 embed,integration,snapshot: use "LogOutputs"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-25 13:27:31 -07:00
Gyuho Lee 3fe9030d34 integration: set InitialElectionTickAdvance to true by default
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-19 17:45:23 -07:00
Gyuho Lee cd7bfe1ea5 integration: set strings for LogOutput
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-17 12:47:06 -07:00
Gyuho Lee 674388f599 integration: use /dev/null to discard server logs
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-17 06:14:03 -07:00
Gyuho Lee 18b3e45e96 *: support --log-output=discard
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-16 19:09:09 -07:00
Gyuho Lee 35a80bc910 integration,embed: ignore embed log output
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-16 17:36:00 -07:00
Gyuho Lee a7fd274c11 integration: support structured logger
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-16 17:36:00 -07:00
Gyuho Lee f879c1de33 integration: use default logger "capnslog"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-16 17:36:00 -07:00
Gyuho Lee 68802b333b integration: re-overwrite "httptest.Server" TLS.Certificates
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-13 14:19:34 -07:00
Gyuho Lee b705f6f8f2 Revert "integration: fix httptest TLS server start"
This reverts commit 3d3ba8b9cb.
2018-04-13 13:06:09 -07:00
Gyuho Lee 6ab9776601 integration: add "TestTLSReloadCopyIPOnly"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-13 13:02:45 -07:00
Gyuho Lee 233af4b4ec integration: add IP only TLSInfos
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-13 12:03:55 -07:00
Gyuho Lee 72e23a2b1b integration/fixtures-expired: add IP only certs
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-13 12:01:35 -07:00
Gyuho Lee 334affa272 integration/fixtures: add IP only certs
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-13 11:58:36 -07:00
Gyuho Lee 3d3ba8b9cb integration: fix httptest TLS server start
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-13 11:16:54 -07:00
Gyuho Lee 2d13894a16 integration: fix "fixtures-expired" path
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-09 11:49:42 -07:00
Gyuho Lee a60bb6104c *: regenerate "fixtures-expired"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-09 10:59:52 -07:00
Gyuho Lee 8a518b01c4 *: revert "internal/mvcc" change
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-02-26 17:11:40 -08:00
Gyuho Lee bb95d190c1 *: revert "internal/auth" change
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-02-26 17:11:40 -08:00
Iwasaki Yudai 571e9a9e79 *: allow dbSizeInUse not to equal to dbSize when growing
Due to boltdb behavior, dbSizeInUse can be unequal to dbSize even when
dbSize is growing in some conditions. The possible gap between the sizes
is up to a couple of pages.

Closes #9302
2018-02-08 19:33:21 -08:00
Gyuho Lee a696343a0f integration: fix govet error in Go tip
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-02-02 14:33:42 -08:00
Iwasaki Yudai 6b775cd786 *: Add dbSizeInUse to StatusResposne
Existing dbSize shows physically allocated DB size and the backend
(boltdb) won't shrink it after a compaction until a user runs the defrag command.
The new dbSizeInUse shows the DB size that excludes free pages created
by compactions so that users can see the actual DB usage. dbSize >=
dbSizeInUse is always true.
Note that dbSizeInUse shows a page-based size and not byte level usage.
2018-02-01 12:15:23 -08:00
Hitoshi Mitake 6c91766490 *: move "auth" to "internal/auth" 2018-01-29 14:57:35 +09:00
Gyuho Lee 80d15948bc *: move "mvcc" to "internal/mvcc"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-26 11:14:41 -08:00
Manjunath A Kumatagi 97817404c9 integration: Fix govet errors 2018-01-25 04:50:40 -05:00
Sam Batschelet d21fef2d41 integration: add constant RequestWaitTimeout. 2018-01-03 15:53:57 -05:00
Gyuho Lee 3d56045da0 integration: bump up wait leader timeout for slow CIs
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2017-12-20 10:58:05 -08:00
Gyuho Lee f38593bbad clientv3/integration: test large KV requests
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2017-12-20 10:58:05 -08:00
Gyuho Lee 497412c588 clientv3: call other APIs with default gRPC call options
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2017-12-20 10:58:05 -08:00
Gyuho Lee f87760998b clientv3: call KV/Txn APIs with default gRPC call options
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2017-12-20 10:58:05 -08:00
Gyuho Lee 9442f90016 integration: remove typo in "TestV3LargeRequests"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2017-12-20 10:54:40 -08:00
Gyuho Lee abfc09b1ca integration: test large request response back from server
Address https://github.com/coreos/etcd/issues/9043.
Won't fix it, but we need test coverage on response back
from server as well.

Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2017-12-19 14:45:20 -08:00
Gyuho Lee 9fb7bbdb2d integration: add "TestV3AuthWithLeaseRevokeWithRoot"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2017-12-14 21:45:50 -08:00
Gyuho Lee 9bd07c91de integration: test GracefulStop on secure embedded server
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2017-12-07 20:36:31 -08:00
Xiang 1c69cc5657 integration: always enable initial corruption check 2017-11-26 16:51:04 -08:00
Gyu-Ho Lee 5a154e8e2b *: disable gRPC client logs in tests
Signed-off-by: Gyu-Ho Lee <gyuhox@gmail.com>
2017-11-11 20:56:00 -08:00
Gyu-Ho Lee 75110dd839 *: fix naked returns
Signed-off-by: Gyu-Ho Lee <gyuhox@gmail.com>
2017-11-10 18:46:15 -08:00
Gyu-Ho Lee f49f5c9094 *: disable grpc client log in tests by default
Signed-off-by: Gyu-Ho Lee <gyuhox@gmail.com>
2017-11-07 15:05:13 -08:00
Gyu-Ho Lee a41f3b64aa integration: expose ElectionTimeout, multiply ticks to timeout
To be consistent with etcdserver

Signed-off-by: Gyu-Ho Lee <gyuhox@gmail.com>
2017-10-30 09:22:40 -07:00
Xiang Li a33a3b2872 Merge pull request #8773 from jpbetz/fix-lease-grant-int-test
test: Deflake TestV3LeasePrmote integration test
2017-10-26 21:01:23 -07:00
Joe Betz a9996f8768 test: Deflake TestV3LeasePrmote integration test 2017-10-26 16:58:37 -07:00
Gyu-Ho Lee b6f770fc24 integration: use variadic parameters for *Partition
'member' type is not exported.
In network partition tests, we want do

InjectPartition(t, clus.Members[lead], clus.Members[lead+1])

Signed-off-by: Gyu-Ho Lee <gyuhox@gmail.com>
2017-10-25 14:55:03 -07:00
Gyu-Ho Lee ff2ed93b5c clientv3/integration: do not create v3 clients when not used
Add 'SkipCreatingClients' field to skip creating clients if not used.

Signed-off-by: Gyu-Ho Lee <gyuhox@gmail.com>
2017-10-24 16:59:41 -07:00
Gyu-Ho Lee 09f02e5507 fixtures: add 'localhost' to wildcard cert for local cluster
Otherwise, local cluster tests fail.
2017-10-05 22:05:20 +00:00
Gyu-Ho Lee 863dfd1f0e Merge pull request #8616 from mitake/peer-cn-auth
RFC: etcdmain, pkg: CN based auth for inter peer connection
2017-10-04 10:00:53 -07:00
Hitoshi Mitake 1d28a7a69b integration/fixtures: add cert and key of different CN for testing purpose 2017-10-02 15:59:17 +09:00
Gyu-Ho Lee bc5b7c0937 integration: enable client debug logging on EXPECT_DEBUG
Signed-off-by: Gyu-Ho Lee <gyuhox@gmail.com>
2017-09-29 12:19:59 -07:00
Gyu-Ho Lee 044aca7f50 integration: configure keepalive parameters for server
Signed-off-by: Gyu-Ho Lee <gyuhox@gmail.com>
2017-09-28 15:34:39 -07:00
Gyu-Ho Lee 741d7e9dca integration: add Blackhole to bridgeConn
Signed-off-by: Gyu-Ho Lee <gyuhox@gmail.com>
2017-09-28 15:34:36 -07:00
Gyu-Ho Lee 6f76d52a1a *: deprecate grpc.Code, grpc.ErrorDesc
Signed-off-by: Gyu-Ho Lee <gyuhox@gmail.com>
2017-09-11 09:28:56 -07:00
Gyu-Ho Lee 9a726b424d *: fix leaky context creation with cancel
Signed-off-by: Gyu-Ho Lee <gyuhox@gmail.com>
2017-09-07 13:39:42 -07:00
Gyu-Ho Lee f65aee0759 *: replace 'golang.org/x/net/context' with 'context'
Signed-off-by: Gyu-Ho Lee <gyuhox@gmail.com>
2017-09-07 13:39:42 -07:00
Gyu-Ho Lee 15c3c1be28 *: replace 'grpc.ErrClientConnTimeout' with 'context.DeadlineExceeded'
Signed-off-by: Gyu-Ho Lee <gyuhox@gmail.com>
2017-09-05 14:10:43 -07:00
Anthony Romano 59d232adf9 integration: retry remove in TestDecreaseClusterSize
Cluster may go through a second leader election if test machine is
overloaded. Retry remove until it passes without error.

Fixes #8225
2017-09-01 12:06:59 -07:00
Hitoshi Mitake 3fefac17b2 integration: clean up resources in error paths of TestV3WatchFromCurrentRevision
Current error paths of TestV3WatchFromCurrentRevision don't clean the
used resources including goroutines. Because go's tests are executed
continuously in a single process, the leaked goroutines makes error
logs bloated like the below case:
https://jenkins-etcd-public.prod.coreos.systems/job/etcd-coverage/2143/

This commit lets the error paths clean the resources.
2017-08-28 16:31:36 +09:00
Anthony Romano ef5e77e361 Merge pull request #8442 from heyitsanthony/oldrev-test
integration: check concurrent auth ops don't cause old rev errors
2017-08-25 12:03:32 -07:00
Anthony Romano dfed636e5a integration: check concurrent auth ops don't cause old rev errors 2017-08-23 14:29:38 -07:00
Anthony Romano b9ef49142c integration: test serializable snapshot STM with old readset revisions
Was hanging.
2017-08-22 19:39:22 -07:00
Anthony Romano 35c5dcefc2 *: cockroachdb/cmux -> soheilhy/cmux
Has fixes not in fork. Includes SetReadTimeout.
2017-08-22 09:59:59 -07:00
Anthony Romano 6e02779c4f integration: add corruption test 2017-08-22 09:59:59 -07:00
Anthony Romano 5c611a493b integration: grpc on etcd peer ports 2017-08-22 09:59:59 -07:00
Anthony Romano d3f5109215 test: weaken certs
The penalty for TLS is non-trivial with race detection enabled.
Weakening the test certs from 4096-bit RSA to 2048-bit gives ~4x faster
runtimes for TestDoubleTLSClusterSizeOf3.
2017-08-21 03:23:47 -07:00