Benjamin Wang
080effc935
test: enhance StartNewProc to accept one more parameter: EtcdProcessClusterConfig
...
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2022-11-09 16:04:22 +08:00
Clark
269a0beb41
tests: refactor EtcdProcessClusterConfig
with Functional Options Pattern
...
add `DefaultConfig`, `NewConfig` and `EPClusterOption`
Signed-off-by: Clark <fwyongxing@gmail.com>
2022-11-09 03:37:42 +08:00
Benjamin Wang
86e71f026e
test: update the definition of testRunner and clusterTestCases
...
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2022-11-07 10:18:51 +08:00
Benjamin Wang
fc23d0e83a
test: add ClusterContext into the common ClusterConfig
...
ClusterContext is used by "e2e" or "integration" to extend the
ClusterConfig. The common test cases shouldn't care about what
data is encoded or included; instead "e2e" or "integration"
framework should decode or parse it separately.
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2022-11-07 10:05:45 +08:00
Marek Siarkowicz
71b40b3abf
tests: Extend common test to run previous release
...
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2022-11-07 06:51:59 +08:00
Benjamin Wang
d71762f4f0
Merge pull request #14683 from ahrtr/test_framework_20221104
...
test: refactor the framework structure to make it clearer
2022-11-05 04:30:59 +08:00
Benjamin Wang
dc0273b049
test: refactor the struct to make it clearer
...
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2022-11-04 19:28:32 +08:00
Marek Siarkowicz
e614eec948
Merge pull request #14560 from serathius/env
...
tests: Pass only etcd related environment variables during e2e tests
2022-11-04 11:24:07 +01:00
Wei Fu
3ddcb3ddef
test: deflake TestDowngradeUpgradeClusterOf3 timeout
...
In the TestDowngradeUpgradeCluster case, the brand-new cluster is using
simple-config-changer, which means that entries has been committed
before leader election and these entries will be applied when etcdserver
starts to receive apply-requests. The simple-config-changer will mark
the `confState` dirty and the storage backend precommit hook will update
the `confState`.
For the new cluster, the storage version is nil at the beginning. And
it will be v3.5 if the `confState` record has been committed. And it
will be >v3.5 if the `storageVersion` record has been committed.
When the new cluster is ready, the leader will set init cluster version
with v3.6.x. And then it will trigger the `monitorStorageVersion` to
update the `storageVersion` to v3.6.x. If the `confState` record has
been updated before cluster version update, we will get storageVersion
record.
If the storage backend doesn't commit in time, the
`monitorStorageVersion` won't update the version because of `cannot
detect storage schema version: missing confstate information`.
And then we file the downgrade request before next round of
`monitorStorageVersion`(per 4 second), the cluster version will be
v3.5.0 which is equal to the `UnsafeDetectSchemaVersion`'s result.
And we won't see that `The server is ready to downgrade`.
It is easy to reproduce the issue if you use cpuset or taskset to limit
in two cpus.
So, we should wait for the new cluster's storage ready before downgrade
request.
Fixes : #14540
Signed-off-by: Wei Fu <fuweid89@gmail.com>
2022-11-02 22:50:31 +08:00
Benjamin Wang
5073af6521
Merge pull request #14660 from clarkfw/new-cluster-accept-configuration-as-options
...
tests: TestRunner.NewCluster accepts options
2022-10-31 19:15:23 +08:00
Clark
fa9ee5cce9
tests: TestRunner.NewCluster accepts options
...
Signed-off-by: Clark <fwyongxing@gmail.com>
2022-10-31 15:26:08 +08:00
Oleg Guba
b22e3ff4eb
Allow passing client options to Client()
...
Signed-off-by: Oleg Guba <oleg@dropbox.com>
2022-10-27 14:08:23 -07:00
Marek Siarkowicz
c45f3388ac
Merge pull request #14632 from clarkfw/functional-options-pattern-of-cluster-config
...
tests: add a ClusterOption interface for ClusterSize in config.Cluster
2022-10-27 16:29:57 +02:00
Oleg Guba
47c558e605
[e2e] don't pass --endpoints flag in test HashKV implementation
...
Signed-off-by: Oleg Guba <oleg@dropbox.com>
2022-10-27 02:02:58 -07:00
Clark
e28b66f751
tests: add a ClusterOption interface for ClusterSize in config.ClusterConfig
...
Signed-off-by: Clark <fwyongxing@gmail.com>
2022-10-26 23:41:09 +08:00
Chao Chen
f3c47d760c
update auth test interface
...
Signed-off-by: Chao Chen <chaochn@amazon.com>
2022-10-26 09:56:22 -04:00
Benjamin Wang
5550041633
Merge pull request #14629 from clarkfw/fix-anti-pattern-naming
...
test: fix anti-pattern naming problem in config.ClusterConfig
2022-10-26 20:01:43 +08:00
Clark
08284c56e0
test: fix anti-pattern naming problem in config.ClusterConfig
...
Signed-off-by: Clark <fwyongxing@gmail.com>
2022-10-26 15:47:19 +08:00
Benjamin Wang
42cfb74b4c
test: define a default WithAuth to resolve error Unresolved reference 'WithAuth' from IDE
...
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2022-10-26 14:30:47 +08:00
Marek Siarkowicz
8ce81a1624
Merge pull request #14611 from serathius/issue14370
...
tests: Add linearizability tests scenario for #14370
2022-10-25 14:03:39 +02:00
Benjamin Wang
3ee2f5711e
test: add common function "WithAuth"
...
We defines two common `WithAuth` functions for e2e and integration
test respectively. They are calling `integration.WithAuth` and
`e2e.WithAuth` respectively.
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2022-10-25 02:41:49 +08:00
Marek Siarkowicz
837819860b
tests: Add linearizability tests scenario for #14370
...
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2022-10-24 13:36:12 +02:00
Benjamin Wang
4e0ccc69c9
test: refactor the client interface
...
It doesn't make sense to always pass a AuthConfig parameter for
test cases which do not enable auth at all. So refactoring the
Client interface method so that it accepts a `ClientOption`
variadic parameter.
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2022-10-24 19:04:34 +08:00
Marek Siarkowicz
e5790d204c
Merge pull request #14398 from serathius/linearizability
...
Validate etcd linearizability
2022-10-23 12:09:30 +02:00
Marek Siarkowicz
069e26e284
tests: Validate etcd linearizability
...
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2022-10-23 06:41:38 +02:00
Benjamin Wang
3b4c255444
Merge pull request #14608 from veshij/auth
...
[e2e] Fix AuthEnable/Disable e2e test implementations
2022-10-22 08:19:05 +08:00
Oleg Guba
44bc007494
Update tests/framework/e2e/etcdctl.go
...
address comment
Co-authored-by: Benjamin Wang <wachao@vmware.com>
Signed-off-by: Oleg Guba <oleg@dropbox.com>
2022-10-21 10:44:09 -07:00
Oleg Guba
24831a0242
Update tests/framework/e2e/etcdctl.go
...
address comment
Co-authored-by: Benjamin Wang <wachao@vmware.com>
Signed-off-by: Oleg Guba <oleg@dropbox.com>
2022-10-21 10:44:09 -07:00
Oleg Guba
a39374f33a
[e2e] Fix AuthEnable/Disable e2e test implementations
...
Signed-off-by: Oleg Guba <oleg@dropbox.com>
2022-10-20 19:15:31 -04:00
Benjamin Wang
b5751636e3
Merge pull request #14607 from veshij/hashkv
...
[e2e] Fix bug in EtcdctlV3.HashKV() e2e implementation.
2022-10-21 06:02:01 +08:00
Oleg Guba
a466d5cc2e
[e2e] Fix bug in EtcdctlV3.HashKV()
...
Signed-off-by: Oleg Guba <oleg@dropbox.com>
2022-10-20 17:37:16 -04:00
Marek Siarkowicz
1b3f301cc2
tests: Share SpawnCmdWithLogger between coverage and no coverage scenarios
...
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2022-10-17 14:10:11 +02:00
Marek Siarkowicz
574b3d33d1
test: Remove BinDir global variable
...
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2022-10-17 14:09:51 +02:00
Marek Siarkowicz
9bba38e51f
tests: Include etcd-last-release in BinPath
...
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2022-10-17 14:09:51 +02:00
Marek Siarkowicz
89a1e7978c
tests: Configure coverage binary paths via init
...
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2022-10-17 14:09:51 +02:00
Marek Siarkowicz
d3b9951126
tests: Refactor BinPath into struct
...
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2022-10-17 14:09:49 +02:00
Marek Siarkowicz
de0efc9aa4
tests: Move global e2e configuration into one file
...
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2022-10-17 14:09:28 +02:00
Marek Siarkowicz
07ca384753
tests: Move MustAbsPath function to testutils
...
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2022-10-17 13:37:14 +02:00
Benjamin Wang
24ad49091e
test: resolve review comment for the feature of dynamically adding new member
...
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2022-10-15 06:09:58 +08:00
Vitalii Levitskii
11e23f1ef7
Added member interaction into EtcdProcessCluster
...
Rebased this PR. There is no response from the original author,
so Benjamin (ahrtr@) continue to work on this PR.
Signed-off-by: Vitalii Levitskii <vitalii@uber.com>
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2022-10-15 05:53:07 +08:00
Thomas Jungblut
20dccfa484
Test port allocating using net.Listen
...
To avoid port clashes during integration tests, we let the OS give us a
free port.
Signed-off-by: Thomas Jungblut <tjungblu@redhat.com>
2022-10-14 09:40:04 +02:00
Marek Siarkowicz
81bd3fb9f9
tests: Pass only etcd related environment variables during e2e tests
...
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2022-10-13 16:44:22 +02:00
Marek Siarkowicz
510f26e34c
Remove mention of ETCDCTL_API environment variable as it was removed on main branch
...
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2022-10-07 21:22:06 +02:00
Chao Chen
8d057ea2b8
common tests framework: cluster client creation fail with invalid auth
...
Signed-off-by: Chao Chen <chaochn@amazon.com>
2022-09-29 23:09:32 -07:00
Benjamin Wang
159ed15afc
Merge pull request #14479 from demoManito/fix/declaring-empty-slice
...
etcd: modify declaring empty slices
2022-09-20 05:22:59 +08:00
Hitoshi Mitake
c793f18238
Merge pull request #14322 from mitake/watch-auth-err
...
*: handle auth invalid token and old revision errors in watch
2022-09-19 23:33:49 +09:00
Hitoshi Mitake
c5614520d5
tests: a test case for watch with auth token expiration
...
Signed-off-by: Hitoshi Mitake <h.mitake@gmail.com>
2022-09-17 21:51:36 +09:00
demoManito
72cf0cc04a
etcd: modify declaring empty slices
...
declare an empty slice to var s []int replace s :=[]int{}, https://github.com/golang/go/wiki/CodeReviewComments#declaring-empty-slices
Signed-off-by: demoManito <1430482733@qq.com>
2022-09-16 14:41:14 +08:00
Marek Siarkowicz
b5bbf04503
Merge pull request #14460 from ahrtr/fix_TestV3AuthRestartMember_20220913
...
Integration_test: fix the flaky test TestV3AuthRestartMember
2022-09-14 09:44:15 +02:00
Benjamin Wang
e8ad008067
integration_test: fix the flaky test TestV3AuthRestartMembe
...
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2022-09-14 14:30:37 +08:00