Commit Graph

1560 Commits

Author SHA1 Message Date
6c2be0822d tests: Add e2e tests for downgrades 2021-10-29 12:47:19 +02:00
431adc5878 server: Implement storage downgrades
By validating if WAL doesn't include any incompatible entries we can
implement storage downgrades.
2021-10-29 12:47:19 +02:00
f5d71fa389 server: Detect when WAL includes unapplied cluster version set to higher version
This is because etcd v3.5 will panic when it encounters
ClusterVersionSet entry with version >3.5.0. For downgrades to v3.5 to
work we need to make sure this entry is snapshotted.
2021-10-29 12:47:19 +02:00
a0bdfc4fc9 tests/integration/clientv3: allow time for endpoints to update
Signed-off-by: Sam Batschelet <sbatsche@redhat.com>
2021-10-27 17:26:30 -04:00
316e62b4e1 *: fixup go 1.17 bump
Signed-off-by: Sam Batschelet <sbatsche@redhat.com>
2021-10-27 14:26:55 -04:00
2a151c8982 *: move from io/ioutil to io and os packages
The io/ioutil package has been deprecated as of Go 1.16, see
https://golang.org/doc/go1.16#ioutil. This commit replaces the existing
io/ioutil functions with their new definitions in io and os packages.

Signed-off-by: Eng Zer Jun <engzerjun@gmail.com>
2021-10-28 00:05:28 +08:00
e6e279a14d *: Bump go to go v1.17.2 2021-10-27 13:44:54 +02:00
7b6554fd30 non mutating requests pass through quotaKVServer when NOSPACE 2021-10-22 16:36:37 -07:00
ef1f71a9f6 Merge pull request #13411 from serathius/framework
Move e2e/integration cluster setup to separate package
2021-10-21 17:09:49 +02:00
ca9b720c1d tests: Move integration setup to separa framework package 2021-10-20 10:34:35 +02:00
dcd0d3fc9c tests: Extract e2e cluster setup to separate package 2021-10-19 13:06:40 +02:00
49a8aa7f49 run fix.sh
To fix dependencies.

Signed-off-by: Vladimir Ermakov <vooon341@gmail.com>
2021-10-13 14:08:27 +03:00
4bcdee5c65 tests: Extract flag init from main_test.go 2021-10-08 22:01:11 +02:00
5b226e0abf Merge pull request #13391 from serathius/downgrade-refactor
Refactor code to make place for downgrade logic
2021-10-08 12:38:25 +02:00
703df1c491 server: Move wal versioning functions to wal package 2021-10-08 12:01:53 +02:00
3644c9d67b client/pkg/fileutil: add missing logger to {Create,Touch}DirAll
Also populate it to every invocation.
2021-10-07 17:53:59 +03:00
c929a917b6 client: Use first endpoint as http2 authority header 2021-09-29 14:41:35 +02:00
ec419f8613 tests: Add grpc authority e2e tests 2021-09-29 14:41:33 +02:00
90932324b1 client: Add grpc authority header integration tests 2021-09-29 12:42:16 +02:00
c3cc22c60d tests: Allow configuring integration tests to use TCP 2021-09-29 12:42:16 +02:00
77cc91e0b2 test: Use unique number for grpc port 2021-09-29 12:42:16 +02:00
5364758181 tests: Cleanup member interface by exposing Bridge directly 2021-09-29 12:42:16 +02:00
451eb5d711 tests: Make using bridge optional 2021-09-29 12:42:14 +02:00
f2dd5d80a1 tests: Rename grpcAddr to grpcURL to imply that it includes schema 2021-09-28 16:45:06 +02:00
391d662f77 tests: Remove bridge dependency on unix 2021-09-28 16:45:06 +02:00
65686efa4a Decouple prefixArgs from os.Env dependency
prefixArgs uses os.Setenv in e2e tests instead envMap.
This creates overwrites in some test cases and have an impact
on test quality and isolation between tests.
This PR uses ctlcontext envMap in each tests with high priority
and merges os environment variables with low priority.
2021-09-13 12:28:56 +03:00
0d15ff57e6 server: Implement schema migrations 2021-09-10 10:16:48 +02:00
ad69fe0f40 fix IsOptsWithFromKey
fix IsOptsWithFromKey

fix IsOptsWithFromKey

fix IsOptsWithFromKey

fix IsOptsWithFromKey

fix IsOptsWithFromKey
2021-09-10 00:44:52 +08:00
87f1dc7e40 Fix a few typos 2021-09-03 16:09:09 -04:00
c9b4c866ce Cleanup remaining TODOs for/past 3.5 release 2021-08-06 13:29:25 +02:00
873f3691f1 Merge pull request #13216 from serathius/wal
Annotate proto messages with version and detect etcd version generated the wal
2021-08-06 10:58:57 +02:00
b4b50f7852 etcdutl: Implement migrate --force command
Co-authored-by: nic-chen <33000667+nic-chen@users.noreply.github.com>
Co-authored-by: Heisenberg <yuzhiquanlong@gmail.com>
2021-08-04 17:58:18 +02:00
1b4e54c238 api: Annotate proto messages and use it to detect etcd version that generated wal
Co-authored-by: Lili Cosic <cosiclili@gmail.com>
2021-08-04 13:36:08 +02:00
1e46145b29 Merge pull request #13268 from serathius/storage-min
Move storage bootstrap dependencies to storage package
2021-08-03 17:28:36 +02:00
1da6c71321 Merge pull request #13256 from Haimantika/replacejwtgo
Replace github.com/form3tech-oss/jwt-go with https://github.com/golang-jwt/jwt
2021-08-03 10:17:43 -04:00
83a325ac46 server: Move all functions needed for storage bootstrap to storage package
This is prerequestite to move storage bootstrap, splitted to separate PR
to make it easier to review.
2021-08-03 13:09:15 +02:00
44b8ae145b etcdserver: Move datadir and wal to storage package 2021-08-03 12:47:37 +02:00
c10d50c4b3 Replace github.com/form3tech-oss/jwt-go with https://github.com/golang-jwt/jwt
Signed-off-by: Haimantika Mitra <haimantikamitra@gmail.com>

Made required adjustments to the go.sum file

Signed-off-by: Haimantika Mitra <haimantikamitra@gmail.com>

Changed go.sum file in the server directory

Signed-off-by: Haimantika Mitra <haimantikamitra@gmail.com>

Removed the white space

Signed-off-by: Haimantika Mitra <haimantikamitra@gmail.com>

Made required changes

Signed-off-by: Haimantika Mitra <haimantikamitra@gmail.com>

Trying to fix the fails

Signed-off-by: haimantika mitra <haimantikamitra@gmail.com>

Removed error

Signed-off-by: haimantika mitra <haimantikamitra@gmail.com>

Fixed bill-of-materials.json file

Signed-off-by: haimantika mitra <haimantikamitra@gmail.com>

Changed go.mod with recent version

Signed-off-by: haimantika mitra <haimantikamitra@gmail.com>

Newer version changes

Signed-off-by: haimantika mitra <haimantikamitra@gmail.com>

Changes to etcdutl directory

Signed-off-by: haimantika mitra <haimantikamitra@gmail.com>
2021-08-03 13:49:47 +05:30
da34e9bf30 Merge pull request #13245 from serathius/makefile
*: Cleanup Makefile
2021-08-02 10:24:33 -04:00
7b5f8fc71c *: Cleanup Makefile
* Move manual docker tests to ./tests/manual
* Move manual docker makefile targets to ./tests/manual/Makefile
* Remove unused makefile rules
2021-07-27 17:32:39 +02:00
2a26f7ae4c etcdserver: configure "expensive" requests duration
When a unary request takes more than predefined duration, this request
is defined as "expensive" and a warning is printed. The expensive request
duration is hard-coded to 300 ms. It can be not enough for example
for transactions with a lot of operations. The warnings just blow up
the log files and reduce throughput.

This fix allows user to configure the "expensive" request duration.

Signed-off-by: Alexey Roytman <roytman@il.ibm.com>
2021-07-27 08:33:44 +03:00
5e40a8b00c server: Create storage package and move mvcc files to it 2021-07-12 15:37:21 +02:00
e21cf4ef02 tkest: Prevent TestMaintenanceSnapshotWithVersionVersion & TestSaveSnapshotVersion from flaking
When running 100 times in row those tests flaked around 10-20%. Based on
some experimentation 10 keys was enough to ensure that wal snapshot is
created and prevented any flakes.
2021-07-09 13:38:40 +02:00
0d0b6f06fa Merge pull request #13142 from avorima/etcdutl-completion
etcdutl: add command to generate shell completion
2021-06-30 10:33:22 -04:00
e2740b4afa server,etcdutl: Preserve etcd version in backend allowing etcdutl to read it from snapshot 2021-06-25 14:06:56 +02:00
8f9829cd2d Merge pull request #13114 from lilic/fix-api-version
Bump etcd version to 3.5.0 and 3.6.0-pre
2021-06-24 14:26:17 +02:00
3c6ace066a etcdutl: add command to generate shell completion
Follow up of #13133.
2021-06-24 12:22:40 +02:00
96b8049d81 Write test for for bash completion 2021-06-23 23:16:47 +02:00
4e060dc127 tests/e2e/ctl_v3_snapshot_test.go: Adjust version to 3.6.0 2021-06-22 12:26:24 +02:00
df696a7e76 go.mod: Bump etcd to 3.5.0 2021-06-22 12:25:39 +02:00