Compare commits

...

1136 Commits

Author SHA1 Message Date
f79d11fdc0 build(deps): bump github.com/polyfloyd/go-errorlint in /tools/mod
Bumps [github.com/polyfloyd/go-errorlint](https://github.com/polyfloyd/go-errorlint) from 1.4.5 to 1.4.7.
- [Changelog](https://github.com/polyfloyd/go-errorlint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/polyfloyd/go-errorlint/compare/v1.4.5...v1.4.7)

---
updated-dependencies:
- dependency-name: github.com/polyfloyd/go-errorlint
  dependency-type: indirect
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-08 17:54:53 +00:00
a2eb17c809 Merge pull request #17199 from serathius/dont-flock
Don't flock snapshot files
2024-01-08 15:03:29 +01:00
3a8e90c4c8 Merge pull request #17200 from iiamabby/yamllint-install
Automate installation of yamllint
2024-01-06 14:03:47 +00:00
1707d79eae Merge pull request #17103 from moficodes/patch-17045
Update arm64 infra guide standard `arm64` runner definition
2024-01-05 13:21:57 -06:00
970abc211e Merge pull request #17152 from serathius/logs-recover-backend
Improve logs around recovering snapshot backend and add an e2e test
2024-01-05 15:38:58 +01:00
=
dbfacb4260 Ensure bin directory exists for protoc install
Co-authored-by: James Blair <mail@jamesblair.net>
Signed-off-by: = <abby.crimlis@outlook.com>
2024-01-05 10:29:34 +13:00
=
b103d46ce7 Automate installation of yamllint
Co-authored-by: James Blair <mail@jamesblair.net>
Signed-off-by: = <abby.crimlis@outlook.com>
2024-01-05 10:04:03 +13:00
3471ef133d Add an e2e test and robustness failpoint around recovering from snapshot backend
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2024-01-04 15:25:24 +01:00
7f8346b3f2 Don't flock snapshot files
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2024-01-04 14:53:44 +01:00
2b19cd118b Merge pull request #17193 from jmhbnz/improve-workflow-autonomy
Enable org members to approve workflows for backports
2024-01-03 10:25:57 +00:00
8444ea163f Delegate approvals for backport workflows.
Signed-off-by: James Blair <mail@jamesblair.net>
2024-01-03 20:12:49 +13:00
f66b95d3b1 Merge pull request #17191 from ahrtr/dependency_20240102
[2024-01-02] Bump dependencies
2024-01-02 19:38:44 +00:00
b22b8ec3c2 bump github.com/mikefarah/yq/v4 to v4.40.5
Signed-off-by: Benjamin Wang <benjamin.ahrtr@gmail.com>
2024-01-02 16:56:04 +00:00
8e7984cbc4 bump go.uber.org/multierr to v1.11.0
Signed-off-by: Benjamin Wang <benjamin.ahrtr@gmail.com>
2024-01-02 16:54:54 +00:00
553d88cfd3 bump github.com/prometheus/client_golang to v1.18.0
Signed-off-by: Benjamin Wang <benjamin.ahrtr@gmail.com>
2024-01-02 16:52:42 +00:00
f8d5ba9a3f Merge pull request #17106 from ivanvc/cert_20231103
Replace the deprecated `x509.ParseCRL` with `x509.ParseRevocationList`
2023-12-29 19:57:41 +00:00
dc26e816fd Merge pull request #17156 from etcd-io/ptabor-patch-1
Update OWNERS: Retire ptabor
2023-12-28 21:18:26 +00:00
164d4b945b Update README.md
Add Piotr Tabor as emeritus.

Signed-off-by: Piotr Tabor <piotr.tabor@gmail.com>
2023-12-28 21:12:14 +01:00
7d6665981e Update OWNERS: Retire ptab
Hi,
I think, it's a high time for me to retire. No contributions over last 6m.
There is a hope, I will be back working on etcd, but over last 6m it kept being just 2 months away.

Thank you all,
Piotr

Signed-off-by: Piotr Tabor <piotr.tabor@gmail.com>
2023-12-28 21:12:14 +01:00
93530f6e0a Merge pull request #17167 from etcd-io/dependabot/github_actions/github/codeql-action-3.22.12
build(deps): bump github/codeql-action from 3.22.11 to 3.22.12
2023-12-27 18:24:04 +00:00
670e25ae12 Merge pull request #17172 from sharathsivakumar/shsi/bump_deps_11
Manually bump dependencies
2023-12-27 17:41:40 +00:00
c21b966478 dependency: bump google.golang.org/protobuf from 1.31.0 to 1.32.0
Signed-off-by: Sharath Sivakumar <mailssr9@gmail.com>
2023-12-27 17:27:40 +01:00
7643204e36 dependency: bump go.uber.org/zap from 1.24.0 to 1.26.0
Signed-off-by: Sharath Sivakumar <mailssr9@gmail.com>
2023-12-27 16:51:59 +01:00
dc17043d2e dependency: bump github.com/prometheus/common from 0.44.0 to 0.45.0
Signed-off-by: Sharath Sivakumar <mailssr9@gmail.com>
2023-12-27 16:49:22 +01:00
3ddd5c146b build(deps): bump github/codeql-action from 3.22.11 to 3.22.12
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.22.11 to 3.22.12.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](b374143c11...012739e508)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-25 17:38:37 +00:00
e9434c9455 client: implement TLS CRL tests
Signed-off-by: Ivan Valdes <ivan@vald.es>
2023-12-23 09:23:17 -08:00
2eb0e2d7d5 Merge pull request #17150 from etcd-io/dependabot/go_modules/google.golang.org/grpc-1.60.1
build(deps): bump google.golang.org/grpc from 1.59.0 to 1.60.1
2023-12-21 19:53:42 +00:00
0c55ed7464 build(deps): bump google.golang.org/grpc from 1.59.0 to 1.60.1
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.59.0 to 1.60.1.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.59.0...v1.60.1)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-21 19:07:47 +00:00
f7262d1a1b Merge pull request #17159 from sharathsivakumar/shsi/bump_deps_10
Manually bump dependencies
2023-12-21 18:15:19 +00:00
362477b077 dependency: bump golang.org/x/crypto from 0.16.0 to 0.17.0
Signed-off-by: Sharath Sivakumar <mailssr9@gmail.com>
2023-12-21 18:19:10 +01:00
ac66c2a013 Merge pull request #17153 from serathius/test-fails-with-older-db-file
Test etcd fails to bootstrap with older db file
2023-12-21 15:00:32 +01:00
3c79b2aca6 Merge pull request #17148 from jmhbnz/fix-artifact-upload
Fix artifact upload github action for compatibility with v4.0
2023-12-21 13:54:12 +00:00
538162ad2a Test etcd fails to bootstrap with older db file
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-12-20 16:32:27 +01:00
d39d86a214 Improve logs around recovering from snapshot backend
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-12-20 16:26:27 +01:00
1e8d66ef95 Add beforeOpenSnapshotBackend failpoint
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-12-20 15:36:54 +01:00
35f4a6c91a Merge pull request #17122 from wespanther/main
Add digest for base image and configure dependabot
2023-12-20 10:00:57 +00:00
de090eb719 Merge pull request #17149 from jongwooo/hotfix/correct-typo-from-kuberntes-to-kubernetes
Correct typo from 'Kuberntes' to 'Kubernetes'
2023-12-20 10:52:45 +01:00
205c6f24ec Merge pull request #17131 from jmhbnz/cleanup-workflows
Remove workflow telemetry github action
2023-12-20 09:34:52 +00:00
08d799c4cc Correct typo from 'Kuberntes' to 'Kubernetes'
Signed-off-by: Jongwoo Han <jongwooo.han@gmail.com>
2023-12-20 18:09:31 +09:00
ac25ceeaee build(deps): bump actions/upload-artifact from 3.1.3 to 4.0.0
Signed-off-by: James Blair <mail@jamesblair.net>
2023-12-20 13:56:36 +13:00
0644d5b099 Ensure matrix workflows use unique names for uploaded artifacts.
There are breaking changes in v4.0 of the upload artifact action which mean name must be unique https://github.com/actions/upload-artifact#breaking-changes.

Signed-off-by: James Blair <mail@jamesblair.net>
2023-12-20 13:55:11 +13:00
5b572f1516 Merge pull request #17147 from siyuanfoundation/chlog
changelog: update 3.4 3.5 changelogs to include livez/readyz changes.
2023-12-19 20:08:07 +00:00
23da38c1cb changelog: update 3.4 3.5 changelogs to include livez/readyz changes.
Signed-off-by: Siyuan Zhang <sizhang@google.com>
2023-12-19 11:25:09 -08:00
cc9ca40470 Add digest for base image and configure dependabot
This should not change the current behavior, but will cause dependabot
to update the digest of the latest base image weekly.

Signed-off-by: Wes Panther <wpanther@google.com>
2023-12-18 21:21:17 -08:00
48fa1b934f Merge pull request #17141 from etcd-io/dependabot/github_actions/github/codeql-action-3.22.11
build(deps): bump github/codeql-action from 2.22.9 to 3.22.11
2023-12-18 18:57:03 +00:00
a05156fe99 build(deps): bump github/codeql-action from 2.22.9 to 3.22.11
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2.22.9 to 3.22.11.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](c0d1daa7f7...b374143c11)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-18 17:31:54 +00:00
a2721a30fa Remove workflow telemetry github action.
We have completed memory profiling for our workflows so can consider removing this additional action now.

Signed-off-by: James Blair <mail@jamesblair.net>
2023-12-17 20:44:39 +13:00
f7be2dfa17 Merge pull request #16888 from greenmoon55/greenmoon55-patch-1
tests: add comments for clientv3test.TestWatchResumeInitRev
2023-12-16 20:35:43 +00:00
4e986363a3 Merge pull request #16822 from ahrtr/revoke_20231024
Ignore old leader's leases revoking request
2023-12-15 18:44:03 +00:00
f7ff898fd6 Resovle some review comments
Signed-off-by: Benjamin Wang <benjamin.ahrtr@gmail.com>
2023-12-15 17:53:36 +00:00
67f17166bf Safeguard lease operations by double checking the leadership
1. ignore old leader's leases revoking request
2. double check current member's leadership before perform lease renew request
3. etcdserve: ensure current member's leadership before performing lease checkpoint request

Signed-off-by: Benjamin Wang <benjamin.ahrtr@gmail.com>
2023-12-15 17:53:36 +00:00
f7e488dc92 Add e2e test cases to reproduce the lease revoke issue
Refer to https://github.com/etcd-io/etcd/issues/15247

Signed-off-by: Benjamin Wang <benjamin.ahrtr@gmail.com>
2023-12-15 17:53:36 +00:00
2f03bbc5dd Merge pull request #17125 from ahrtr/TestMemberReplace_20231215
Update test case TestMemberReplace to always connect to stable endpoints
2023-12-15 16:17:04 +00:00
9590a02f94 update test case TestMemberReplace to always connect to stable endpoints
Signed-off-by: Benjamin Wang <benjamin.ahrtr@gmail.com>
2023-12-15 12:38:27 +00:00
51bd8bd4e8 Merge pull request #17107 from redwrasse/redwrasse/return-early-expectfun
testutils: return early instead of first breaking in LogObserver.Expe…
2023-12-15 09:53:40 +00:00
5c476cc9e9 Merge pull request #17115 from ivanvc/update-3.4-changelog-with-ssrf-fix
changelog: update 3.4 changelog to include ssrf fix
2023-12-15 09:51:06 +00:00
2cf112f3b9 Merge pull request #17117 from silves-xiang/main
etcdclient: Fix memory leak caused by for + time.After
2023-12-14 15:17:58 +00:00
a70fa9b471 Merge pull request #17113 from ahrtr/etcd_log_20231213
Added some log messages for better diagnosis
2023-12-14 12:50:49 +00:00
ed01ee1e5e etcdclient: Fix memory leak caused by for + time.After
Signed-off-by: silves-xiang <xiang20010326@sina.com>
2023-12-14 10:05:51 +08:00
616c5a47de changelog: update 3.4 changelog to include ssrf fix
Signed-off-by: Ivan Valdes <ivan@vald.es>
2023-12-13 15:16:17 -08:00
36b2523669 added some log messages for better diagnosis
Signed-off-by: Benjamin Wang <benjamin.ahrtr@gmail.com>
2023-12-13 18:43:22 +00:00
dfdffe48f9 Merge pull request #17102 from ahrtr/actuated_badge_20231212
Add actuated badge
2023-12-13 14:32:10 +00:00
68565c5ed7 Merge pull request #17108 from redwrasse/redwrasse/contrib-readmes
contrib: add missing lock and mixin readme descriptions
2023-12-13 10:05:41 +01:00
c89ee6f120 contrib: add missing lock and mixin readme descriptions
Signed-off-by: redwrasse <mail@redwrasse.io>
2023-12-12 23:48:07 -08:00
8a7596304a testutils: return early instead of first breaking in LogObserver.ExpectFunc
Signed-off-by: redwrasse <mail@redwrasse.io>
2023-12-12 22:24:00 -08:00
16d1ef949c replace the deprecated x509.ParseCRL with x509.ParseRevocationList
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-12-12 14:47:49 -08:00
d298130eb0 Merge pull request #17104 from jmhbnz/update-depdenencies
[2023-12-13] Bump dependencies identified by dependabot
2023-12-12 20:26:15 +00:00
ef0a2903ce depdendency: bump github.com/prometheus/client_model from 0.4.1-0.20230718164431-9a2bf3000d16 to 0.5.0.
Signed-off-by: James Blair <mail@jamesblair.net>
2023-12-13 08:40:24 +13:00
ab19cb3115 update amd infra-guide docs
Signed-off-by: Mofi Rahman <mofi@google.com>
2023-12-12 15:30:10 +00:00
dc76bf4af2 Add actuated badge
Signed-off-by: Benjamin Wang <benjamin.ahrtr@gmail.com>
2023-12-12 15:23:54 +00:00
e3324dd128 Merge pull request #17079 from ZhouJianMS/member-replace
Add member replace e2e test
2023-12-12 10:13:11 +00:00
c230928240 Merge pull request #17089 from fykaa/main
Adjusted RAM Requirements for arm64 Workflows
2023-12-12 10:08:25 +00:00
1bfed3a0b6 Merge pull request #17091 from etcd-io/dependabot/github_actions/github/codeql-action-2.22.9
build(deps): bump github/codeql-action from 2.22.8 to 2.22.9
2023-12-12 09:42:17 +00:00
0e8b9b2ef2 Adjusted RAM Requirements for arm64 Workflows
Signed-off-by: fykaa <faeka6@gmail.com>
2023-12-12 14:25:42 +05:30
54822c47e9 member replace e2e test
Signed-off-by: ZhouJianMS <zhoujian@microsoft.com>
2023-12-12 15:22:22 +08:00
f0d85826c9 Merge pull request #17090 from etcd-io/dependabot/github_actions/actions/setup-go-5.0.0
build(deps): bump actions/setup-go from 4.1.0 to 5.0.0
2023-12-11 19:45:08 +00:00
9ffd2d51f3 Merge pull request #17088 from ahrtr/gofail_20231211
Install gofail in module-aware mode and ignore go.mod file
2023-12-11 19:10:50 +00:00
fe61388dcf tuned memory allocation for arm64 workflows of e2e and tests-template yaml file
Signed-off-by: fykaa <faeka6@gmail.com>
2023-12-11 23:20:32 +05:30
1ca46b56ae build(deps): bump github/codeql-action from 2.22.8 to 2.22.9
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2.22.8 to 2.22.9.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](407ffafae6...c0d1daa7f7)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-11 17:06:08 +00:00
365a3cc7d1 build(deps): bump actions/setup-go from 4.1.0 to 5.0.0
Bumps [actions/setup-go](https://github.com/actions/setup-go) from 4.1.0 to 5.0.0.
- [Release notes](https://github.com/actions/setup-go/releases)
- [Commits](93397bea11...0c52d547c9)

---
updated-dependencies:
- dependency-name: actions/setup-go
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-11 17:06:02 +00:00
a49a867960 Merge pull request #17086 from jmhbnz/roadmap-progress
Add status column for current release priorities
2023-12-11 13:15:47 +00:00
3ab54f720f install gofail in module-aware mode and ignore go.mod file
Signed-off-by: Benjamin Wang <benjamin.ahrtr@gmail.com>
2023-12-11 12:37:05 +00:00
c5a3479b62 Merge pull request #17047 from iiamabby/protoc-install
Adding automated install of Protoc if not found on the system
2023-12-11 12:31:02 +00:00
7775f840d8 Merge pull request #17080 from jonasrdl/update-changelog-go-bump
Update release-3.4 and 3.5 Changelog for go bump to 1.20.12
2023-12-11 12:29:46 +01:00
ec07ff8fd7 Add status column for current release priorities.
Signed-off-by: James Blair <mail@jamesblair.net>
2023-12-10 21:56:01 +13:00
=
580ace4d17 Automating install of protoc
Signed-off-by: = <abby.crimlis@outlook.com>
2023-12-10 19:42:30 +13:00
3e899d42c4 Add missing release date to v3.5.11 changelog
Signed-off-by: Jonas Riedel <jonasriedel@pm.me>
2023-12-08 09:29:54 +01:00
cbcf76408d etcd: Update changelog for go bump
Signed-off-by: Jonas Riedel <jonasriedel@pm.me>
2023-12-07 22:52:10 +01:00
902436eee5 Merge pull request #17078 from overvenus/ignore-message-mismatch
server: ignore raft messages if member id mismatch
2023-12-07 16:50:08 +01:00
9f82390ae9 server: refine TestProcessIgnoreMismatchMessage
Signed-off-by: Neil Shen <overvenus@gmail.com>
2023-12-07 20:32:43 +08:00
fb769c4306 server: ignore raft messages if member id mismatch
Ignore Raft messages when the `To` field mismatches the local member ID.
In cases where incorrect Raft messages are dispatched, potentially due
to a malfunctioning switch, this proactive check prevents panics,
such as "tocommit is out of range".

Signed-off-by: Neil Shen <overvenus@gmail.com>
2023-12-07 11:57:45 +08:00
7851295966 Merge pull request #17073 from jonasrdl/update-to-go-1.21.5
Update go version to 1.21.5
2023-12-06 19:12:23 +00:00
b0b15e5ac7 Merge pull request #17072 from sharathsivakumar/shsi/bump_deps_9
Bump dependencies manually
2023-12-06 18:56:40 +00:00
5cd288771c etcd: Update go version to 1.21.5
Signed-off-by: Jonas Riedel <jonasriedel@pm.me>

Signed-off-by: Jonas Riedel <jonasriedel@pm.me>

Signed-off-by: Jonas Riedel <jonasriedel@pm.me>
2023-12-06 19:25:33 +01:00
be31dd00a5 dependency: bump github.com/prometheus/client_golang from 1.13.0 to 1.17.0
Signed-off-by: Sharath Sivakumar <mailssr9@gmail.com>
2023-12-06 13:54:12 +01:00
c14a582969 dependency: github.com/mikefarah/yq/v4 from 4.35.2 to 4.40.4
Signed-off-by: Sharath Sivakumar <mailssr9@gmail.com>
2023-12-06 13:48:42 +01:00
235ec793fd dependency: bump golang.org/x/net from 0.18.0 to 0.19.0
Signed-off-by: Sharath Sivakumar <mailssr9@gmail.com>
2023-12-06 13:44:54 +01:00
4ece5561d4 Merge pull request #17058 from ahrtr/rollback_lease_lock_20231204
Rollback the pull/14080: which fixed the potential deadlock
2023-12-05 11:44:40 +00:00
9a6eeb5f7e Rollback the pull/14080: which fixed the potential deadlock
Signed-off-by: Benjamin Wang <benjamin.ahrtr@gmail.com>
2023-12-05 10:51:38 +00:00
d8f077151d Merge pull request #17066 from ivanvc/disable-forwarding-redirects-for-peer-http-connection
server: disable redirects in peer communication
2023-12-05 09:58:41 +00:00
8578e07117 server: disable redirects in peer communication
Disable following redirects from peer HTTP communication on the client's side.
Etcd server may run into SSRF (Server-side request forgery) when adding a new
member. If users provide a malicious peer URL, the existing etcd members may be
redirected to another unexpected internal URL when getting the new member's
version.

Signed-off-by: Ivan Valdes <ivan@vald.es>
2023-12-04 13:53:28 -08:00
b89a45126d Merge pull request #17046 from moficodes/patch-02
add workflow telemetry to collect action metrics
2023-12-04 10:28:00 +00:00
93ab2ef7b2 Merge pull request #17056 from serathius/revert-switch-v3
Revert "Switch to validating v3 when v2 and v3 are synchronized"
2023-12-03 21:38:27 +01:00
21704b85c2 Merge pull request #17055 from serathius/abort-failpoint-failed
Abort if failpoint injecton failed
2023-12-03 18:12:44 +01:00
bc697bc26e Revert "Switch to validating v3 when v2 and v3 are synchronized"
This reverts commit 4fe46f9203.

Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-12-03 18:12:09 +01:00
5175652a8e Abort if failpoint injecton failed
If one of nodes is unhealthy the test would never finish as watchers
would never reach max revision.

Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-12-03 17:26:51 +01:00
9d18fb0c6c Merge pull request #17050 from ahrtr/gofail_client_timeout_20231201
Support setting http client timeout when enable/disable failpoint
2023-12-02 08:33:51 +00:00
f37a4365ee Support setting http client timeout when enable/disable failpoint
Signed-off-by: Benjamin Wang <benjamin.ahrtr@gmail.com>
2023-12-01 14:26:15 +00:00
db4e95cb1f Merge pull request #17044 from vivekpatani/dependabot-fix
*: dependabot dependency fix
2023-11-30 20:24:31 +00:00
fe43753d45 add workflow telemetry to collect action metrics
part of #17045

Signed-off-by: Mofi Rahman <mofi@google.com>
2023-11-30 19:42:22 +00:00
d616195189 etcdctl,etcdutl,server,tests: bump golang.org/x/time to v0.5.0
- https://github.com/etcd-io/etcd/pull/17031

Signed-off-by: vivekpatani <9080894+vivekpatani@users.noreply.github.com>
2023-11-30 10:14:56 -08:00
b205f1403b etcdutl,server,tests,tools: bump golang.org/x/crypto to v0.16.0
- https://github.com/etcd-io/etcd/pull/17030

Signed-off-by: vivekpatani <9080894+vivekpatani@users.noreply.github.com>
2023-11-30 10:14:27 -08:00
2afd2ddee5 *: bump golang.org/x/sys to 0.15.0
- https://github.com/etcd-io/etcd/pull/17029

Signed-off-by: vivekpatani <9080894+vivekpatani@users.noreply.github.com>
2023-11-30 10:13:29 -08:00
f0708d350e Merge pull request #17028 from etcd-io/dependabot/github_actions/github/codeql-action-2.22.8
build(deps): bump github/codeql-action from 2.22.7 to 2.22.8
2023-11-30 09:30:32 +00:00
76e7a84c02 Merge pull request #17040 from thomasmey/patch-1
Fix message in case of unsupported platform
2023-11-30 09:14:06 +01:00
b5b0b8dbd4 Fix message in case of unsupported platform
Signed-off-by: Thomas Meyer <thomas@m3y3r.de>
2023-11-28 13:36:33 +01:00
bf347243db Merge pull request #17027 from sharathsivakumar/main
changelog: Update changelog for 3.5.11 to include url redirect fix
2023-11-28 09:36:38 +01:00
4c853774e6 Rename the test and update comments
Signed-off-by: Jin Dong <greenmoon55@gmail.com>
2023-11-28 02:32:50 +00:00
f2d718e641 Merge branch 'etcd-io:main' into greenmoon55-patch-1 2023-11-27 21:14:59 -05:00
443af2497d changelog: Update changelog for 3.5.11 to include url redirect fix
Signed-off-by: Sharath Sivakumar <mailssr9@gmail.com>
2023-11-27 20:00:46 +01:00
03d551243b Merge pull request #17015 from serathius/extract-membership-applier
Extract membership applier
2023-11-27 19:59:21 +01:00
b687d76abd build(deps): bump github/codeql-action from 2.22.7 to 2.22.8
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2.22.7 to 2.22.8.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](66b90a5db1...407ffafae6)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-27 17:12:50 +00:00
62b772c321 Merge pull request #17021 from serathius/test-applyconfstate
Test ApplyConfState after restart
2023-11-27 13:19:50 +01:00
e0b18a5ade Merge pull request #17026 from serathius/test-v3-storage-configuration-validation
Test v3 storage configuration validation
2023-11-27 12:58:40 +01:00
fbdf65f101 Test v3 storage configuration validation
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-11-27 12:00:47 +01:00
e1d79097d5 Merge pull request #17017 from serathius/switch-validation-v3
Switch to validating v3 when v2 and v3 are synchronized
2023-11-27 10:50:14 +00:00
054b67780b Merge pull request #17023 from jmhbnz/changelog-tracing-update
CHANGELOG: Add 3.5.11 note for --experimental-distributed-tracing-sampling-rate
2023-11-27 09:36:29 +01:00
c3c029d057 CHANGELOG: Add 3.5.11 note for --experimental-distributed-tracing-sampling-rate.
Signed-off-by: James Blair <mail@jamesblair.net>
2023-11-27 09:15:42 +13:00
e192a05193 Test ApplyConfState after restart
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-11-26 17:40:28 +01:00
7fb6b756a5 Merge pull request #17020 from ahrtr/cleanup_20231125
Remove unused method and function
2023-11-25 20:30:44 +01:00
ce0a737ab1 Merge pull request #17018 from moficodes/patch-01
add initialization for epMu in contetx client
2023-11-25 20:16:38 +01:00
a97052acf4 remove unused method and functions
Signed-off-by: Benjamin Wang <benjamin.ahrtr@gmail.com>
2023-11-25 16:16:52 +00:00
e6595825ae Merge pull request #17014 from serathius/test-membership-bootstrap
Add a simple test ensuring membership is properly bootstrapped
2023-11-25 15:23:33 +00:00
52a9b9d96c add initialization for epMu in contetx client
fixes #17001

Signed-off-by: Mofi Rahman <mofi@google.com>
2023-11-24 20:57:40 +00:00
4fe46f9203 Switch to validating v3 when v2 and v3 are synchronized
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-11-24 17:46:33 +01:00
2ad21558ac Remove shouldApplyV3 from the v3 applier
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-11-24 16:13:25 +01:00
d22c00ccee Extract membership applier
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-11-24 15:57:15 +01:00
a968c1f5b3 Add a simple test ensuring membership is properly bootstrapped
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-11-24 12:21:59 +01:00
6db5e00103 Merge pull request #17013 from serathius/deduplicate-shouldApplyV3
Move duplicated shouldApplyV3 logic up into apply method
2023-11-24 11:49:21 +01:00
c975f24202 Merge pull request #16950 from mingli103/e2e-test-arm64
etcd-e2d-test:rename e2e-arm64 file and runs it on every pull request…
2023-11-24 09:54:25 +00:00
7fdb33065d Move duplicated shouldApplyV3 logic up into apply method
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-11-24 10:21:14 +01:00
82fe457b29 Merge pull request #16920 from shaoqin2/shlu/contribfest
clientv3test: add comments for clientv3test
2023-11-23 20:33:28 +00:00
904c0769e9 Merge pull request #16998 from ahrtr/3.4.28_changelog
Update changelog for 3.4.28
2023-11-23 19:05:53 +00:00
b3d351185c Update changelog for 3.4.28
Signed-off-by: Benjamin Wang <benjamin.ahrtr@gmail.com>
2023-11-23 17:27:25 +00:00
5426f6d264 Merge pull request #17007 from serathius/remove-v2-applier
Remove v2 applier
2023-11-23 16:30:23 +01:00
093666f450 Cleanup v2 applier
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-11-23 15:41:13 +01:00
b17c1de30c Merge pull request #17006 from serathius/remove-v2-sync
Remove v2 sync
2023-11-23 15:40:18 +01:00
c72ff1e69c Remove syncing the v2 store TTLs
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-11-23 14:55:01 +01:00
f04478f41e Merge pull request #16989 from serathius/remove-v2-apply-logic
Remove v2 apply logic
2023-11-23 14:54:31 +01:00
ed3375e076 Remove v2 apply logic
v2 store is no longer available in v3.6.
We can remove apply logic for it as they will never be used.

Only v2 PUT is neeeded as it applies to v3 storage and etcd v3.5 uses it for setting member
attributes and cluster version.

Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-11-23 14:13:07 +01:00
ccd711ae13 Merge pull request #17005 from borg-land/fix-missing-json-flag
fix missing json flag when using VERBOSE=1
2023-11-23 14:11:51 +01:00
f454342bfe fix missing json flag when using VERBOSE=1
Signed-off-by: upodroid <upodroid@users.noreply.github.com>
2023-11-23 12:33:29 +00:00
9d97cc203e Merge pull request #16991 from serathius/refactor-v2-deprecation-tests
Refactor v2 deprecation tests to allow different cluster config
2023-11-22 22:18:22 +01:00
28d9564962 Merge pull request #16994 from serathius/tests-v2-cluster-version
Add tests for setting cluster version using v2 request
2023-11-22 21:11:18 +01:00
2f30760b37 Add tests for setting cluster version using v2 request
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-11-22 18:05:19 +01:00
21311698aa Merge pull request #16993 from serathius/stop-v2-requests-tests
Stop using v2 requests in server tests
2023-11-22 17:59:10 +01:00
29dd025b84 Stop using v2 requests in server tests
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-11-22 14:41:53 +01:00
cac2882df8 Refactor v2 deprecation tests to allow different cluster config
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-11-22 14:36:38 +01:00
fd0882b67e Merge pull request #16984 from siyuanfoundation/lin-read
etcdserver: add linearizable_read check to readyz.
2023-11-21 19:51:12 +00:00
12b640523a etcdserver: add linearizable_read check to readyz.
Signed-off-by: Siyuan Zhang <sizhang@google.com>
2023-11-21 11:13:20 -08:00
16e441671a Merge pull request #16909 from Icemap/feat-add-wasm-for-transport
client: add wasm for client transport
2023-11-21 17:19:38 +00:00
f64689f4e2 Update copyright header in sockopt_wasm.go
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-11-21 16:27:22 +00:00
5a99305004 Merge pull request #16983 from etcd-io/dependabot/github_actions/github/codeql-action-2.22.7
build(deps): bump github/codeql-action from 2.22.5 to 2.22.7
2023-11-21 15:37:07 +00:00
ec6147cd04 Merge pull request #16967 from serathius/remove-v2-proposals
Remove v2 proposals code
2023-11-21 15:35:51 +00:00
a4426b4d74 Merge pull request #16982 from etcd-io/dependabot/github_actions/actions/github-script-7.0.1
build(deps): bump actions/github-script from 6.4.1 to 7.0.1
2023-11-21 15:09:17 +00:00
bccd56ae48 Merge pull request #16985 from jmhbnz/update-dependencies
[2023-11-21] Bump dependencies identified by dependabot
2023-11-21 15:06:57 +00:00
7c0a09b81e Merge pull request #16986 from jmhbnz/prevent-member-add-ssrf
Disable following redirects when checking peer urls
2023-11-21 10:07:48 +00:00
3a9a7483b7 depdendency: bump go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc from 0.46.0 to 0.46.1.
Signed-off-by: James Blair <mail@jamesblair.net>
2023-11-21 20:03:48 +13:00
3b37afec7b Don't follow redirects when checking peer urls.
It's possible that etcd server may run into SSRF situation when adding a new member. If users provide a malicious peer URL, the existing etcd members may be redirected to other unexpected internal URL when getting the new member's version.

Signed-off-by: James Blair <mail@jamesblair.net>
2023-11-21 10:25:20 +13:00
08aabfea02 depdendency: bump go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc from 1.20.0 to 1.21.0.
Signed-off-by: James Blair <mail@jamesblair.net>
2023-11-21 10:06:15 +13:00
5449f0fb99 depdendency: bump go.opentelemetry.io/otel/sdk from 1.20.0 to 1.21.0.
Signed-off-by: James Blair <mail@jamesblair.net>
2023-11-21 10:04:28 +13:00
3836324e8c build(deps): bump github/codeql-action from 2.22.5 to 2.22.7
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2.22.5 to 2.22.7.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](74483a38d3...66b90a5db1)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-20 18:01:27 +00:00
c041272d26 build(deps): bump actions/github-script from 6.4.1 to 7.0.1
Bumps [actions/github-script](https://github.com/actions/github-script) from 6.4.1 to 7.0.1.
- [Release notes](https://github.com/actions/github-script/releases)
- [Commits](d7906e4ad0...60a0d83039)

---
updated-dependencies:
- dependency-name: actions/github-script
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-20 18:01:19 +00:00
dd7a4d28a8 Remove code used to make v2 proposals
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-11-19 22:39:33 +01:00
a9cf27b169 Merge pull request #16968 from sharathsivakumar/shsi/fix-slack-links
readme: fix slack link for sig-etcd
2023-11-19 22:09:19 +01:00
958a2b8e3c readme: fix slack link for sig-etcd
Signed-off-by: Sharath Sivakumar <mailssr9@gmail.com>
2023-11-19 20:08:00 +01:00
b4fd31f254 Remove code for setting cluster version via V2 API
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-11-19 15:28:52 +01:00
94b9993184 Merge pull request #16965 from ivanvc/enable-github-workflow-approval-via-ok-to-test-label
github workflow: enable workflow approval
2023-11-19 10:30:46 +01:00
8b3efbc597 Remove nightly workflow
Signed-off-by: Ming Li <mli103hawk@gmail.com>
2023-11-18 10:36:13 -06:00
51eb29af36 etcd-e2d-test:rename e2e-arm64 file and runs it on every pull request #16912
KubeconNA 2023 Contribfest issue #16893 . Recently in #16801 we introduced on demand github actions runners for the arm64 platform. Having on demand runner infrastructure in place means we should now have enough capacity to begin running arm64 tests for every pull request. Currently we have:
.github/workflows/e2e-arm64-template.yaml - Shared template
.github/workflows/e2e-arm64-nightly.yaml - Runs template against both
release-3.5 and main branches nightly. Moving forward we can just rename
.github/workflows/e2e-arm64-template.yaml to
.github/workflows/e2e-arm64.yaml and delete the other file. We can then
just make the template file a standard workflow that will run on pull
request.

Signed-off-by: Ming Li <mli103hawk@gmail.com>
2023-11-18 10:36:13 -06:00
2a463b5812 github workflow: enable workflow approval
Allow to run GitHub workflows for Pull Requests that have the ok-to-test
label.

Signed-off-by: Ivan Valdes <ivan@vald.es>
2023-11-17 15:17:19 -08:00
1bade2c347 Merge pull request #16943 from arjunmalhotra1/main
Update 3.4 & 3.5 changelog.
2023-11-16 15:44:47 +00:00
88e2043923 Update 3.4 & 3.5 changelog.
Signed-off-by: arjunmalhotra1 <am2cj@virginia.edu>
2023-11-16 09:07:47 -06:00
e541a6d672 Merge pull request #16954 from ahrtr/golangci_version_20231116
Get golangci-lint't version from `tools/mod` for `golangci/golangci-lint-action`
2023-11-16 14:49:38 +00:00
033c3f3d94 get golangci-lint's version from tools/mod for the Makefile target install-golangci-lint
Signed-off-by: Benjamin Wang <benjamin.ahrtr@gmail.com>
2023-11-16 14:12:58 +00:00
c30d5c3f44 get golangci-lint't version from tools/mod for golangci/golangci-lint-action
Signed-off-by: Benjamin Wang <benjamin.ahrtr@gmail.com>
2023-11-16 13:45:31 +00:00
c1d079b05e define golangci-lint's version in tools/mod
Signed-off-by: Benjamin Wang <benjamin.ahrtr@gmail.com>
2023-11-16 13:45:31 +00:00
5ec2598d30 Merge pull request #16949 from etsrpl/fix-golangci-lint-missing
tests: fix failed prow test by adding golangci-lint to Makefile
2023-11-16 13:44:56 +00:00
8a09853268 Merge pull request #16953 from sharathsivakumar/main
changelog: Update fix for CVE-2023-47108
2023-11-16 14:13:49 +01:00
f415c886c4 Merge pull request #16952 from sharathsivakumar/shsi/deps_9
Manually bump dependencies raised by dependabot
2023-11-16 13:18:08 +01:00
9ee086c682 changelog: Update fix for CVE-2023-47108
Signed-off-by: Sharath Sivakumar <mailssr9@gmail.com>

Co-authored-by: Benjamin Wang <wachao@vmware.com>
2023-11-16 12:38:16 +01:00
232b25e313 dependency: bump github.com/alexfalkowski/gocovmerge from 1.2.2 to 1.2.3
Signed-off-by: Sharath Sivakumar <mailssr9@gmail.com>
2023-11-16 11:11:36 +01:00
33b526f58d dependency: bump golang.org/x/net from 0.17.0 to 0.18.0
Signed-off-by: Sharath Sivakumar <mailssr9@gmail.com>
2023-11-16 11:03:00 +01:00
4907fedbc3 dependency: bump golang.org/x/crypto from 0.14.0 to 0.15.0
Signed-off-by: Sharath Sivakumar <mailssr9@gmail.com>
2023-11-16 10:50:17 +01:00
7586098f78 dependency: bump github.com/grpc-ecosystem/grpc-gateway/v2 from 2.18.0 to 2.18.1
Signed-off-by: Sharath Sivakumar <mailssr9@gmail.com>
2023-11-16 10:44:50 +01:00
0c76f50dbc Merge pull request #16944 from serathius/refactor-mock-rand
Refactor mocking rand
2023-11-16 09:28:34 +01:00
4ec3cf8cfa tests: fix failed prow test by adding golangci-lint to Makefile
Missing binary, fixes golangci-lint command not found on prow jobs

Signed-off-by: Etienne Simard <esimard@ripple.com>
2023-11-15 14:22:58 -06:00
089165deec clientv3test: add comments for clientv3test
Signed-off-by: shaoqin2 <21689677+shaoqin2@users.noreply.github.com>
2023-11-15 08:25:39 -05:00
d0114cf4c0 Merge pull request #16797 from siyuanfoundation/metrics
etcdserver: add metric counters for livez/readyz health checks.
2023-11-15 10:52:17 +00:00
b71686d1e6 Refactor mocking rand
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-11-15 10:26:39 +01:00
6df2a0cd97 Merge pull request #16914 from siyuanfoundation/rand2
robustness test: add with functions of randomizable config params in robustness test
2023-11-15 10:24:34 +01:00
834fac9fb2 robustness test: add with functions of randomizable config params in robustness test
Signed-off-by: Siyuan Zhang <sizhang@google.com>
2023-11-15 02:08:07 +00:00
3897103b77 etcdserver: add metric counters for livez/readyz health checks.
Signed-off-by: Siyuan Zhang <sizhang@google.com>
2023-11-14 09:26:00 -08:00
b343231b12 Merge pull request #16930 from sharathsivakumar/shsi/bump_deps_8
dependency: bump go.opentelemetry.io/contrib/instrumentation/google.g…
2023-11-13 12:00:32 +00:00
acd5724689 dependency: bump go get go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc from 1.19.0 to 1.20.0
Signed-off-by: Sharath Sivakumar <mailssr9@gmail.com>
2023-11-13 12:18:48 +01:00
30ed399835 Merge pull request #16929 from ZhouJianMS/fix-sleep-failpoint
Exclude sleep failpoint from 1 node scenario
2023-11-13 12:18:47 +01:00
8066e8116b dependency: bump go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc from 0.45.0 to 0.46.0
Signed-off-by: Sharath Sivakumar <mailssr9@gmail.com>
2023-11-13 11:53:02 +01:00
55516234d3 exclude sleep failpoint from 1 node scenario
Signed-off-by: ZhouJianMS <zhoujian@microsoft.com>
2023-11-13 16:19:44 +08:00
4d8eefb7e9 Merge pull request #16913 from ivanvc/run-arm64-test-for-every-push-and-pr
github workflow: run arm64 tests on every push
2023-11-11 15:14:35 +00:00
1e81543546 Merge pull request #16918 from serathius/robustness-timeout
Increase client timeout for failpoint injection
2023-11-11 12:15:32 +01:00
13d7bf5ab7 Increase client timeout for failpoint injection
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-11-11 11:53:41 +01:00
c48738e33f fix: add js platform
Signed-off-by: Icemap <qizhi.wang@pingcap.com>

Signed-off-by: Icemap <qizhi.wang@pingcap.com>
2023-11-11 10:18:34 +08:00
1cecf35b24 feat: add wasm for client transport
Signed-off-by: Icemap <qizhi.wang@pingcap.com>
2023-11-11 10:18:34 +08:00
c3641d34b8 github workflow: run arm64 tests on every push
Use a template to consolidate arm64 and amd64 test workflows. Enable
running armd64 tests on every push and pull request.

Signed-off-by: Ivan Valdes <ivan@vald.es>
2023-11-10 16:06:16 -08:00
e300c6f0e3 Merge pull request #16907 from ahrtr/typo_20231110
Fix typo in concurrent examples
2023-11-10 20:16:43 +00:00
1a65313a73 fix typo in concurrent examples
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-11-10 14:41:21 +00:00
c0bb57a3d4 Merge pull request #16903 from moficodes/main
github workflow: update golangci-lint to 1.55.2
2023-11-10 10:27:42 +00:00
3f17ba474a Merge pull request #16906 from moficodes/docs
doc fix: add instruction to installling protoc and yamllint in contributing.md
2023-11-10 09:38:48 +00:00
569cf2d2b9 doc fix: add instruction for installing protoc and yamllint in contributing.md
Signed-off-by: Mofi Rahman <mofi@google.com>
2023-11-10 05:54:33 +00:00
97e45364a0 Merge branch 'etcd-io:main' into main 2023-11-09 16:21:20 -06:00
11ede03b3f Merge pull request #16896 from vivekpatani/main
*: bump dependabot dependency
2023-11-09 18:11:13 +00:00
8da89177a9 etcdctl,etcdutl,pkg,server,tests,tools: bump github.com/spf13/cobra from 1.7.0 to 1.8.0
- https://github.com/etcd-io/etcd/pull/16878/

Signed-off-by: vivekpatani <9080894+vivekpatani@users.noreply.github.com>
2023-11-09 11:02:36 -06:00
ed30fb1226 *: bump golang.org/x/sys from 0.13.0 to 0.14.0
- https://github.com/etcd-io/etcd/pull/16875

Signed-off-by: vivekpatani <9080894+vivekpatani@users.noreply.github.com>
2023-11-09 11:02:36 -06:00
a4593c8d24 tools/mod: bump github.com/fatih/color from 1.15.0 to 1.16.0
- https://github.com/etcd-io/etcd/pull/16873

Signed-off-by: vivekpatani <9080894+vivekpatani@users.noreply.github.com>
2023-11-09 11:02:36 -06:00
20e14e064e tools/mod: bump golang.org/x/text from 0.13.0 to 0.14.0
- https://github.com/etcd-io/etcd/pull/16872/

Signed-off-by: vivekpatani <9080894+vivekpatani@users.noreply.github.com>
2023-11-09 11:02:36 -06:00
68e06bdf70 tools/mod: bump github.com/elliotchance/orderedmap from 1.5.0 to 1.5.1
- https://github.com/etcd-io/etcd/pull/16871/

Signed-off-by: vivekpatani <9080894+vivekpatani@users.noreply.github.com>
2023-11-09 11:02:36 -06:00
afb36b9468 tools/mod: bump golang.org/x/mod from 0.13.0 to 0.14.0
- https://github.com/etcd-io/etcd/pull/16870/

Signed-off-by: vivekpatani <9080894+vivekpatani@users.noreply.github.com>
2023-11-09 11:02:36 -06:00
ef8a087793 github workflow: update golangci-lint to 1.55.2
fixes: #16897
update golangci-lint version to the latest to keep the codebase linting up to date

Signed-off-by: Mofi Rahman <mofi@google.com>
2023-11-09 10:29:49 -06:00
6e30d9ed7d Merge pull request #16889 from tessapham/fix-scripts
fix test script and lint
2023-11-09 15:32:22 +01:00
38cc9f231b Merge pull request #16794 from jmhbnz/complete-ownersfile-migration
Complete migration to OWNERS file
2023-11-09 15:29:59 +01:00
91f5f4abc5 Merge pull request #16892 from mjlshen/website-745
Update README to callout the issue triage meeting
2023-11-09 15:28:22 +01:00
1f3652e236 Merge pull request #16895 from arjunmalhotra1/main
etcd: upgrade go version from 1.21.3 to 1.21.4
2023-11-09 14:20:43 +00:00
6ddca657a9 etcd: upgrade go version from 1.21.3 to 1.21.4
To keep etcd projects up to date with the latest patch releases &
incorporate the latest security updates.

Signed-off-by: Arjun Malhotra <am2cj@virginia.edu>
2023-11-09 00:18:48 -06:00
ecfee78c45 Update README to callout the issue triage meeting
Signed-off-by: Michael Shen <mishen@umich.edu>
2023-11-08 10:34:31 -05:00
2b7e1c6f82 fix scripts
Signed-off-by: Tessa Pham <hpham111@bloomberg.net>
2023-11-08 00:27:13 -06:00
00ce0116c5 tests: add comments for clientv3test.TestWatchResumeInitRev
Signed-off-by: Jin Dong <greenmoon55@gmail.com>
2023-11-08 00:04:48 -06:00
649b365937 Merge pull request #16883 from mjlshen/16760
scripts: macOS support for scripts/genproto.sh
2023-11-08 01:56:45 +01:00
e526bddab1 Merge pull request #16884 from etsrpl/main
etcd-io tests: trial arm64 on every pr with a small robustness workflow
2023-11-08 01:47:19 +01:00
3381a4c2d8 Merge pull request #16885 from spawulski/main
README.md: Add documentation for new snapshot restore flags
2023-11-08 01:46:05 +01:00
3bf21cdb3a Merge pull request #16886 from tessapham/bom
update dependency in BOM check
2023-11-08 01:45:17 +01:00
c4499adfd5 replace archived repo in BOM check
Signed-off-by: Tessa Pham <hpham111@bloomberg.net>
2023-11-07 17:41:11 -06:00
20218117e2 README.md: Add documentation for new snapshot restore flags
the bump-revision and mark-compated flags were added to `snapshot restore` and required documentation.

Signed off by Stephen Pawulski spawulski@gmail.com

Signed-off-by: spawulski <spawulski@lotlinx.com>
2023-11-07 17:32:25 -06:00
904e5581db etcd-io tests: trial arm64 on every pr with a small robustness workflow
Trial running a small robustness workflow for arm64 on every pull request
KubeconNA 2023 Contribfest issue #16863

Signed-off-by: Etienne Simard <esimard@ripple.com>
2023-11-07 17:01:28 -06:00
27272c3ed0 scripts: macOS support for scripts/genproto.sh
This commit will allow scripts/genproto.sh to fall back to gsed if
available, which is required for the script to work on macOS.

Signed-off-by: Michael Shen <mishen@umich.edu>
2023-11-07 18:00:36 -05:00
7e00a1e42b Merge pull request #16882 from vivekpatani/main
etcdctl,etcdutl,server,tests: update golang.org/x/time to v0.4.0
2023-11-07 17:45:45 +00:00
d2ada92830 etcdctl,etcdutl,server,tests: update golang.org/x/time to v0.4.0
- https://github.com/etcd-io/etcd/pull/16880

Signed-off-by: vivekpatani <9080894+vivekpatani@users.noreply.github.com>
2023-11-07 11:01:51 -06:00
02794b00eb Merge pull request #16864 from vivekpatani/main
clientv3,server,tests: bump dependencies identified by dependabot
2023-11-05 17:47:10 +00:00
8264b4e9ae clientv3,server,tests: bump dependencies identified by dependabot
Signed-off-by: vivekpatani <9080894+vivekpatani@users.noreply.github.com>
2023-11-05 09:27:37 -06:00
d38f7dceb2 Merge pull request #16787 from evanj/evan.jones/rm-unsetenv
osutil: remove unused Unsetenv function
2023-11-04 12:36:44 +00:00
aa67cbe6aa Complete migration to OWNERS file.
Signed-off-by: James Blair <mail@jamesblair.net>
2023-11-05 00:02:45 +13:00
d8284a1a2a Merge pull request #16859 from ZhouJianMS/zhoujian/raft-io-stall
Add robustness failpoint for IO stall in raft loop
2023-11-03 13:57:18 +01:00
d208985aec error handling for gofailpoint
Signed-off-by: ZhouJianMS <zhoujian@microsoft.com>
2023-11-03 19:25:17 +08:00
827dc18682 Add IO stall failpoint in raft loop
Signed-off-by: ZhouJianMS <zhoujian@microsoft.com>
2023-11-03 16:42:33 +08:00
19bf472b9e Merge pull request #16854 from etcd-io/dependabot/github_actions/github/codeql-action-2.22.5
build(deps): bump github/codeql-action from 2.22.4 to 2.22.5
2023-10-30 19:27:57 +00:00
aa4727c493 Merge pull request #16855 from etcd-io/dependabot/github_actions/ossf/scorecard-action-2.3.1
build(deps): bump ossf/scorecard-action from 2.3.0 to 2.3.1
2023-10-30 18:56:25 +00:00
6343516b44 build(deps): bump ossf/scorecard-action from 2.3.0 to 2.3.1
Bumps [ossf/scorecard-action](https://github.com/ossf/scorecard-action) from 2.3.0 to 2.3.1.
- [Release notes](https://github.com/ossf/scorecard-action/releases)
- [Changelog](https://github.com/ossf/scorecard-action/blob/main/RELEASE.md)
- [Commits](483ef80eb9...0864cf1902)

---
updated-dependencies:
- dependency-name: ossf/scorecard-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-30 17:37:52 +00:00
ac5be8ef8a build(deps): bump github/codeql-action from 2.22.4 to 2.22.5
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2.22.4 to 2.22.5.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](49abf0ba24...74483a38d3)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-30 17:37:48 +00:00
5cc9f7f771 Merge pull request #16835 from chaochn47/e2e-livez-readyz
add livez readyz e2e tests
2023-10-29 15:54:57 +00:00
4701a71f00 Merge pull request #16836 from chaochn47/defrag_follow_up
v3rpc: online defrag toggles gRPC health server serving status
2023-10-29 15:32:36 +00:00
42d9e43e5f tests/e2e: enhance livez readyz e2e tests
Signed-off-by: Chao Chen <chaochn@amazon.com>
2023-10-28 18:00:14 -07:00
e8ae83fac4 Add e2e tests for livez readyz
Signed-off-by: Chao Chen <chaochn@amazon.com>
2023-10-28 17:57:12 -07:00
8a6c1335e2 v3rpc: run health notifier to listen on online defrag state change
Signed-off-by: Chao Chen <chaochn@amazon.com>
2023-10-28 17:49:24 -07:00
5fad87c2ab Merge pull request #16840 from serathius/date-v3.5.10
Update date of v3.5.10 release
2023-10-27 13:53:35 +01:00
6b9fb706d9 Update date of v3.5.10 release
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-10-27 13:41:59 +02:00
a4f507c30a Merge pull request #16832 from ahrtr/3.6_bump_bbolt_1.3.8_20231026
Bump bbolt to 1.3.8 for main branch
2023-10-27 09:22:59 +01:00
1101655b9f bump bbolt to 1.3.8 for main branch
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-10-26 16:34:15 +01:00
2dc62757f5 Merge pull request #16824 from jmhbnz/fix-robustness-arm64-runs-on
Fix arm64 robustness and stop running workflows in containers
2023-10-26 10:44:40 +02:00
6dea713f7d Stop running test workflows in containers.
Signed-off-by: James Blair <mail@jamesblair.net>
2023-10-26 20:52:04 +13:00
cd26faf282 Fix runs-on for arm64 robustness.
Signed-off-by: James Blair <mail@jamesblair.net>
2023-10-26 07:21:54 +13:00
4d77fd1efa Merge pull request #16278 from chaochn47/grpc_health_check_poc
gRPC health server sets serving status to NOT_SERVING on defrag
2023-10-25 19:42:40 +02:00
9a5923098b CHANGELOG-3.6.md: add etcd --experimental-stop-grpc-service-on-defrag
Signed-off-by: Chao Chen <chaochn@amazon.com>
2023-10-25 08:59:25 -07:00
913c8258f9 tests: add client failover on defrag test case in e2e
Signed-off-by: Chao Chen <chaochn@amazon.com>
2023-10-25 08:59:07 -07:00
ea035471ce online defrag notifies gRPC health server to expose NOT_SERVING status
Signed-off-by: Chao Chen <chaochn@amazon.com>
2023-10-25 08:58:33 -07:00
5761f9c28f Merge pull request #16825 from jmhbnz/revert-robustness-to-old-runners
Revert runner change for main robustness nightly
2023-10-25 15:24:26 +02:00
b9498fd24e Revert runner change for main robustness nightly.
Until we can resolve issues with fuse for new actuated runner.

Signed-off-by: James Blair <mail@jamesblair.net>
2023-10-26 00:55:43 +13:00
3347568cc0 Merge pull request #16821 from ahrtr/workflow_20231024
Schedule the arm64 related workflow nightly
2023-10-24 20:16:50 +01:00
974679fb34 schedule the arm64 related workflow nightly
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-10-24 19:08:27 +01:00
0f919ccd8c Merge pull request #16801 from alexellis/actuated/managed-arm64
Switch over to managed Arm64 hosts
2023-10-24 18:23:04 +01:00
a83f58019b Enable manual testing of e2e-arm64-nightly job
Adding workflow_dispatch as an "on" trigger enables
manual testing by maintainers, without having to wait for
the nightly cron schedule.

@ahrtr requested this temporary change in order to trigger
the arm64 jobs via CI.

Signed-off-by: Alex Ellis (OpenFaaS Ltd) <alexellis2@gmail.com>
2023-10-24 12:04:52 +01:00
4777126c09 Merge pull request #16810 from ahrtr/bump_raft_20231023
Bump raft to latest commit
2023-10-24 10:56:51 +01:00
34382006db test: implement method ForgetLeader for struct nodeRecorder
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-10-24 10:19:13 +01:00
ae60b5567a bump raft to latest commit
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-10-24 10:17:57 +01:00
b2fff4ee7f Merge pull request #16820 from jmhbnz/weekly-dependency-update
[2023-10-24] Bump dependencies identified by dependabot
2023-10-24 10:04:54 +01:00
d2af596a98 depdendency: bump github.com/prometheus/common from 0.44.0 to 0.45.0.
Signed-off-by: James Blair <mail@jamesblair.net>
2023-10-24 17:44:01 +13:00
e6e740fb80 depdendency: bump google.golang.org/grpc from 1.58.3 to 1.59.0.
Signed-off-by: James Blair <mail@jamesblair.net>
2023-10-24 17:39:39 +13:00
406cb94b6f Merge pull request #16816 from etcd-io/dependabot/github_actions/actions/checkout-4.1.1
build(deps): bump actions/checkout from 4.1.0 to 4.1.1
2023-10-23 19:37:12 +01:00
297973f1f9 build(deps): bump actions/checkout from 4.1.0 to 4.1.1
Bumps [actions/checkout](https://github.com/actions/checkout) from 4.1.0 to 4.1.1.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](8ade135a41...b4ffde65f4)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-23 17:52:59 +00:00
02c7f94887 Merge pull request #16815 from etcd-io/dependabot/github_actions/github/codeql-action-2.22.4
build(deps): bump github/codeql-action from 2.22.3 to 2.22.4
2023-10-23 18:52:09 +01:00
6e9f458a47 build(deps): bump github/codeql-action from 2.22.3 to 2.22.4
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2.22.3 to 2.22.4.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](0116bc2df5...49abf0ba24)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-23 17:16:09 +00:00
286bb0bace Switch over to managed Arm64 hosts
This change switches over from 2x self-managed runners where
side effects are possible between builds, to a pool of servers
where each build runs in an isolated VM.

The service is provided by actuated.dev, and sponsored by
both Ampere and the CNCF.

Signed-off-by: Alex Ellis (OpenFaaS Ltd) <alexellis2@gmail.com>
2023-10-23 18:13:14 +01:00
7f2936dfba Merge pull request #16762 from chaochn47/changelog-grpc-1.47.0
CHANGELOG-3.5.md: Upgrade gRPC to 1.58.3
2023-10-20 19:23:22 +01:00
ee60146141 CHANGELOG-3.5.md: Upgrade gRPC to 1.47.0
Signed-off-by: Chao Chen <chaochn@amazon.com>
2023-10-20 08:30:55 -07:00
44ce4f9280 Merge pull request #16698 from chaochn47/health_check_e2e_test
add existing http health check handler e2e test
2023-10-19 10:41:01 +01:00
45fb4565e3 Merge pull request #16786 from serathius/robustness-drop-packet
Implement random packet dropping
2023-10-19 08:44:23 +02:00
1324f03254 add existing http health check handler e2e test
Signed-off-by: Chao Chen <chaochn@amazon.com>
2023-10-18 12:42:23 -07:00
262a3a1208 Merge pull request #16793 from jmhbnz/main
Direct questions to our discussion forums
2023-10-18 11:15:13 +01:00
d8c410ff82 Merge pull request #16791 from chaochn47/remove-deprecated-gRPC-API
remove deprecated gRPC API usage
2023-10-18 11:13:09 +01:00
aa28a69ce0 Implement random packet dropping
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-10-18 10:14:43 +02:00
11edde9204 Merge pull request #16622 from fuweid/fix-unparam-lint
*: enable and fix unparam lint
2023-10-18 09:21:22 +02:00
ff748640b2 Direct questions to our discussion forums.
Signed-off-by: James Blair <mail@jamesblair.net>
2023-10-18 14:14:34 +13:00
3c6d2e972d remove deprecated gRPC API usage
Signed-off-by: Chao Chen <chaochn@amazon.com>
2023-10-17 15:51:25 -07:00
bbf59a9f26 Merge pull request #16789 from fuweid/cleanup-build-cov
*: cleanup main_test.go
2023-10-17 16:31:52 +01:00
f96000e15d *: cleanup main_test.go
The #15544 has removed the `build_cov` build. And after go1.20, we use
`-cover` buildflag to enable coverage exporter. We don't need to
maintain main_test.go anymore.

```bash
➜  pwd
/home/fuwei/go/src/go.etcd.io/etcd/etcdctl

➜  go build -o /tmp/etcdctl -cover ./

➜  mkdir /tmp/etcdctl-covdata

➜  GOCOVERDIR=/tmp/etcdctl-covdata /tmp/etcdctl get /health

➜  go tool covdata percent -i=/tmp/etcdctl-covdata
        go.etcd.io/etcd/etcdctl/v3      coverage: 66.7% of statements
        go.etcd.io/etcd/etcdctl/v3/ctlv3        coverage: 83.3% of statements
        go.etcd.io/etcd/etcdctl/v3/ctlv3/command        coverage: 15.4% of statements
```

REF: https://go.dev/testing/coverage/

Signed-off-by: Wei Fu <fuweid89@gmail.com>
2023-10-17 21:47:23 +08:00
aea1cd0077 feat: enable unparam lint
Signed-off-by: Wei Fu <fuweid89@gmail.com>
2023-10-17 21:24:13 +08:00
85bd1af331 osutil: remove unused Unsetenv function
The osutil.Unsetenv function is not used. Today, os.Unsetenv exists
in the standard library, and is already used elsewhere in etcd.
Removing this function could break things that may be importing this
package. According to pkg.go.dev, it seems like the only thing is
etcd forks, so it may be worth getting rid of this code. See:

https://pkg.go.dev/github.com/coreos/etcd/pkg/osutil?tab=importedby

Signed-off-by: Evan Jones <ej@evanjones.ca>
2023-10-17 09:07:47 -04:00
be83fffedb Merge pull request #16778 from QuentinBisson/patch-1
Fix cluster variable in mixins
2023-10-17 12:59:31 +01:00
cba514ef0e Merge pull request #16651 from siyuanfoundation/livez-pr
Add livez and readyz for etcd
2023-10-17 13:37:45 +02:00
e51b639520 Merge pull request #16766 from serathius/robustness-member-replace
Add member replace failpoint to robustness tests
2023-10-17 13:36:21 +02:00
5fed813f2e Merge pull request #16767 from serathius/robustness-main-test
Make the main_test the entrypoint and move senario generation to separate file
2023-10-17 13:09:16 +02:00
36a37190f6 Merge pull request #16783 from sharathsivakumar/shsi/bump_deps_7
Bump dependencies manually
2023-10-17 11:07:43 +01:00
b5622a24ba dependency: bump github.com/google/go-cmp from 0.5.9 to 0.6.0
Signed-off-by: Sharath Sivakumar <mailssr9@gmail.com>
2023-10-17 11:24:25 +02:00
3bb27f000c dependency: bump github.com/alexfalkowski/gocovmerge from 1.2.1 to 1.2.2
Signed-off-by: Sharath Sivakumar <mailssr9@gmail.com>
2023-10-17 11:21:29 +02:00
7e8bb15ccb Add member replace failpoint to robustness tests
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-10-17 11:17:49 +02:00
447aa33a96 dependency: bump golang.org/x/sync from 0.3.0 to 0.4.0
Signed-off-by: Sharath Sivakumar <mailssr9@gmail.com>
2023-10-17 11:15:22 +02:00
68e5eb7819 Merge pull request #16777 from serathius/robustness-failpoint
Split failpoints file
2023-10-17 10:54:42 +02:00
0d83a72cf5 Split failpoints file
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-10-17 09:51:43 +02:00
46b42a750e Fix cluster query
Fix mixin cluster parameter otherwise generated mixins looks like this:

```json
{"type":"prometheus","uid":"${datasource}"},"label":"cluster","name":"job","query":"label_values(etcd_server_has_leader{job=~\".*etcd.*\"}, job)","refresh":2,"type":"query"}]},"time":{"from":"now-15m","to":"now"},"timezone": "`}}{{ .Values.grafana.defaultDashboardsTimezone }}{{`","title":"etcd","uid":"c2f4e12cdf69feb95caa41a5a1b423d9"}`}}
```

where name is job when the variable name used in dashboard queries is cluster.

Signed-off-by: QuentinBisson <quentin@giantswarm.io>
2023-10-16 22:42:31 +02:00
452e820516 Make the main_test the entrypoint and move senario generation to separate file
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-10-16 22:10:41 +02:00
252f5a6f4d Merge pull request #16775 from serathius/robustness-failpoint-package
Move failpoints to separate package
2023-10-16 21:53:03 +02:00
d6e376b6c6 Move failpoints to separate package
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-10-16 20:57:31 +02:00
ad1dbceb44 Merge pull request #16774 from etcd-io/dependabot/github_actions/github/codeql-action-2.22.3
build(deps): bump github/codeql-action from 2.22.1 to 2.22.3
2023-10-16 19:47:04 +01:00
ca56844705 build(deps): bump github/codeql-action from 2.22.1 to 2.22.3
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2.22.1 to 2.22.3.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](fdcae64e14...0116bc2df5)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-16 17:57:21 +00:00
569640f278 Merge pull request #16763 from ahrtr/changelog_20231016
Update 3.4 & 3.5 changelog
2023-10-16 10:33:05 +01:00
4791964173 Merge pull request #16757 from serathius/minimal-time
Use the minimal time event was observed on watch
2023-10-16 11:25:30 +02:00
449d61c661 Update 3.4 & 3.5 changelog
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-10-16 09:54:26 +01:00
7a57e06eca etcdserver: add livez and ready http endpoints for etcd.
Add two separate probes, one for liveness and one for readiness. The liveness probe would check that the local individual node is up and running, or else restart the node, while the readiness probe would check that the cluster is ready to serve traffic. This would make etcd health-check fully Kubernetes API complient.

Signed-off-by: Siyuan Zhang <sizhang@google.com>
2023-10-14 22:32:16 -07:00
aea6f0b4c2 Merge pull request #16759 from serathius/robustness-fix-failure
Fix linearization failure not causing test failure
2023-10-13 19:19:02 +02:00
841731bbf0 Fix linearization failure not causing test failure
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-10-13 18:56:22 +02:00
4c7b8dbc94 Use the minimal time event was observed on watch
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-10-13 18:17:29 +02:00
57d9a7eec6 Merge pull request #16756 from serathius/robustness-reorder-validation
Refactor and reorder validation to avoid reporting multiple correlated failures
2023-10-13 18:12:25 +02:00
b02798e946 Refactor and reorder validation to avoid reporting multiple corelated failures
It doesn't make sense to report watch failure if key value operations
are not linearizable.

Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-10-13 14:06:13 +02:00
3eca40d17c Merge pull request #16755 from Juneezee/redundant-len-check
etcdserver: remove redundant `len` check in health check
2023-10-13 12:34:54 +01:00
867faa1924 etcdserver: remove redundant len check in health check
From the Go specification [1]:

  "1. For a nil slice, the number of iterations is 0."

`len` returns 0 if the slice or map is nil [2]. Therefore, checking
`len(v) > 0` around a loop is unnecessary.

[1]: https://go.dev/ref/spec#For_range
[2]: https://pkg.go.dev/builtin#len

Signed-off-by: Eng Zer Jun <engzerjun@gmail.com>
2023-10-13 18:39:38 +08:00
d0d0c33338 Merge pull request #16708 from fuweid/enable-marker-check
*: enable markdown_marker checker
2023-10-13 11:54:34 +02:00
a92e0de316 Merge pull request #16753 from fuweid/deflake-TestEtcdTLSVersion
tests: deflake TestEtcdTLSVersion
2023-10-13 10:28:04 +01:00
6f95ea04be tests: deflake TestEtcdTLSVersion
The proc.Stop just sends the SIGTERM to etcd server. The etcd server
needs time to teardown. If we don't wait for it, the etcd server will
hold the port and then next test case, like TestGrpcProxyAutoSync, will
fail to listen on the port 20000.

```bash
file_/__w/etcd/etcd/tests/fixtures/server.crt_--peer-key-file_/__w/etcd/etcd/tests/fixtures/server.key.insecure_--cert-file_/__w/etcd/etcd/tests/fixtures/server2.crt_--key-file_/__w/etcd/etcd/tests/fixtures/server2.key.insecure_--tls-min-version_TLS1.2_--tls-max-version_TLS1.3) (32856): {"level":"info","ts":"2023-10-13T06:12:32.718845Z","caller":"embed/etcd.go:394","msg":"closing etcd server","name":"e1","data-dir":"/tmp/TestEtcdTLSVersion284993522/001","advertise-peer-urls":["https://127.0.0.1:20000"],"advertise-client-urls":["https://0.0.0.0:0"]}
2023-10-13T06:12:32.7399709Z --- PASS: TestEtcdTLSVersion (1.03s)
2023-10-13T06:12:32.7400181Z === RUN   TestGrpcProxyAutoSync
2023-10-13T06:12:32.7401203Z     logger.go:130: 2023-10-13T06:12:32.719Z	INFO	starting server...	{"name": "TestGrpcProxyAutoSync-test-0"}
2023-10-13T06:12:32.7408306Z     logger.go:130: 2023-10-13T06:12:32.719Z	INFO	spawning process	{"args": ["/__w/etcd/etcd/bin/etcd", "--name=TestGrpcProxyAutoSync-test-0", "--listen-client-urls=http://localhost:20000", "--advertise-client-urls=http://localhost:20000", "--listen-peer-urls=http://localhost:20001", "--initial-advertise-peer-urls=http://localhost:20001", "--initial-cluster-token=new", "--data-dir", "/tmp/TestGrpcProxyAutoSync1139610722/001", "--snapshot-count=10000", "--initial-cluster-token=new", "--initial-cluster=TestGrpcProxyAutoSync-test-0=http://localhost:20001", "--initial-cluster-state=new"], "working-dir": "/__w/etcd/etcd/tests/e2e", "name": "TestGrpcProxyAutoSync-test-0", "environment-variables": ["ETCD_VERIFY=all", "EXPECT_DEBUG=true", "PATH=/__t/go/1.21.3/x64/bin:/go/bin:/__t/go/1.21.3/x64/bin:/go/bin:/usr/local/go/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", "ETCD_UNSUPPORTED_ARCH=amd64"]}

...

2023-10-13T06:12:32.7559855Z /__w/etcd/etcd/bin/etcd (TestGrpcProxyAutoSync-test-0) (32863): {"level":"fatal","ts":"2023-10-13T06:12:32.735191Z","caller":"etcdmain/etcd.go:181","msg":"discovery failed","error":"listen tcp 127.0.0.1:20000: bind: address already in use","stacktrace":"go.etcd.io/etcd/server/v3/etcdmain.startEtcdOrProxyV2\n\tgo.etcd.io/etcd/server/v3/etcdmain/etcd.go:181\ngo.etcd.io/etcd/server/v3/etcdmain.Main\n\tgo.etcd.io/etcd/server/v3/etcdmain/main.go:40\nmain.main\n\tgo.etcd.io/etcd/server/v3/main.go:31\nruntime.main\n\truntime/proc.go:267"}
```

Signed-off-by: Wei Fu <fuweid89@gmail.com>
2023-10-13 16:48:37 +08:00
81fe610bd5 *: enable markdown_marker checker
Signed-off-by: Wei Fu <fuweid89@gmail.com>
2023-10-13 14:00:25 +08:00
bc0f724ae4 Merge pull request #16697 from chaochn47/health_check_bug_fix
http health check bug fixes
2023-10-13 05:48:24 +01:00
c25f1dff82 http health check bug fixes
Signed-off-by: Chao Chen <chaochn@amazon.com>
2023-10-12 16:59:34 -07:00
6d68ab092d Merge pull request #16707 from serathius/dynamic-flags
Dynamically generate flags passed to etcd binary
2023-10-12 18:23:23 +02:00
c34ccfbc06 Dynamically generate flags passed to etcd binary
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-10-12 17:31:56 +02:00
2c86103472 Merge pull request #16748 from serathius/test-dynamic-flags-v2
Test dynamic flags v2
2023-10-12 17:26:18 +02:00
bd49f26e9c Merge pull request #16752 from fuweid/update-34-changelog
CHANGELOG: update 3.4/3.5 golang version
2023-10-12 16:15:38 +01:00
42507f4fd8 CHANGELOG: update 3.4/3.5 golang version
Signed-off-by: Wei Fu <fuweid89@gmail.com>
2023-10-12 22:35:54 +08:00
1caf1d32fc Merge pull request #16737 from serathius/disable-failfast
Continue on e2e failure
2023-10-12 14:56:49 +02:00
c71f60e797 Remove duplicated test
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-10-12 14:09:31 +02:00
05cc60a539 Use contain to make tests clearer and more resilient to changes
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-10-12 14:09:31 +02:00
6f63f4b676 Use single string to define a flag allowing for easier testing
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-10-12 14:09:29 +02:00
d69378bbbd Merge pull request #16747 from serathius/test-dynamic-flags
Add tests to prepare to dynamic flag generation
2023-10-12 10:47:11 +02:00
6d9a0a40b0 Add tests to prepare to dynamic flag generation
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-10-11 23:31:39 +02:00
bf800550c6 Merge pull request #16739 from dusk125/http2-update
bump golang.org/x/net to v0.17.0, google.golang.org/grpc to v1.58.3
2023-10-11 16:25:16 +01:00
03da2fb55c Merge pull request #16741 from dusk125/go1.21.3
Bump go to 1.21.3
2023-10-11 15:53:54 +01:00
e4c0eb7712 bump google.golang.org/grpc to v1.58.3
Signed-off-by: Allen Ray <alray@redhat.com>
2023-10-11 10:39:05 -04:00
a5580a7292 Bump go to 1.21.3
Signed-off-by: Allen Ray <alray@redhat.com>
2023-10-11 10:16:57 -04:00
3a61187ce3 bump golang.org/x/net to v0.17.0
Address CVE-2023-39325 and CVE-2023-44487

Signed-off-by: Allen Ray <alray@redhat.com>
2023-10-11 10:09:14 -04:00
b8271d9c70 Continue on e2e failure
E2e tests has been flaky, with failfast and 2 scenarios tests are twice
as fragile. Any early failure of one of the scenarios cases second to be
canceled. Retryign always require running both scenarios.

Intead let's just wait as in other tests allowing us to retry
just the scenario that failed

Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-10-11 12:25:31 +02:00
a404ee5f6b Merge pull request #16735 from serathius/roundrobin
Return to default write scheduler since golang.org/x/net@v0.11.0 started using round robin
2023-10-10 21:04:56 +02:00
9f40116fa0 Return to default write scheduler since golang.org/x/net@v0.11.0 started using round robin
Introduction of round robin 120fc906b3
Added in v0.10.0 https://github.com/golang/net/compare/v0.10.0...v0.11.0

Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-10-10 16:31:42 +02:00
900877648d Merge pull request #16734 from 0scvr/main
Update changelog for 3.4 & 3.5
2023-10-10 14:20:50 +02:00
03ceed714e Update changelog for 3.4 & 3.5
To log the go version 1.20.9 bump.

Signed-off-by: Oscar <5xp395ab@duck.com>
2023-10-10 12:11:54 +00:00
4540db9a7c Merge pull request #16731 from sharathsivakumar/shsi/bump_dependencies_6
Bump dependencies generated by the bot manually
2023-10-10 13:51:48 +02:00
d884580432 dependency: bump go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc from 0.44.0 to 0.45.0
Signed-off-by: Sharath Sivakumar <mailssr9@gmail.com>
2023-10-10 11:50:54 +02:00
c94deb9511 dependency: bump github.com/prometheus/client_model from 0.4.1-0.20230718164431-9a2bf3000d16 to 0.5.0
Signed-off-by: Sharath Sivakumar <mailssr9@gmail.com>
2023-10-10 11:49:36 +02:00
1b1c42a7aa dependency: bump golang.org/x/net from 0.15.0 to 0.16.0
Signed-off-by: Sharath Sivakumar <mailssr9@gmail.com>
2023-10-10 11:49:35 +02:00
9e7e433b4b Merge pull request #16727 from 0scvr/0scvr/upgrade-go-1.21.2
Upgrade go version to 1.21.2
2023-10-10 09:51:43 +01:00
16e19a9547 Merge pull request #16269 from dusk125/refactor-revision
Refactor common revision code to pkg
2023-10-10 10:16:58 +02:00
86ea531b75 etcd: upgrade go version to 1.21.2
To be up to date with the newest security fix.

Signed-off-by: Oscar <71343264+0scvr@users.noreply.github.com>
2023-10-09 23:34:26 +02:00
395376d3ab Refactor common revision code to pkg
Signed-off-by: Allen Ray <alray@redhat.com>
2023-10-09 14:53:16 -04:00
20edc39912 Merge pull request #16726 from etcd-io/dependabot/github_actions/ossf/scorecard-action-2.3.0
build(deps): bump ossf/scorecard-action from 2.2.0 to 2.3.0
2023-10-09 19:38:44 +01:00
8e1713dda1 Merge pull request #16714 from fuweid/clean-unconvert_pass
*: cleanup unconvert_pass and remove revive tools
2023-10-09 19:38:19 +01:00
2b45c39880 Merge pull request #16725 from etcd-io/dependabot/github_actions/github/codeql-action-2.22.1
build(deps): bump github/codeql-action from 2.21.9 to 2.22.1
2023-10-09 19:12:16 +01:00
97fd17d74e build(deps): bump ossf/scorecard-action from 2.2.0 to 2.3.0
Bumps [ossf/scorecard-action](https://github.com/ossf/scorecard-action) from 2.2.0 to 2.3.0.
- [Release notes](https://github.com/ossf/scorecard-action/releases)
- [Changelog](https://github.com/ossf/scorecard-action/blob/main/RELEASE.md)
- [Commits](08b4669551...483ef80eb9)

---
updated-dependencies:
- dependency-name: ossf/scorecard-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-09 17:34:26 +00:00
074128a4d9 build(deps): bump github/codeql-action from 2.21.9 to 2.22.1
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2.21.9 to 2.22.1.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](ddccb87388...fdcae64e14)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-09 17:34:22 +00:00
82197417f1 tools/mod: remove revive
We have migrated the revive into golangci-lint.

Signed-off-by: Wei Fu <fuweid89@gmail.com>
2023-10-09 23:28:09 +08:00
0ec6181466 scripts: remove unconvert_pass
The `unconvert` has been migrated into golingci-lint.

Signed-off-by: Wei Fu <fuweid89@gmail.com>
2023-10-09 23:27:48 +08:00
de39c75053 Merge pull request #16711 from serathius/robustness-fix-profile
Fix providing profile to robustness tests
2023-10-09 09:52:55 +02:00
b4d54922eb Fix providing profile to robustness tests
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-10-08 21:27:22 +02:00
01a0d8ba83 Merge pull request #16709 from fuweid/remove-markdown-style-checker
scripts: remove the markdown_you_pass
2023-10-08 10:18:35 +02:00
093ec7a11d scripts: remove the markdown_you_pass
Signed-off-by: Wei Fu <fuweid89@gmail.com>
2023-10-08 15:20:30 +08:00
89983f4cb0 Merge pull request #16703 from serathius/failpoint-set
Fix parsing failpoint names when failpoint has set value
2023-10-07 19:59:23 +02:00
c4bbb1b28c Merge pull request #16705 from fuweid/add-nakedret
*: migrate nakedret_pass into golangci-lint
2023-10-07 19:58:56 +02:00
f5e82260da Fix parsing failpoint names when failpoint has value set
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-10-07 18:20:18 +02:00
f198b417c6 Merge pull request #16691 from serathius/inject-sleep
Inject sleep during etcd bootstrap to reproduce etcd-io#16666
2023-10-07 18:18:53 +02:00
5878f346ba *: migrate nakedret into golangci-lint
Signed-off-by: Wei Fu <fuweid89@gmail.com>
2023-10-07 22:29:43 +08:00
05a77032fc Inject sleep during etcd bootstrap to reproduce https://github.com/etcd-io/etcd/issues/16666
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-10-07 12:31:56 +02:00
185ddb2e78 Merge pull request #16696 from jmhbnz/fix-infra-admins-typo
Fix typo in ci infra admins table
2023-10-06 09:42:23 +02:00
2012af31e5 Fix typo in ci infra admins table.
Signed-off-by: James Blair <mail@jamesblair.net>
2023-10-06 11:27:56 +13:00
3f859a626b Merge pull request #16695 from serathius/watch-validation-revision
Fix watch validation assuming that client requesting older watch revision
2023-10-05 19:17:51 +02:00
6a96ab7c09 Merge pull request #16688 from serathius/e2e-default-config
Use default embed config in e2e tests
2023-10-05 14:54:18 +02:00
c1fb2c2316 Use default embed config in e2e tests
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-10-05 14:17:45 +02:00
c2655b4112 Fix watch validation assuming that client requesting older watch revision
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-10-05 14:09:43 +02:00
24b679644d Merge pull request #16692 from serathius/getformat
Avoid timing out and provide a proper error in TestCtlV3GetFormat test
2023-10-05 12:49:30 +02:00
f3196e3bbd Avoid timing out and provide a proper error in TestCtlV3GetFormat test
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-10-05 11:29:39 +02:00
0f14106fb7 Merge pull request #16678 from ahrtr/linearizable_read_20231002
test: add test cases to verify consistent reading right after writing
2023-10-04 17:09:41 +01:00
b385121bec test: add test cases to verify consistent reading right after writing
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-10-04 15:26:44 +01:00
1c5289dd73 Merge pull request #16677 from serathius/revert-13525
Revert "etcd server shouldn't wait for the ready notification infinitely on startup"
2023-10-04 11:49:11 +02:00
19a6baf236 Merge pull request #16246 from grafana/vzhuravlev/refactor_mixin_with_grafonnet
Refactor mixin with grafonnet
2023-10-04 10:33:35 +01:00
6a0d2eb5ce Merge pull request #16689 from jmhbnz/update-dependencies
[2023-10-04] Bump dependencies identified by dependabot
2023-10-04 09:50:36 +01:00
b70745d764 Update jsonnet dependency
Signed-off-by: Vitaly Zhuravlev <v-zhuravlev@users.noreply.github.com>
2023-10-04 06:53:27 +00:00
e0e4cdab81 depdendency: bump github.com/alexfalkowski/gocovmerge from 1.2.0 to 1.2.1.
Signed-off-by: James Blair <mail@jamesblair.net>
2023-10-04 11:46:36 +13:00
314e63735b depdendency: bump github.com/mikefarah/yq/v4 from 4.35.1 to 4.35.2.
Signed-off-by: James Blair <mail@jamesblair.net>
2023-10-04 11:13:25 +13:00
074d79652d depdendency: bump github.com/prometheus/client_golang from 1.16.0 to 1.17.0.
Signed-off-by: James Blair <mail@jamesblair.net>
2023-10-04 11:10:01 +13:00
aac8919b17 depdendency: bump go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc from 1.18.0 to 1.19.0.
Signed-off-by: James Blair <mail@jamesblair.net>
2023-10-04 11:06:38 +13:00
e31de5e3c1 Revert "etcd server shouldn't wait for the ready notification infinitely on startup"
This reverts commit 1713dc67b5.

Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-10-03 21:37:18 +02:00
88f714b3f4 Merge pull request #16681 from etcd-io/dependabot/github_actions/github/codeql-action-2.21.9
build(deps): bump github/codeql-action from 2.21.8 to 2.21.9
2023-10-02 19:15:11 +01:00
9268dc6f4e build(deps): bump github/codeql-action from 2.21.8 to 2.21.9
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2.21.8 to 2.21.9.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](6a28655e3d...ddccb87388)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-02 17:28:11 +00:00
df9a814b7f Merge pull request #16676 from serathius/refactor-add-embed-flags
Refactor registering flags to separate AddEmbedFlags function for future reuse
2023-10-02 15:36:08 +02:00
50fb919318 Make AddEmbedFlags functon a method on embed.Config
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-10-02 13:53:38 +02:00
788070e418 Merge pull request #16674 from serathius/reuse-embed-config
Reuse embed.Config in e2e cluster config
2023-10-02 12:11:17 +02:00
d98faeef82 Refactor registering flags to separate AddEmbedFlags function for future reuse
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-10-01 09:58:27 +02:00
11b441b605 Reuse embed.Config in e2e cluster config
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-10-01 09:56:31 +02:00
0c0128aad4 Merge pull request #16671 from ahrtr/member_test_20230930
test: fix the TestCtlV3ConsistentMemberList: set the wait-cluster-ready-timeout as 1ns
2023-09-30 15:28:38 +01:00
b8103b0fe4 test: fix the TestCtlV3ConsistentMemberList: set the wait-cluster-ready-timeout as 1ns
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-09-30 14:21:26 +01:00
ddf9756807 Merge pull request #16670 from fuweid/fix-make-fix
.github: ensure there is no change after make-fix
2023-09-30 13:24:59 +01:00
ddc2b56af3 tools: fix yamlfmt issue
Signed-off-by: Wei Fu <fuweid89@gmail.com>
2023-09-30 17:52:57 +08:00
0ece40453a .github: ensure there is no change after make-fix
Signed-off-by: Wei Fu <fuweid89@gmail.com>
2023-09-30 17:38:00 +08:00
da9248d2fd Merge pull request #16668 from iiamabby/update-changelog
Documented removal of etcdutl backup in CHANGELOG-3.6
2023-09-30 09:24:05 +01:00
=
16f891f17e Documented removal of etcdutl backup.
Signed-off-by: = <abby.crimlis@outlook.com>
2023-09-30 14:26:03 +13:00
6521c9e224 Merge pull request #16658 from ahrtr/member_20230927
Fix memberList may return incorrect intermediate results right after bootstrap
2023-09-29 14:55:23 +01:00
0b8cad83d1 address the review comments
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-09-29 12:58:18 +01:00
0a3dc1a8a8 Merge pull request #16662 from iiamabby/remove-etcdutl-backup
Remove legacy etcdutl backup
2023-09-29 10:41:28 +01:00
=
4132c35597 Remove legacy etcdutl backup
Co-authored-by: James Blair <mail@jamesblair.net>

Signed-off-by: = <abby.crimlis@outlook.com>
2023-09-29 15:39:45 +13:00
70a3205506 fix broken unit test in server_test.go
Signed-off-by: Geeta Gharpure <geetagh@amazon.com>
2023-09-28 20:07:06 +01:00
9c9804399e do not update RaftCluster.members and RaftCluster.removed if the v3store is ahead of the current replayed WAL entry index
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-09-28 20:06:12 +01:00
628b45c099 test: add a test case to verify consistent memberlist on bootstrap
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-09-28 20:04:47 +01:00
d92d37b105 Merge pull request #16657 from gocurr/pkg/stringutil/rand_test
pkg/stringutil: sort 'ss' in TestUniqueStrings
2023-09-28 10:23:15 +01:00
eef8636f35 pkg/stringutil: sort 'ss' in TestUniqueStrings
From the algorithm below, 'ss' should be sorted.

Also removes 'fmt.Println', because the idiomatic tests would not print.

Signed-off-by: Jes Cok <xigua67damn@gmail.com>
2023-09-27 22:41:16 +08:00
55253cee1b Merge pull request #16652 from fuweid/add-fuweid
Add fuweid as reviewer
2023-09-26 16:54:32 +01:00
1ee010f5c4 Add fuweid as reviewer
REF: #16650

Signed-off-by: Wei Fu <fuweid89@gmail.com>
2023-09-26 23:39:10 +08:00
cfd35afe93 Merge pull request #16636 from ahrtr/grpc_20230925
dependency: bump some dependencies
2023-09-26 12:31:09 +01:00
4e7f114fa7 Merge pull request #16638 from fuweid/fix-stylecheck
*: fix stylecheck/unused/unconvert linter issues
2023-09-26 12:15:53 +02:00
4d486a2332 bump go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc from 1.17.0 to 1.18.0
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-09-25 21:00:55 +01:00
10cddaaf7c bump go.opentelemetry.io/otel/sdk from 1.17.0 to 1.18.0
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-09-25 20:59:30 +01:00
bb85fa8a7f bump gotest.tools/v3 from 3.5.0 to 3.5.1
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-09-25 20:57:18 +01:00
f90a73c20f bump github.com/mgechev/revive from 1.3.3 to 1.3.4
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-09-25 20:56:12 +01:00
df7f2d93f8 dependency: bump google.golang.org/grpc from 1.58.1 to 1.58.2
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-09-25 20:53:56 +01:00
e85949db3a Merge pull request #16645 from etcd-io/dependabot/github_actions/github/codeql-action-2.21.8
build(deps): bump github/codeql-action from 2.21.7 to 2.21.8
2023-09-25 20:27:42 +01:00
a6d511abe2 build(deps): bump github/codeql-action from 2.21.7 to 2.21.8
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2.21.7 to 2.21.8.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](04daf014b5...6a28655e3d)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-25 18:53:50 +00:00
06bee68c27 Merge pull request #16646 from etcd-io/dependabot/github_actions/actions/checkout-4.1.0
build(deps): bump actions/checkout from 4.0.0 to 4.1.0
2023-09-25 19:52:40 +01:00
a895710756 build(deps): bump actions/checkout from 4.0.0 to 4.1.0
Bumps [actions/checkout](https://github.com/actions/checkout) from 4.0.0 to 4.1.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](3df4ab11eb...8ade135a41)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-25 17:48:06 +00:00
8870cb3070 *: fix unconvert linter
Signed-off-by: Wei Fu <fuweid89@gmail.com>
2023-09-25 19:40:45 +08:00
4704a5af3a *: fix unused issue
Signed-off-by: Wei Fu <fuweid89@gmail.com>
2023-09-25 19:37:18 +08:00
896d161d16 *: fix stylecheck linter
Signed-off-by: Wei Fu <fuweid89@gmail.com>
2023-09-25 19:14:01 +08:00
149bcb75ea Merge pull request #16634 from fuweid/fix-revive
*: fix revive linter
2023-09-25 10:49:01 +01:00
07effc4d0a *: fix revive linter
Remove old revive_pass in the bash scripts and migirate the revive.toml
into golangci linter_settings.

Signed-off-by: Wei Fu <fuweid89@gmail.com>
2023-09-24 14:21:11 +08:00
e1ebc260a9 Merge pull request #16628 from fuweid/fix-goimports
*: fix goimports linter
2023-09-22 10:26:14 +01:00
3eae42d810 Merge pull request #16630 from sharathsivakumar/shsi/bump_depedencies_5
bump dependencies manually
2023-09-22 09:48:26 +01:00
c059e5f41f Merge pull request #16559 from shyamjvs/docs-improvement
Add diagrams for etcd internals and consistent read/write workflows
2023-09-21 11:37:43 -07:00
078b50fe3d dependency: bump honnef.co/go/tools from 0.4.5 to 0.4.6
Signed-off-by: sharathsivakumar <mailssr9@gmail.com>
2023-09-21 20:17:37 +02:00
6060037c53 dependency: bump gotest.tools/gotestsum from 1.10.1 to 1.11.0
Signed-off-by: sharathsivakumar <mailssr9@gmail.com>
2023-09-21 20:14:29 +02:00
443ee6eb40 dependency: bump go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc from 0.43.0 to 0.44.0
Signed-off-by: sharathsivakumar <mailssr9@gmail.com>
2023-09-21 20:07:07 +02:00
2048a638fc dependency: bump google.golang.org/grpc from 1.58.0/1.57.0 to 1.58.1
Signed-off-by: sharathsivakumar <mailssr9@gmail.com>
2023-09-21 19:54:54 +02:00
eef790399e dependency: bump go.uber.org/zap from 1.25.0 to 1.26.0
Signed-off-by: sharathsivakumar <mailssr9@gmail.com>
2023-09-21 19:41:16 +02:00
46df6abb03 *: remove goimports(_fix)_pass and add lint_fix_pass
Signed-off-by: Wei Fu <fuweid89@gmail.com>
2023-09-21 21:18:36 +08:00
aa97484166 *: enable goimports in verify-lint
Signed-off-by: Wei Fu <fuweid89@gmail.com>
2023-09-21 21:14:09 +08:00
9079ab3c98 Merge pull request #16626 from fuweid/fix-staticcheck-lint
*: fix staticcheck lint
2023-09-21 11:13:50 +01:00
c6323b9a52 disable staticcheck for DoubleBarrier.Enter
Signed-off-by: Wei Fu <fuweid89@gmail.com>
2023-09-21 17:39:44 +08:00
502879405f *: lint_pass should use global golangci.yaml
Disable failed linters and enable it by #16610.

Signed-off-by: Wei Fu <fuweid89@gmail.com>
2023-09-21 16:10:45 +08:00
2b1e181c8b *: Use golangcilint_pass to run staticcheck and ineffassign
Copy the tools/.golangci.yaml and run the linters for which we have
already fixed. The temp .golangci.yaml will be removed when we fixes all
the linters' issues.

Signed-off-by: Wei Fu <fuweid89@gmail.com>
2023-09-21 12:34:17 +08:00
9c3edfa0af *: fix staticcheck lint
Changed TraceKey/StartTimeKey/TokenFieldNameGRPCKey to struct{} to
follow the correct usage of context. Similar patch to #8901.

Signed-off-by: Wei Fu <fuweid89@gmail.com>
2023-09-21 11:24:26 +08:00
021edb00ed Merge pull request #16605 from fuweid/fix-ineffassign
*: fix ineffassign lint
2023-09-20 10:54:48 +01:00
df86cadd8b *: fix ineffassign lint
Signed-off-by: Wei Fu <fuweid89@gmail.com>
2023-09-19 22:19:19 +08:00
36403e3909 Merge pull request #16608 from fuweid/fix-shadow-vet
*: fix govet-shadow lint
2023-09-19 15:09:05 +01:00
b3b63fd010 Merge pull request #16621 from ahrtr/gw_20230919
dependency: bump grpc-gateway from 2.17.1 to 2.18.0
2023-09-19 13:25:10 +01:00
5e3910d96c *: fix govet-shadow lint
Signed-off-by: Wei Fu <fuweid89@gmail.com>
2023-09-19 20:24:01 +08:00
ea2d60cad7 dependency: bump grpc-gateway from 2.17.1 to 2.18.0
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-09-19 12:17:22 +01:00
892472dd89 Merge pull request #16620 from ahrtr/changelog_grpc_gw_20230919
Update 3.6 changelog to include the grpc-gateway upgrading from v1 to v2 and golang upgrading to 1.21
2023-09-19 11:05:45 +01:00
c15f11041b Update 3.6 changelog to include the grpc-gateway upgrading from v1 to v2 and golang upgrading to 1.21
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-09-19 09:54:18 +01:00
c70ac642ae Merge pull request #16595 from ahrtr/gw_20230913
Upgrade grpc-gateway from v1 to v2
2023-09-19 09:39:43 +01:00
357d22667c Merge pull request #16609 from etcd-io/dependabot/github_actions/github/codeql-action-2.21.7
build(deps): bump github/codeql-action from 2.21.5 to 2.21.7
2023-09-19 07:29:03 +01:00
84d0f1fcc5 build(deps): bump github/codeql-action from 2.21.5 to 2.21.7
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2.21.5 to 2.21.7.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](00e563ead9...04daf014b5)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-18 17:38:07 +00:00
8eba295bc5 Resolve review comments: add some comments to clarify some confusion script or code
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-09-18 12:09:46 +01:00
d06cdfa1ee Updated the tools/proto-annotation to exclude grpc.gateway package
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-09-18 11:22:16 +01:00
5444cdae69 remove all usage of v1 grpc-gateway
1. Manually updated go source file to remove the usage of v1 grpc-gateway;
2. Execute ./scripts/fix.sh

Signed-off-by: Benjamin Wang <wachao@vmware.com>
Signed-off-by: Wei Fu <fuweid89@gmail.com>
2023-09-18 11:22:16 +01:00
de41d4d8aa dependency: set github.com/grpc-ecosystem/grpc-gateway/v2 version to 2.17.1 for all modules
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-09-18 11:22:16 +01:00
189f709a5d Apply patches on the generated *.pb.gw.go files to convert v1 messages to v2 messages
Signed-off-by: Benjamin Wang <wachao@vmware.com>
Signed-off-by: Wei Fu <fuweid89@gmail.com>
2023-09-18 11:22:16 +01:00
4ec581a6a3 re-generate all the *.pb.gw.go files
Run ./scripts/genproto.sh

Signed-off-by: Benjamin Wang <wachao@vmware.com>
Signed-off-by: Wei Fu <fuweid89@gmail.com>
2023-09-18 11:22:15 +01:00
522b698928 upgrade grpc-gateway from v1 to v2
Signed-off-by: Wei Fu <fuweid89@gmail.com>
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-09-18 11:22:15 +01:00
700411d838 Merge pull request #16601 from fuweid/fix-nakedret-lint
*: fix nakedret lint
2023-09-18 10:00:25 +01:00
0917288ad5 Merge pull request #16604 from chenyahui/interface_to_any
Use any instead of interface{}
2023-09-18 10:16:36 +02:00
e72c2c40d4 *: fix nakedret lint
Signed-off-by: Wei Fu <fuweid89@gmail.com>
2023-09-17 23:52:41 +08:00
c0aa3b613b Use any instead of interface{}
Signed-off-by: chenyahui <cyhone@qq.com>
2023-09-17 17:41:58 +08:00
fb8a315be6 Merge pull request #16600 from jmhbnz/add-owners-file
Add OWNERS file for etcd
2023-09-16 11:09:41 -07:00
371bedad27 Add OWNERS file for etcd.
Signed-off-by: James Blair <mail@jamesblair.net>
2023-09-16 19:43:05 +12:00
3d079fa3c5 Add diagrams explaining etcd internals and consistent read/write workflows
Signed-off-by: Shyam Jeedigunta <jeedigv@amazon.com>
2023-09-15 16:49:08 +00:00
9ec5f98189 Merge pull request #16594 from dusk125/upgrade-1.21
Update to go1.21
2023-09-14 09:26:35 +01:00
cc130fd2d4 Update to go1.21
Signed-off-by: Allen Ray <alray@redhat.com>
2023-09-13 10:10:02 -04:00
afade99a79 Merge pull request #16587 from ahrtr/grpc_20230912
dependency: bump google.golang.org/grpc to 1.58.0
2023-09-13 09:15:56 +01:00
2a0613bc22 dependency: bump google.golang.org/grpc to 1.58.0
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-09-12 10:47:14 +01:00
cc282a890b Merge pull request #16572 from ahrtr/fix_curl_test_20230911
test: simply the expected output for some curl test cases
2023-09-12 09:44:00 +01:00
d506a72f32 Merge pull request #16584 from ahrtr/dependencies_20230911
dependency: bump golang.org/x/net from v0.14.0 to v0.15.0
2023-09-12 09:21:40 +01:00
f25f131f36 Merge pull request #16586 from redwrasse/sshah/store-cmt-cleanup
mvcc: cleanup comment in HashStorage.Store
2023-09-12 08:39:30 +01:00
b79cbcc3db mvcc: cleanup comment in HashStorage.Store
Signed-off-by: redwrasse <mail@redwrasse.io>
2023-09-11 21:54:42 -07:00
909d795601 dependency: bump golang.org/x/net from v0.14.0 to v0.15.0
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-09-11 19:36:18 +01:00
9c8ad8ed72 Merge pull request #16575 from etcd-io/dependabot/github_actions/actions/upload-artifact-3.1.3
build(deps): bump actions/upload-artifact from 3.1.2 to 3.1.3
2023-09-11 19:29:55 +01:00
17ade8ff07 build(deps): bump actions/upload-artifact from 3.1.2 to 3.1.3
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 3.1.2 to 3.1.3.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](0b7f8abb15...a8a3f3ad30)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-11 17:20:06 +00:00
d687bd0989 test: simply the expected output for some curl test cases"
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-09-11 13:50:26 +01:00
6544add961 Merge pull request #16570 from ahrtr/election_rest_20230910
test: add test case to cover all election REST APIs
2023-09-11 11:07:39 +01:00
4445e0831f Merge pull request #16566 from fuweid/update-changelog-35
CHANGELOG: update 3.5 with #16565
2023-09-11 11:07:17 +01:00
18f70c2553 test: add test case to cover all election REST APIs
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-09-10 20:52:40 +01:00
9e7f83799f Merge pull request #16564 from ahrtr/split_rest_20230909
test: split watch and election tests to separate files
2023-09-10 19:47:22 +01:00
cfb6d24c65 Merge pull request #16567 from sharathsivakumar/shsi/bump_dependencies_4
dependency: bump yamlfmt,sys,otelgrpc,otlptracegrpc
2023-09-09 16:18:10 +01:00
6dae088423 dependency: bump go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc from 1.16.0 to 1.17.0
Signed-off-by: sharathsivakumar <mailssr9@gmail.com>
2023-09-09 16:20:31 +02:00
5d1b0d1170 dependency: bump go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc from 0.42.0 to 0.43.0
Signed-off-by: sharathsivakumar <mailssr9@gmail.com>
2023-09-09 16:20:13 +02:00
e47d10fca7 dependency: bump golang.org/x/sys from 0.11.0 to 0.12.0
Signed-off-by: sharathsivakumar <mailssr9@gmail.com>
2023-09-09 16:19:54 +02:00
3b736aefe2 dependency: bump github.com/google/yamlfmt from 0.9.0 to 0.10.0
Signed-off-by: sharathsivakumar <mailssr9@gmail.com>
2023-09-09 16:19:32 +02:00
83e5424b78 CHANGELOG: update 3.5 with #16565
Signed-off-by: Wei Fu <fuweid89@gmail.com>
2023-09-09 21:56:51 +08:00
7f2949bac1 test: split watch and election tests to separate files
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-09-09 09:40:45 +01:00
8011a53655 Merge pull request #16553 from ahrtr/lock_rest_20230908
test: add test case to cover lock restful APIs
2023-09-09 09:35:15 +01:00
a13fc7e51c Merge pull request #16508 from new-dream/main-concurrentreadtxn
server: optimizing memory overhead of copy operation in ConcurrentReadTxn
2023-09-09 09:35:00 +01:00
b72227ece3 Merge pull request #16557 from ahrtr/changelog_golang_20230908
changelog: update changelog to cover the goalng bump
2023-09-08 18:32:58 +01:00
310e8843e4 changelog: update changelog to cover the goalng bump
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-09-08 17:04:42 +01:00
0b27aff79c test: add test case to cover lock restful APIs
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-09-08 17:04:01 +01:00
e121eae908 Merge pull request #16554 from ahrtr/golang_20230908
dependency: bump golang to 1.20.8
2023-09-08 17:03:06 +01:00
a9931b46e3 dependency: bump golang to 1.20.8
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-09-08 16:29:14 +01:00
7192b6e379 Merge pull request #16357 from liggitt/fieldmask
dependency: bump github.com/grpc-ecosystem/grpc-gateway/v2 from v2.7.0 to v2.16.2
2023-09-07 15:05:19 +01:00
0e972a1a24 Merge pull request #16545 from ahrtr/member_rest_20230905
test: add test cases to cover cluster RESTful APIs
2023-09-07 14:28:19 +01:00
6599dec92b dependency: bump github.com/grpc-ecosystem/grpc-gateway/v2 from v2.7.0 to v2.17.1
Signed-off-by: Jordan Liggitt <liggitt@google.com>
2023-09-07 08:49:57 -04:00
e5638d93fd Merge pull request #16549 from fuweid/deflake-test-TestHashKVWhenCompacting
server/storage/mvcc: deflake TestHashKVWhenCompacting
2023-09-06 12:20:12 +01:00
a6f7bbe560 server/storage/mvcc: deflake TestHashKVWhenCompacting
The HashByRev-goroutines exit since receive `donec` notification. The
Check-computed-hashes goroutine could not have chance to get the hash
result and be stuck forever. We should add case for donec when we wait
for hash result.

Signed-off-by: Wei Fu <fuweid89@gmail.com>
2023-09-06 18:12:42 +08:00
70fd494666 Merge pull request #16548 from ahrtr/fix_TestMemberList_20230906
test: fix the flaky test case `TestMemberList`
2023-09-06 09:29:18 +01:00
1b87ec499e test: de-flake test case TestMemberList
get memberlist immediately before each time checking the members.

Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-09-06 08:24:41 +01:00
14ecc7ab20 Merge pull request #16547 from ahrtr/fix_TestV3WatchProgressOnMemberRestart_20230905
test: de-flake test case TestV3WatchProgressOnMemberRestart
2023-09-06 07:43:16 +01:00
b57fe9e9d8 Merge pull request #16546 from ahrtr/remove_apiPrefix_20230905
test: remove apiPrefix and withApiPrefix
2023-09-05 18:26:38 +01:00
5dd5fe35d0 test: de-flake test case TestV3WatchProgressOnMemberRestart
The case may be blocked on sending progress notification, so may
not be able to exit the goroutine.

Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-09-05 15:04:02 +01:00
b2ee90c162 test: remove apiPrefix and withApiPrefix
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-09-05 14:41:11 +01:00
ce64fbe3f9 test: add test cases to cover cluster RESTful APIs
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-09-05 14:09:52 +01:00
ea9ef764a6 Merge pull request #16532 from etcd-io/dependabot/github_actions/github/codeql-action-2.21.5
build(deps): bump github/codeql-action from 2.21.4 to 2.21.5
2023-09-04 20:05:11 +01:00
dd12ff471a build(deps): bump github/codeql-action from 2.21.4 to 2.21.5
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2.21.4 to 2.21.5.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](a09933a12a...00e563ead9)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-04 18:22:30 +00:00
b40e90b6af Merge pull request #16533 from etcd-io/dependabot/github_actions/actions/checkout-4.0.0
build(deps): bump actions/checkout from 3.6.0 to 4.0.0
2023-09-04 19:21:30 +01:00
0f1de81229 build(deps): bump actions/checkout from 3.6.0 to 4.0.0
Bumps [actions/checkout](https://github.com/actions/checkout) from 3.6.0 to 4.0.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](f43a0e5ff2...3df4ab11eb)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-04 17:12:38 +00:00
8cca0bb2bc Merge pull request #16527 from ahrtr/auth_20230903
test: add e2e test cases to cover all auth related RESTful APIs
2023-09-04 16:24:01 +01:00
bc54bac381 Merge pull request #16523 from YaoC/deflake-TestV3AuthWithLeaseRevokeWithRootJWT
tests/integration: deflake TestV3AuthWithLeaseRevokeWithRootJWT
2023-09-04 15:09:00 +01:00
dc8011570c test: add e2e test cases to cover all auth related RESTful APIs
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-09-03 20:26:25 +01:00
e80c8966f1 Merge pull request #16525 from jmhbnz/maintain-testcase-naming-standard
Maintain a consistent naming standard for curlv3 tests
2023-09-03 14:11:40 +08:00
7faab4aa44 Maintain a consistent naming standard for curlv3 tests.
Signed-off-by: James Blair <mail@jamesblair.net>
2023-09-03 12:04:50 +12:00
144dcf1ad3 Merge pull request #16518 from ahrtr/auth_test_20230901
test: move all auth related test cases into a separate test file
2023-09-03 03:23:02 +08:00
d2a93eb7ce tests/integration: deflake TestV3AuthWithLeaseRevokeWithRootJWT
Signed-off-by: Yao Cheng <chengyao09@hotmail.com>
2023-09-02 06:31:54 +00:00
818561f43f test: move all auth related test cases into a separate test file
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-09-02 07:29:54 +01:00
d4a0b88934 Merge pull request #16517 from serathius/test-txn-range-put
Use test cases from TestCheckTxn to test Put and Range
2023-09-01 21:13:34 +02:00
e09cc1e82c Merge pull request #16516 from SagarRawat24/bookworm
update the debian12 and bookworm remove --v 1.0
2023-09-01 20:52:38 +02:00
76cbfd3644 Use test cases from TestCheckTxn to test Put and Range
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-09-01 20:33:41 +02:00
27633923e4 Merge pull request #16515 from serathius/test-txn
server: Test txn checking
2023-09-01 15:24:42 +02:00
7666f9793c Merge pull request #16511 from ahrtr/kv_test_20230831
test: refactor the existing KV RESTful test cases and also add new cases
2023-09-01 20:53:39 +08:00
e1617f98ba server: Test txn checking
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-09-01 14:51:22 +02:00
245b58a1e2 update the debian12 and bookworm remove --v 1.0
Signed-off-by: sagar rawat <sagarrawat24291@gmail.com>
2023-09-01 16:19:29 +05:30
cf1581afc4 Merge pull request #16372 from serathius/single-check
server: Refactor checkTxn into single function handling all request types
2023-09-01 10:34:59 +02:00
b4803fb395 test: refactor the existing KV RESTful test cases and also add new cases
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-09-01 09:13:51 +01:00
60051be990 Merge pull request #16509 from ahrtr/kv_rest_20230830
test: move all KV related RESTful APIs into a separate test file
2023-08-31 21:27:48 +08:00
02c01f04d7 test: move all KV related RESTful APIs into a separate test file
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-08-30 16:19:15 +01:00
b05d75ab0b server: optimizing memory overhead of copy operation in ConcurrentReadTxn
Signed-off-by: new-dream <111836360+new-dream@users.noreply.github.com>
2023-08-30 23:03:15 +08:00
2888a95d5d Merge pull request #16489 from ahrtr/maintanence_20230827
test: add v3 curl test to cover all maintenance REST API
2023-08-30 22:57:05 +08:00
a7330692bd test: add v3 curl test to cover all maintainence REST APIs
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-08-30 15:09:40 +01:00
506e9fdde6 Merge pull request #16503 from fuweid/update-35-changelog
CHANGELOG: add #16490 item in CHANGELOG-3.5.md
2023-08-30 17:08:05 +08:00
92aebbcc88 CHANGELOG: add #16490 item in CHANGELOG-3.5.md
Signed-off-by: Wei Fu <fuweid89@gmail.com>
2023-08-29 22:16:32 +08:00
bd7f0dab3c server: Refactor checkTxn into single function handling all request types
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-08-29 11:36:03 +02:00
70eb293754 Merge pull request #16501 from jmhbnz/weekly-dependency-update
[2023-08-29] Bump dependencies identified by dependabot
2023-08-29 14:51:41 +08:00
4ae1e9d669 depdendency: bump go.opentelemetry.io/otel/sdk from 1.16.0 to 1.17.0.
Signed-off-by: James Blair <mail@jamesblair.net>
2023-08-29 08:49:31 +12:00
d472700749 depdendency: bump go.opentelemetry.io/otel from 1.16.0 to 1.17.0.
Signed-off-by: James Blair <mail@jamesblair.net>
2023-08-29 08:43:17 +12:00
5e28fdbcad depdendency: bump github.com/mgechev/revive from 1.3.2 to 1.3.3.
Signed-off-by: James Blair <mail@jamesblair.net>
2023-08-29 08:39:52 +12:00
10498ce772 Merge pull request #16499 from etcd-io/dependabot/github_actions/actions/checkout-3.6.0
build(deps): bump actions/checkout from 3.5.3 to 3.6.0
2023-08-29 02:02:25 +08:00
2ec87000c3 build(deps): bump actions/checkout from 3.5.3 to 3.6.0
Bumps [actions/checkout](https://github.com/actions/checkout) from 3.5.3 to 3.6.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](c85c95e3d7...f43a0e5ff2)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-28 17:25:19 +00:00
40ada2a857 Add memo in README
Signed-off-by: Vitaly Zhuravlev <v-zhuravlev@users.noreply.github.com>
2023-08-28 14:16:08 +00:00
c852ffe6e2 Add etcdselector to grafana7x dashboard and rest of alerts. https://github.com/etcd-io/etcd/pull/16245
Signed-off-by: Vitaly Zhuravlev <v-zhuravlev@users.noreply.github.com>
2023-08-28 14:07:03 +00:00
957b58e560 Set grafana7x to false by default
Signed-off-by: Vitaly Zhuravlev <v-zhuravlev@users.noreply.github.com>
2023-08-28 13:46:13 +00:00
aa21d536d6 Keep grafana7x dashboard. Enable with grafana7x=true in config
Signed-off-by: Vitaly Zhuravlev <v-zhuravlev@users.noreply.github.com>
2023-08-28 13:42:02 +00:00
d09b8d474a Merge pull request #16464 from fuweid/fix-grpc-gateway-duplicate-path
api: fix duplicate gateway url issue
2023-08-27 23:31:13 +08:00
b6935cf2e9 Merge pull request #16472 from ahrtr/expr_expect_20230825
test: support regular expression matching on the response
2023-08-26 02:34:23 +08:00
7cbab6034b add test cases to verify regular expression match
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-08-25 18:59:34 +01:00
7d95c68b48 test: support regular expression matching on the response
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-08-25 15:00:35 +01:00
7ea5ee8b5d Merge pull request #16463 from jmhbnz/document-golang-version-policy
Document project golang version policy
2023-08-25 20:39:05 +08:00
f377db2e93 Merge pull request #16466 from lavacat/main
dependency: bump honnef.co/go/tools from v0.4.3 to v0.4.5
2023-08-24 16:02:32 +08:00
555c459c58 dependency: bump honnef.co/go/tools from v0.4.3 to v0.4.5
Signed-off-by: Bogdan Kanivets <bkanivets@apple.com>
2023-08-23 15:51:19 -07:00
bcdf05508e Merge pull request #16465 from riendeau/validate-help-flags
Unit test for CLI flags and add missing flags
2023-08-23 22:55:19 +08:00
63e614fb0b Add unit test for CLI flags and missing flags
Signed-off-by: John Riendeau <riendeau@us.ibm.com>
2023-08-23 08:33:39 -05:00
f3121fb765 api: fix duplicate gateway url issue
The HashKV should use `/v3/maintenance/hashkv` as url

Signed-off-by: Wei Fu <fuweid89@gmail.com>
2023-08-23 20:43:50 +08:00
6723262738 Document policy for etcd project golang version.
Signed-off-by: James Blair <mail@jamesblair.net>
2023-08-23 21:54:35 +12:00
e44afcfadd Merge pull request #16460 from geetasg/pr10
Preserve the order of steps done for snapshot
2023-08-23 16:01:31 +08:00
ce4f2a4892 Fix markdownlint issues in dependency_management.md.
Signed-off-by: James Blair <mail@jamesblair.net>
2023-08-23 17:37:05 +12:00
29bfdd1f69 Merge pull request #16459 from jmhbnz/remove-deprecated-functions
Use crypto/rand.Read instead of deprecated math/rand.Read
2023-08-23 03:45:14 +08:00
8729417cee Preserve the order of steps done for snapshot
Signed-off-by: Geeta Gharpure <geetagh@amazon.com>
2023-08-22 19:12:37 +00:00
5a54fe6dd1 Merge pull request #16457 from serathius/downgrade-membership
Add membership changes to downgrade tests
2023-08-22 12:14:40 +02:00
cb0df72b70 Use crypto/rand.Read instead of deprecated math/rand.Read.
Signed-off-by: James Blair <mail@jamesblair.net>
2023-08-22 21:48:27 +12:00
3794dfd519 Merge pull request #16458 from ahrtr/snap_20230822
test: verify snap.Load() is sucessful
2023-08-22 11:43:38 +02:00
30b5c37190 test: verify snap.Load() is sucessful
Otherwise the following snap.Data may run into nil pointer panic.

Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-08-22 10:08:34 +01:00
f3cc759afc Merge pull request #16418 from geetasg/pr7
Update to generate v2 snapshot from v3 state
2023-08-22 10:24:53 +02:00
1c0db872d9 Add membership changes to downgrade tests
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-08-22 10:18:30 +02:00
e1b8e8c6ad Merge pull request #16455 from geetasg/pr9
Minor update to test code to remove a local var
2023-08-22 15:23:17 +08:00
62e82aba87 Merge pull request #16453 from etcd-io/dependabot/github_actions/golangci/golangci-lint-action-3.7.0
build(deps): bump golangci/golangci-lint-action from 3.6.0 to 3.7.0
2023-08-22 03:47:34 +08:00
59332dc194 Update to generate v2 snapshot from v3 state
Signed-off-by: Geeta Gharpure <geetagh@amazon.com>
2023-08-21 19:18:11 +00:00
7b3daf612d Minor update to test code to remove a local var
Signed-off-by: Geeta Gharpure <geetagh@amazon.com>
2023-08-21 19:13:36 +00:00
3be86903ab build(deps): bump golangci/golangci-lint-action from 3.6.0 to 3.7.0
Bumps [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action) from 3.6.0 to 3.7.0.
- [Release notes](https://github.com/golangci/golangci-lint-action/releases)
- [Commits](639cd343e1...3a91952989)

---
updated-dependencies:
- dependency-name: golangci/golangci-lint-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-21 17:35:47 +00:00
fe1f30e4df Merge pull request #16445 from jmhbnz/complete-actions-container-migration
Run integration, e2e & grpcproxy tests in container.
2023-08-21 15:58:07 +02:00
e2e17c75fe Merge pull request #16448 from testwill/pkg-import
chore: pkg import more than once
2023-08-21 18:11:06 +08:00
9a6eab2d72 Merge pull request #16373 from serathius/unify-arguments
server: Unify arguments for mvcc methods
2023-08-21 10:09:10 +02:00
3d32447e8b Merge pull request #16440 from fuweid/use-larger-runner
*: enable ubuntu-latest-8-cores runner for amd64 robustness workflow
2023-08-21 10:05:50 +02:00
3371f26461 Merge pull request #16441 from geetasg/pr8
Update test for v2 deprecation to verify membership match
2023-08-21 09:50:53 +02:00
0a3ec0166f Merge pull request #16446 from xuan-nguyen-swe/feature/#479-use-friendly-google-groups-link
Use new and better canonical link to Google Groups
2023-08-21 09:49:05 +02:00
4e24d4a755 Merge pull request #16447 from gocurr/remove_math_rand_seed
all: stop using math/rand.Seed
2023-08-21 09:47:48 +02:00
0f48f9bcb4 Merge pull request #16433 from shyamjvs/fixes
Fix unit tests and make targets to not fail in some environments
2023-08-21 09:46:33 +02:00
eae411e979 Merge pull request #16449 from testwill/typo
fix: throughput typo
2023-08-21 09:41:34 +02:00
4d209af83a fix: throughput typo
Signed-off-by: guoguangwu <guoguangwu@magic-shield.com>
2023-08-21 10:27:58 +08:00
f432c1cf20 chore: pkg import more than once
Signed-off-by: guoguangwu <guoguangwu@magic-shield.com>
2023-08-21 10:19:05 +08:00
1b63b189ec etcd-io/etcd #479 meeting is now on CNCF-funded Zoom channel
Also, remove outdated meeting phone number

Signed-off-by: Xuan Nguyen <nguyenxndaidev@gmail.com>
2023-08-20 15:28:26 +02:00
52748f60f3 all: stop using math/rand.Seed
Fixes #16428.

Signed-off-by: Jes Cok <xigua67damn@gmail.com>
2023-08-20 16:34:44 +08:00
dd1b06f01a etcd-io/etcd #479 Use new and better canonical link to Google Groups
Signed-off-by: Xuan Nguyen <nguyenxndaidev@gmail.com>
2023-08-19 22:11:18 +02:00
208a74a213 Run integration, e2e & grpcproxy tests in container.
So that we have one approach for running tests regardless of cpu architecture.

Signed-off-by: James Blair <mail@jamesblair.net>
2023-08-19 21:28:32 +12:00
cfbb60d8af Merge pull request #16442 from jmhbnz/update-changelog
Update changelog for go 1.20 update and socket options fix
2023-08-19 14:56:08 +08:00
df0c9ba7d5 Update changelog for backport of socket options fix.
Signed-off-by: James Blair <mail@jamesblair.net>
2023-08-19 11:41:35 +12:00
c3a32a5aa3 Update changelogs for go 1.20 minor version update.
Signed-off-by: James Blair <mail@jamesblair.net>
2023-08-19 11:40:58 +12:00
b16fe80095 Fix unit test to avoid failing based on 'tail' command path
Signed-off-by: Shyam Jeedigunta <jeedigv@amazon.com>
2023-08-18 11:56:13 -07:00
83f20f61cb Fix make test targets when empty bash args provided
Signed-off-by: Shyam Jeedigunta <jeedigv@amazon.com>
2023-08-18 11:56:13 -07:00
e4f239408c Update test for v2 deprecation to verify membership match
Signed-off-by: Geeta Gharpure <geetagh@amazon.com>
2023-08-18 16:14:35 +00:00
3f6a5c0bb1 *: enable larger runner
Use ubuntu-latest-8-cores larger runner to support lazyfs in robustness
CI.

Signed-off-by: Wei Fu <fuweid89@gmail.com>
2023-08-18 22:21:00 +08:00
39aad38f02 Merge pull request #16423 from chenyang8094/fix-raftexample-panic-when-reduce-snapshot-count
Handle ErrCompacted errors for Compact in raftexample
2023-08-18 20:48:32 +08:00
68db7087e1 Handle ErrCompacted errors for Compact in raftexample
Signed-off-by: Chen Yang <809476530@qq.com>
Signed-off-by: chenyangyang.cy <chenyangyang.cy@alibaba-inc.com>
2023-08-18 20:05:05 +08:00
6ef9c5364d Merge pull request #16439 from fuweid/fix-16422
tests/*: redirect metrics into file
2023-08-18 13:42:20 +02:00
d9408473c5 server: Unify arguments for mvcc methods
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-08-18 13:41:13 +02:00
e4e05c5713 tests/*: redirect metrics into file
Redirect metrics data into file to reduce output.

Fix: #16422

Signed-off-by: Wei Fu <fuweid89@gmail.com>
2023-08-18 16:48:10 +08:00
699861a911 Merge pull request #16430 from xuan-nguyen-swe/etcd-io/etcd#16424-Update-issues-links-in-CONTRIBUTING.md
Update issues links in CONTRIBUTING.md
2023-08-17 15:36:46 +08:00
62907bc842 Update issues links in CONTRIBUTING.md
etcd-io/etcd#16424 Find issues links in CONTRIBUTING.md should search for all repositories under etcd-io organization

Signed-off-by: Xuan <nguyenxndaidev@gmail.com>
2023-08-16 22:43:05 +02:00
0d89fa7336 Merge pull request #16408 from ahrtr/update_roadmap_20230814
Update the roadmap: etcd 3.6.0 will depend on bbolt 1.4.0 instead of 1.3.8
2023-08-16 17:35:21 +08:00
c1b96473db Merge pull request #16420 from ahrtr/update_dependency_guide_20230815
Update dependency management guide
2023-08-15 18:19:44 +08:00
5fd09b4b8b Merge pull request #16417 from ahrtr/dependency_otelgrpc_20230814
dependency: bump go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc from 0.37.0 to 0.42.0
2023-08-15 18:18:32 +08:00
f965d474b8 Merge pull request #16421 from ahrtr/flaky_test_20230815
test: increase the timeout for the flaky test `TestCtlV3AuthCertCNWithWithConcurrentOperation`
2023-08-15 18:15:47 +08:00
bbee33e20a test: increase the timeout for the flaky test TestCtlV3AuthCertCNWithWithConcurrentOperation
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-08-15 10:35:44 +01:00
e3a1d7fb3c Merge pull request #16407 from jmhbnz/consolidate-robustness-templates
Consolidate robustness github actions templates
2023-08-15 16:30:14 +08:00
006b61f957 Update dependency management guide: the gRPC has already been bumped to v1.57
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-08-15 09:23:30 +01:00
4a3af340b7 dependency: bump go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc to v1.16.0
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-08-15 09:14:44 +01:00
2684447d0d dependency: bump go.opentelemetry.io/otel/sdk to 1.16.0
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-08-15 09:11:50 +01:00
38b2402971 dependency: bump go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc from 0.37.0 to 0.42.0
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-08-15 09:03:11 +01:00
602a38150b Consolidate robustness actions templates.
Signed-off-by: James Blair <mail@jamesblair.net>
2023-08-15 19:56:37 +12:00
b130741eb3 Merge pull request #16419 from iiamabby/update-example-config
Add example config for TLS protocol version
2023-08-15 15:32:49 +08:00
=
01317bf80a Add example config for TLS protocol version
Co-authored-by: James Blair <mail@jamesblair.net>
Signed-off-by: = <abby.crimlis@outlook.com>
2023-08-15 12:56:37 +12:00
ea16ed812f Merge pull request #16414 from ahrtr/dependency_20230814
Bump dependencies
2023-08-14 20:19:19 +01:00
0a7d7cdd44 Merge pull request #16410 from etcd-io/dependabot/github_actions/actions/setup-go-4.1.0
build(deps): bump actions/setup-go from 4.0.1 to 4.1.0
2023-08-14 20:10:21 +01:00
d30a0de5ca Merge pull request #16409 from etcd-io/dependabot/github_actions/github/codeql-action-2.21.4
build(deps): bump github/codeql-action from 2.21.2 to 2.21.4
2023-08-14 19:06:22 +01:00
bb21f0ee35 dependency: bump github.com/mikefarah/yq/v4 from 4.34.2 to 4.35.1
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-08-14 18:54:46 +01:00
dacecfde5f dependency: bump github.com/alexfalkowski/gocovmerge from 1.1.8 to 1.2.0
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-08-14 18:53:28 +01:00
731048d728 Merge pull request #16376 from geetasg/pr6
Update etcdutl restore to create v2 snapshot from v3
2023-08-14 18:33:11 +01:00
a464e9aebb build(deps): bump actions/setup-go from 4.0.1 to 4.1.0
Bumps [actions/setup-go](https://github.com/actions/setup-go) from 4.0.1 to 4.1.0.
- [Release notes](https://github.com/actions/setup-go/releases)
- [Commits](fac708d667...93397bea11)

---
updated-dependencies:
- dependency-name: actions/setup-go
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-14 17:29:06 +00:00
ab895b29f5 build(deps): bump github/codeql-action from 2.21.2 to 2.21.4
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2.21.2 to 2.21.4.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](0ba4244466...a09933a12a)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-14 17:28:57 +00:00
b4bf1579fa update the roadmap: etcd 3.6.0 will depend on bbolt 1.4.0 instead of 1.3.8
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-08-14 10:09:27 +01:00
b0887354e9 Update etcdutl restore to create v2 snapshot from v3
Signed-off-by: Geeta Gharpure <geetagh@amazon.com>
2023-08-11 21:47:34 +00:00
1edd8baf3c Merge pull request #16394 from jmhbnz/update-to-go-1.20
Migrate to golang 1.20
2023-08-11 07:59:34 +01:00
b6d123d08b Update to golang 1.20 minor release.
Signed-off-by: James Blair <mail@jamesblair.net>
2023-08-11 15:03:48 +12:00
baf7a34c3a Merge pull request #16397 from chaochn47/bump-up-dependency
2023-08-10 bump up dependencies
2023-08-10 08:35:05 +01:00
196b1f5ec5 Merge pull request #16392 from jmhbnz/add-lazyfs-arm64-support
Add lazyfs support for arm64 robustness workflow
2023-08-10 08:14:33 +01:00
6757c444c5 2023-08-10 bump up dependencies
Signed-off-by: chaochn47 <chaochn@amazon.com>
2023-08-10 09:13:34 +08:00
34c71d3eae Add lazyfs support for arm64 robustness.
Signed-off-by: James Blair <mail@jamesblair.net>
2023-08-09 21:56:18 +12:00
43f10cbd57 Merge pull request #16384 from ahrtr/coverage_20230807
replace github.com/gyuho/gocovmerge with github.com/wadey/gocovmerge
2023-08-07 20:49:38 +01:00
acfa46c02b replace github.com/gyuho/gocovmerge with github.com/alexfalkowski/gocovmerge
github.com/gyuho/gocovmerge has already been removed or turned into
a private repo. I believe it's also forked from github.com/wadey/gocovmerge.
So replace it with the original repo github.com/alexfalkowski/gocovmerge.

Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-08-07 20:13:04 +01:00
f4b5b052b9 Merge pull request #16379 from jmhbnz/weekly-dependencies
Bump golang.org/x/sys from 0.10.0 to 0.11.0
2023-08-07 07:40:44 +01:00
25315dd1f2 Merge pull request #16378 from serathius/qps-flakes
tests/robustness: Reduce minimal QPS to eliminate flakes
2023-08-06 20:49:32 +02:00
bf2170bb99 Merge pull request #16371 from serathius/txn-read
server: Separate txnRead from txnWrite
2023-08-06 20:46:51 +02:00
f7126aa1c3 depdendency: bump golang.org/x/sys from 0.10.0 to 0.11.0.
Signed-off-by: James Blair <mail@jamesblair.net>
2023-08-06 19:02:15 +12:00
a2bd589cdb tests/robustness: Reduce minimal QPS to eliminate flakes
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-08-05 19:27:10 +02:00
81ecac11cb server: Separate txnRead from txnWrite
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-08-04 20:46:33 +02:00
def3494a55 Merge pull request #16360 from iiamabby/weekly-dependencies
[2023-08-03] Bump dependencies identified by dependabot
2023-08-04 16:25:21 +01:00
524fddc426 Merge pull request #16355 from serathius/txn-refactor
server: Separate internal txn functions for recursion and have public function create transaction and trace
2023-08-04 15:54:14 +02:00
10c7e81cac Merge pull request #16358 from ahrtr/remove_creds_bundle_20230802
clientv3: remove the experimental gRPC API grpccredentials.Bundle
2023-08-04 08:46:02 +01:00
0021204c15 Merge pull request #16132 from geetasg/pr5
Add a method to export membership info to v2 store from RaftCluster
2023-08-04 08:43:27 +01:00
=
418bab0ed4 dependency: bump golang.org/x/net 0.12.0 to 0.13.0
Co-authored-by: James Blair <mail@jamesblair.net>
Signed-off-by: = <abby.crimlis@outlook.com>
2023-08-04 09:09:16 +12:00
cca200345a Merge pull request #16359 from jmhbnz/streamline-test-commands
Streamline test commands between branches
2023-08-03 17:51:34 +02:00
fa21c07baa server: Separate internal functions for recursion and have public function create transaction and trace
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-08-03 17:47:03 +02:00
=
5896e40d23 dependency: bump go.uber.org/zap 1.24.0 to 1.25.0
Co-authored-by: James Blair <mail@jamesblair.net>
Signed-off-by: = <abby.crimlis@outlook.com>
2023-08-03 14:46:33 +12:00
7a33184d90 Streamline test commands between branches.
Signed-off-by: James Blair <mail@jamesblair.net>
2023-08-03 12:39:12 +12:00
979102f895 clientv3: remove the experimental gRPC API grpccredentials.Bundle
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-08-02 19:35:51 +01:00
2b533b4bc2 Merge pull request #16354 from z764969689/main
Changelog: modify dependencies bumping go to 1.19.12
2023-08-02 09:49:48 +01:00
b6f095e367 Changelog: modify dependencies bumping go to 1.19.12
Signed-off-by: Luke Zhang <z764969689@163.com>
2023-08-02 16:17:42 +08:00
eb04f3ad8d Merge pull request #16338 from chaochn47/bump-up-grpc
Fix 15877 and bump up gRPC from v1.52.0 to v1.57.0
2023-08-02 08:36:02 +01:00
fbe5ca6747 Merge pull request #16346 from z764969689/main
bump go version to 1.19.12
2023-08-02 07:54:19 +01:00
569ec51965 bump go version to 1.19.12
Signed-off-by: Luke Zhang <z764969689@163.com>
2023-08-02 12:56:23 +08:00
f3a03247df Merge pull request #16265 from kensou97/expose-session-context
clientv3: add Ctx() to return context of session
2023-08-01 17:09:01 +01:00
8524903935 Merge pull request #16223 from kensou97/fix-barrier
clientv3: fix barrier.Wait() still block after barrier.Release()
2023-08-01 17:08:17 +01:00
9ad5189d3d Merge pull request #16313 from CaojiamingAlan/check_version
checks the client supported versions based on the current version
2023-08-01 09:23:38 +01:00
24c6fb4b4d Fix 15877 and bump up gRPC from v1.52.0 to v1.57.0
Signed-off-by: Chao Chen <chaochn@amazon.com>
2023-07-31 13:57:24 -07:00
4d4ba98c28 Merge pull request #16335 from etcd-io/dependabot/github_actions/github/codeql-action-2.21.2
build(deps): bump github/codeql-action from 2.21.0 to 2.21.2
2023-07-31 19:56:15 +01:00
b8f08c972f build(deps): bump github/codeql-action from 2.21.0 to 2.21.2
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2.21.0 to 2.21.2.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](1813ca74c3...0ba4244466)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-31 17:04:27 +00:00
9637b07f7b Merge pull request #16325 from serathius/reader-writer
Separate Writer interface from BatchTx interfaces
2023-07-31 11:48:52 +02:00
53cbd81009 Separate Writer interface from BatchTx interfaces
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-07-31 10:18:01 +02:00
41ab23c67b Merge pull request #16318 from jmhbnz/align-race-detection
Simplify go data race detection controls
2023-07-31 09:12:27 +01:00
9126a0fe11 Merge pull request #16324 from chaochn47/bump-up-gRPC
Fix http2 authority header in multiple endpoints scenario and bump up grpc from `v1.51.0` to `v1.52.0`
2023-07-31 08:58:58 +02:00
8aeed09f2c endpoints.Interpret returns Host:port as ServerName
Signed-off-by: Chao Chen <chaochn@amazon.com>
2023-07-28 16:19:54 -07:00
e5b7dde17e Add a method to export membership info to v2 store from RaftCluster
Signed-off-by: Geeta Gharpure <geetagh@amazon.com>
2023-07-28 16:55:41 +00:00
3b708df1e0 Merge pull request #16320 from serathius/rlock2
Remove RLock/RUnlock from BatchTx
2023-07-28 12:11:53 +02:00
29769984e6 Remove RLock/RUnlock from BatchTx
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-07-28 11:39:50 +02:00
44f6f4a4a2 Merge pull request #16323 from jmhbnz/improve-default-labels
Automate adding area/testing label to flake issues
2023-07-28 05:33:11 +01:00
c023c06903 checks the client supported versions based on the current version
Signed-off-by: caojiamingalan <alan.c.19971111@gmail.com>
2023-07-27 19:42:02 -05:00
9bd0e83cdf Automate adding area/testing label to flake issues.
Signed-off-by: James Blair <mail@jamesblair.net>
2023-07-28 10:07:08 +12:00
e59e3d709c dependency: bump google.golang.org/grpc from 1.51.0 to 1.52.0
Signed-off-by: Chao Chen <chaochn@amazon.com>
2023-07-27 13:25:12 -07:00
9f72c648d3 Merge pull request #14691 from serathius/lazyfs
tests: Add support for lazyfs
2023-07-27 15:27:10 +02:00
145cae36ef Merge pull request #16312 from serathius/rlock
server: Remove Lock/Unlock from ReadTx
2023-07-27 15:18:53 +02:00
5b9b303fa7 Simplify go data race detection control.
Use data race detection by default for all amd64 and arm64 tests.

Remove redundant parameters in github workflows.

Signed-off-by: James Blair <mail@jamesblair.net>
2023-07-27 23:49:09 +12:00
eb32d9cccc tests: Add support for lazyfs
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-07-27 13:42:38 +02:00
6981e4820f Merge pull request #16317 from serathius/substruct
tests: Make EtcdServerProcess substruct of proxyEtcdProcess to dummy methods when extending EtcdProcess interface
2023-07-27 13:41:14 +02:00
b4f8a7be51 server: Remove Lock/Unlock from ReadTx
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-07-27 13:34:43 +02:00
424ced9ff3 Merge pull request #16248 from CaojiamingAlan/replace_lock_with_rlock
Replace unnecessary Lock()/Unlock()s with RLock()/RUnlock()s
2023-07-27 12:15:46 +02:00
828e789c18 tests: Make EtcdServerProcess substruct of proxyEtcdProcess to dummy methods when extending EtcdProcess interface
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-07-27 10:04:02 +02:00
d327cacb2f Hold to v10.0.0 version
Signed-off-by: Vitaly Zhuravlev <v-zhuravlev@users.noreply.github.com>
2023-07-26 20:47:48 +00:00
af07f18dce Merge pull request #16272 from gocurr/fix_unique_urls
pkg/flags: fix UniqueURLs'Set to remove duplicates in UniqueURLs'uss
2023-07-26 16:26:42 +01:00
4f78cc0810 pkg/flags: fix UniqueURLs'Set to remove duplicates in UniqueURLs'uss
From the name of func 'UniqueURLsFromFlag', we can tell that UniqueURLs'uss
should not have duplicates. The current implemention of UniqueURLs'Set
has a bug to make it unique.

Fixes: #16307.

Signed-off-by: Jes Cok <xigua67damn@gmail.com>
2023-07-26 22:28:44 +08:00
6aad5084b0 Merge pull request #16310 from fuweid/test-lazyfs
tests/robustness: enhance compact failpoint
2023-07-26 16:01:07 +02:00
516e096a97 tests/robustness: enhance compact failpoint
If the cluster serves requests slowly, the database has few revision
number and then Compact won't trigger BatchCommit. Add a loop to check
the last revision is big enough to trigger panic.

Signed-off-by: Wei Fu <fuweid89@gmail.com>
2023-07-26 21:32:16 +08:00
21c4061d5c Merge pull request #16288 from skitt/server-semconv-v1.17.0
server: switch to semconv v1.17.0
2023-07-26 13:30:55 +01:00
a6bffb8565 Merge pull request #16306 from ArkaSaha30/main
Manual Dependency Bump
2023-07-26 13:00:59 +01:00
da58ac9847 Bump github.com/mattn/go-runewidth to v0.0.15
Signed-off-by: ArkaSaha30 <arkasaha30@gmail.com>
2023-07-26 13:02:43 +05:30
326dab9bd7 Merge pull request #16279 from ahrtr/roadmap_20230721
Documentation: add roadmap
2023-07-26 08:14:17 +01:00
cb4d3a5697 Documentation: add a roadmap
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-07-25 15:54:22 +01:00
0ba8b0fb16 Merge pull request #16294 from etcd-io/dependabot/github_actions/github/codeql-action-2.21.0
build(deps): bump github/codeql-action from 2.20.4 to 2.21.0
2023-07-25 07:29:03 +01:00
0e8c52504e build(deps): bump github/codeql-action from 2.20.4 to 2.21.0
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2.20.4 to 2.21.0.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](489225d82a...1813ca74c3)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-24 17:56:26 +00:00
1010115b8f server: switch to semconv v1.17.0
This is the latest semconv package used in etcd's dependencies.
Switching to that version reduces the overall package dependencies of
the project (and helps downstream projects which track this,
e.g. Kubernetes).

Signed-off-by: Stephen Kitt <skitt@redhat.com>
2023-07-24 15:53:04 +02:00
d204487b6a Merge pull request #16283 from lance5890/fix_typo_in_raft.go
update typo in raft.go
2023-07-24 12:42:37 +01:00
0f975acf2f update typo in raft.go
Signed-off-by: lan.tian <lance5890@163.com>
2023-07-24 15:48:55 +08:00
26b3ecf5aa Merge pull request #16281 from eltociear/fix-typo
Fix typo in triage_issues.md
2023-07-23 14:51:46 +01:00
0a314c9da3 Fix typo in triage_issues.md
Signed-off-by: Ikko Eltociear Ashimine <eltociear@gmail.com>
2023-07-23 22:47:17 +09:00
6979a06e6c Merge pull request #16257 from etcd-io/dependabot/go_modules/github.com/cheggaaa/pb/v3-3.1.4
build(deps): bump github.com/cheggaaa/pb/v3 from 3.1.2 to 3.1.4
2023-07-22 06:14:57 +01:00
8d85baec80 dependency: bump github.com/cheggaaa/pb/v3 from 3.1.2 to 3.1.4 for etcdctl and tests
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-07-21 16:14:59 +01:00
824337a272 build(deps): bump github.com/cheggaaa/pb/v3 from 3.1.2 to 3.1.4
Bumps [github.com/cheggaaa/pb/v3](https://github.com/cheggaaa/pb) from 3.1.2 to 3.1.4.
- [Commits](https://github.com/cheggaaa/pb/compare/v3.1.2...v3.1.4)

---
updated-dependencies:
- dependency-name: github.com/cheggaaa/pb/v3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-21 16:12:27 +01:00
d1ade07ab0 Merge pull request #16261 from etcd-io/dependabot/go_modules/tools/mod/github.com/mikefarah/yq/v4-4.34.2
build(deps): bump github.com/mikefarah/yq/v4 from 4.34.1 to 4.34.2 in /tools/mod
2023-07-21 15:58:51 +01:00
cd453b931f Merge pull request #16271 from johnshajiang/cleanup-cluster
tests: cleanup unnecessary assignment in cluster.go
2023-07-20 08:16:36 +01:00
92de641a22 Merge pull request #16268 from fuweid/fix-TestPageWriterRandom
pkg/ioutil: deflake TestPageWriterRandom
2023-07-19 16:07:47 +01:00
51a22c21ff tests: cleanup unnecessary assignment in cluster.go
Signed-off-by: John Jiang <john.sha.jiang@gmail.com>
2023-07-19 21:58:33 +08:00
fddd1add52 pkg/ioutil: deflake TestPageWriterRandom
The PageWriter has cache buffer so that it doesn't call the Writer until
the cache is almost full. Since the data's length is random, the pending
bytes should be always less than cache buffer size, instead of page
size.

Fix: #16255

Signed-off-by: Wei Fu <fuweid89@gmail.com>
2023-07-18 23:18:01 +08:00
35628b9c78 Merge pull request #16230 from jmhbnz/align-arm64-commands
Ensure release is run for arm64 e2e nightly tests
2023-07-18 12:04:33 +01:00
3ff0128842 Fix obtaining UPGRADE_VER in test.sh
Obtain tags from git ls-remote to avoid reliance on local repository state.

Signed-off-by: James Blair <mail@jamesblair.net>
2023-07-18 21:57:51 +12:00
e209968dc3 Merge pull request #16263 from Rajalakshmi-Girish/flake-grpc-rr
Fix flaky integration/clientv3/naming TestEtcdGrpcResolverRoundRobin
2023-07-18 09:49:56 +01:00
eb204f1d32 Merge pull request #16256 from gocurr/simplify_fmt_print
etcdctl/ctlv3/command: simplify code using fmt.Printf with '\n'
2023-07-18 09:47:36 +01:00
7aad281317 Merge pull request #16252 from gocurr/avoid_hardcoding
pkg/expect: avoid hardcoding when checking ErrProcessDone
2023-07-18 09:47:03 +01:00
2f65f56351 Ensure release is run for arm64 e2e nightly tests.
Signed-off-by: James Blair <mail@jamesblair.net>
2023-07-18 20:16:55 +12:00
c3e5201972 clientv3: fix barrier.Wait() still block after barrier.Release() in some cases
Signed-off-by: Wenkang Zhang <314830391@qq.com>
2023-07-18 15:48:48 +08:00
03d8fff0d8 clientv3: add Ctx() to return context of session
Signed-off-by: Wenkang Zhang <314830391@qq.com>
2023-07-18 15:22:53 +08:00
ea72194935 Fix flaky integration/clientv3/naming TestEtcdGrpcResolverRoundRobin
Signed-off-by: Rajalakshmi Girish <rajalakshmi.girish1@ibm.com>
2023-07-17 23:53:02 -07:00
0c643dfb21 Merge pull request #16258 from etcd-io/dependabot/github_actions/github/codeql-action-2.20.4
build(deps): bump github/codeql-action from 2.20.3 to 2.20.4
2023-07-17 19:30:35 +01:00
b71f335740 build(deps): bump github.com/mikefarah/yq/v4 in /tools/mod
Bumps [github.com/mikefarah/yq/v4](https://github.com/mikefarah/yq) from 4.34.1 to 4.34.2.
- [Release notes](https://github.com/mikefarah/yq/releases)
- [Changelog](https://github.com/mikefarah/yq/blob/master/release_notes.txt)
- [Commits](https://github.com/mikefarah/yq/compare/v4.34.1...v4.34.2)

---
updated-dependencies:
- dependency-name: github.com/mikefarah/yq/v4
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-17 17:40:07 +00:00
91215fb1ca build(deps): bump github/codeql-action from 2.20.3 to 2.20.4
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2.20.3 to 2.20.4.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](46ed16ded9...489225d82a)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-17 17:24:31 +00:00
223a75b399 etcdctl/ctlv3/command: simplify code using fmt.Printf with '\n'
The current printing code is complicated. This PR simplifies the
code and reduces the function calls.

Signed-off-by: Jes Cok <xigua67damn@gmail.com>
2023-07-17 19:37:15 +08:00
e282e6c111 Fix typo in mixin Makefile
Signed-off-by: Vitaly Zhuravlev <v-zhuravlev@users.noreply.github.com>
2023-07-17 09:32:59 +00:00
bedd13298d Merge pull request #16251 from liangyuanpeng/changelog_backport_13577
Add changelog for backport 13577 to 3.4&3.5.
2023-07-17 08:25:25 +01:00
11d22abe2b Merge pull request #16249 from iuriatan/update-linter
Update linter and protoc
2023-07-17 09:13:06 +02:00
Lan
6a9ea5ba6c Add changelog for backport 13577 to 3.4&3.5.
Signed-off-by: Lan Liang <gcslyp@gmail.com>
2023-07-17 13:39:15 +08:00
5e65553d27 pkg/expect: avoid hardcoding when checking ErrProcessDone
ExpectProcess's Stop method uses 'strings.Contains' to check
the returned err, however, this can be avoided. os.ErrProcessDone's
error message is the same as the hardcoded string. So I think
this explicit error is what this method wants to compare.

Signed-off-by: Jes Cok <xigua67damn@gmail.com>
2023-07-17 13:14:15 +08:00
ff411f517f Merge pull request #16224 from CaojiamingAlan/expose_isOptsWithFromKey_and_isOptsWithPrefix
expose op.isOptsWithFromKey and op.isOptsWithPrefix
2023-07-15 18:35:39 +01:00
bc97a94564 Follow up https://github.com/etcd-io/etcd/pull/16068#discussion_r1263664700
Replace unnecessary Lock()/Unlock()s with RLock()/RUnlock()s

Signed-off-by: caojiamingalan <alan.c.19971111@gmail.com>
2023-07-14 20:08:25 -05:00
f5644361d0 Refactor monitroing mixin's dashboard
Uses new grafonnet lib to declare dashboard. Generated dashboard has same layout, but now has timeseries panels instead of deprecated graphs

Signed-off-by: Vitaly Zhuravlev <v-zhuravlev@users.noreply.github.com>
2023-07-15 00:16:51 +00:00
a3bd22beef Add etcd_selector to dashboard queries
Otherwise common metrics like 'process_resident_memory_bytes' can return non etcd metrics (when cluster label is 'cluster' for example)

Signed-off-by: Vitaly Zhuravlev <v-zhuravlev@users.noreply.github.com>
2023-07-15 00:16:51 +00:00
f8d4b4ef91 Added lint config & alert summaries
Signed-off-by: Vitaly Zhuravlev <v-zhuravlev@users.noreply.github.com>
2023-07-15 00:16:51 +00:00
b424e60289 Update protoc from 3.14.0 to 3.20.3
Signed-off-by: iuriatan <iuriatan@gmail.com>
2023-07-14 16:46:26 -03:00
abbfc2964a Fix goword issue
Fix `make verify` issues after updating golangci-lint

Signed-off-by: iuriatan <iuriatan@gmail.com>
2023-07-14 16:46:26 -03:00
b798aae9c5 Update golangci-lint from 1.49.0 to 1.53.3
Signed-off-by: iuriatan <iuriatan@gmail.com>
2023-07-14 16:46:26 -03:00
882edb3d63 Merge pull request #16231 from jmhbnz/robustness-arm64-release-35
Add new job for nightly release35 arm64 robustness
2023-07-14 14:56:38 +01:00
c59bc52286 Merge pull request #16200 from kensou97/keepalive-ctx-closer
clientv3: create keepAliveCtxCloser goroutine only if ctx can be canc…
2023-07-14 13:46:15 +01:00
dee90e19f1 Merge pull request #16229 from ahrtr/changelog_20230712
Changelog: add items to cover the fix of bumping go to 1.19.11
2023-07-14 12:08:07 +01:00
2dc7891c7b Merge pull request #16234 from jmhbnz/add-new-reviewer
Add jmhbnz as etcd reviewer
2023-07-13 12:01:48 +02:00
f008184b0e Merge pull request #16232 from cuishuang/main
remove repetitive the
2023-07-13 11:59:14 +02:00
a35d24ab72 Add jmhbnz as etcd reviewer.
Signed-off-by: James Blair <mail@jamesblair.net>
2023-07-13 21:46:04 +12:00
6760dc9572 remove repetitive the
Signed-off-by: cui fliter <imcusg@gmail.com>
2023-07-13 17:01:01 +08:00
5ffac59d88 Add new job for nightly release35 arm64 robustness.
Signed-off-by: James Blair <mail@jamesblair.net>
2023-07-13 20:58:16 +12:00
1cf49e5ef0 Merge pull request #16173 from fuweid/fix-datarace-in-expect
pkg/expect: fix data race
2023-07-13 08:49:13 +01:00
1ee6be793e Merge pull request #16226 from ahrtr/go_20230712
Bump go version to 1.19.11 to fix CVE GO-2023-1878
2023-07-13 09:30:57 +02:00
56edfa6e28 pkg/expect: fix data race
Let's say there is command which outputs one line and exit with error.

There are three goroutines to acquire the lock:

1. ep.read()
2. ep.waitSaveExitErr()
3. ep.Expect()

When ep.read goroutine reads the log but it doesn't acquire the lock in
time, the ep.waitSaveExitErr acquires the lock and updates the
`exitErr`. And then ep.Expect acquires lock but it doesn't see any log
yet and then returns err.

It's hard to reproduce it in local. Add the extra sleep can reproduce it.

```diff
diff --git a/pkg/expect/expect.go b/pkg/expect/expect.go
index a512a3ce4..602bea73f 100644
--- a/pkg/expect/expect.go
+++ b/pkg/expect/expect.go
@@ -128,6 +128,7 @@ func (ep *ExpectProcess) tryReadNextLine(r *bufio.Reader) error {
        printDebugLines := os.Getenv("EXPECT_DEBUG") != ""
        l, err := r.ReadString('\n')

+       time.Sleep(10 * time.Millisecond)
        ep.mu.Lock()
        defer ep.mu.Unlock()
```

See it once in Github Action [1]. In order to fix it, the patch introduces
`readCloseCh` to wait for ep.read to get all the data and retry it.

[1]: https://github.com/etcd-io/etcd/pull/16137#issuecomment-1605838518

Signed-off-by: Wei Fu <fuweid89@gmail.com>
2023-07-13 14:56:21 +08:00
8fd423332e Changelog: add items to cover the fix of bumping go to 1.19.11
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-07-12 17:02:09 +01:00
3c33fc1cf7 bump go version to 1.19.11
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-07-12 16:47:49 +01:00
930dbbc28d Merge pull request #16196 from fuweid/benchmark-support-range-countonly
tools/benchmark: support --count-only for range
2023-07-12 16:42:38 +01:00
5216eea132 Merge pull request #16198 from vianamjr/clientv3-precent-nil-pointer
Clientv3 prevent nil pointer
2023-07-12 15:42:26 +01:00
06579d9cd1 expose op.isOptsWithFromKey and op.isOptsWithPrefix
Signed-off-by: caojiamingalan <alan.c.19971111@gmail.com>
2023-07-11 14:34:51 -05:00
a639ecd4ee Merge pull request #16219 from ahrtr/3.4.27_release_date
Changelog: update etcd 3.4.27's release date
2023-07-11 13:07:39 +02:00
d934510bdd Changelog: update etcd 3.4.27's release date
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-07-11 10:38:08 +01:00
4f37baf287 Merge pull request #16152 from jmhbnz/template-arm64-jobs
Templated arm64 integration and e2e workflows for main and release-3.5
2023-07-11 10:12:32 +02:00
2d771b6f8f Merge pull request #16189 from jmhbnz/update-community-meeting
Update community meeting frequency to fortnightly
2023-07-11 09:36:15 +02:00
d206977927 Merge pull request #16218 from fuweid/update34changelog
CHANGELOG: add item for 3.4.27
2023-07-11 09:06:39 +02:00
c2474d2999 CHANGELOG: add item for 3.4.27
- embed: fix nil pointer dereference when stopServer

Signed-off-by: Wei Fu <fuweid89@gmail.com>
2023-07-11 14:55:28 +08:00
c853b9c337 Merge pull request #16210 from ahrtr/dependency_20230710
Bump dependencies
2023-07-10 20:21:07 +01:00
1f07d8f159 Merge pull request #16205 from etcd-io/dependabot/github_actions/github/codeql-action-2.20.3
build(deps): bump github/codeql-action from 2.20.2 to 2.20.3
2023-07-10 19:18:24 +01:00
5ed5807bf4 Merge pull request #16197 from wenjiaswe/patch-2
Asking for approval to regain maintainer status
2023-07-10 20:10:58 +02:00
bad0894aa3 dependency: bump gotest.tools/gotestsum from v1.10.0 to v1.10.1
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-07-10 18:51:51 +01:00
2c22ca7eba dependency: bump golang.org/x/net from v0.11.0 to v0.12.0
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-07-10 18:43:30 +01:00
843ddb4b1e dependency: bump golang.org/x/crypto from v0.10.0 to v0.11.0
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-07-10 18:40:35 +01:00
149256735d dependency: bump golang.org/x/sys from v0.9.0 to v0.10.0
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-07-10 18:38:16 +01:00
0afea07767 build(deps): bump github/codeql-action from 2.20.2 to 2.20.3
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2.20.2 to 2.20.3.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](004c5de30b...46ed16ded9)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-10 17:25:31 +00:00
2ec12e4b4e clientv3: prevent nil pointer call in get method
Signed-off-by: Marcondes Viana <marju10@gmail.com>
2023-07-10 08:16:00 -03:00
21eb8d2c3b clientv3: create keepAliveCtxCloser goroutine only if ctx can be canceled
Signed-off-by: zhangwenkang <zwenkang@vmware.com>
2023-07-10 01:11:23 +08:00
4755a1646c Update MAINTAINERS
Sending this PR to ask for approval to regain maintainer status.

Signed-off-by: Wenjia Zhang <wenjiazhang@google.com>
2023-07-07 01:16:47 -07:00
82f6cb4635 Merge pull request #16194 from wenjiaswe/patch-1
Update CHANGELOG for #16029 #16165 #16193
2023-07-07 09:39:42 +02:00
e3e58880d3 Update CHANGELOG for #16029 #16165 #16193
Signed-off-by: Wenjia Zhang <wenjiazhang@google.com>
2023-07-07 00:29:49 -07:00
70c8f04a18 tools/benchmark: support --count-only for range
Signed-off-by: Wei Fu <fuweid89@gmail.com>
2023-07-07 15:07:12 +08:00
ac88260aaf Merge pull request #16191 from chaochn47/fix-runtime-reconfig-test
tests: exclude learner endpoint from MemberPromote
2023-07-07 07:15:02 +01:00
0b6fd24afb Update community meeting frequency to fortnightly.
Signed-off-by: James Blair <mail@jamesblair.net>
2023-07-07 15:00:37 +12:00
4364e7581b Merge pull request #16120 from Tachone/shitao.lst/fix_db_close
etcdutl: fix db double closed
2023-07-06 20:03:51 +01:00
f4444e8fb3 Merge pull request #16154 from CaojiamingAlan/uber_applier_test
add tests for uber applier
2023-07-06 20:00:11 +01:00
cd6cab5e03 Merge pull request #16190 from kensou97/changelog-16188
update changelog for #16188
2023-07-06 18:59:31 +01:00
e5f6673e1a tests: exclude learner endpoints from MemberPromote
Signed-off-by: Chao Chen <chaochn@amazon.com>
2023-07-06 09:05:16 -07:00
6f94f118e6 update changelog for #16188
Signed-off-by: zhangwenkang <zwenkang@vmware.com>
2023-07-06 17:22:10 +08:00
e887e5291a Merge pull request #16067 from geetasg/pr1
Adding test for updateClusterVersionV3
2023-07-06 08:36:19 +01:00
93bfdba265 Merge pull request #16156 from kensou97/fix-barrier
clientv3: remove v3.WithFirstKey() in Barrier.Wait()
2023-07-06 08:29:21 +01:00
226e2cf1c8 Merge pull request #15924 from CaojiamingAlan/add-cluster-id-check-for-hashKVHandler
Add cluster id check for hash kv handler
2023-07-05 20:41:41 +01:00
eff9517a90 etcdserver: add cluster id check for hashKVHandler
Signed-off-by: caojiamingalan <alan.c.19971111@gmail.com>
2023-07-05 14:09:40 -05:00
89bbba8fb3 Merge pull request #16174 from twz123/jwt-ed25519-support
auth: Support for EdDSA JWT algorithm
2023-07-05 12:29:04 +01:00
a8a9ebd281 auth: Support for EdDSA JWT algorithm
The golang-jwt library supports this already, so supporting it is just a
matter of wiring things up.

Signed-off-by: Tom Wieczorek <twieczorek@mirantis.com>
2023-07-05 11:33:08 +02:00
76285f7f0f Merge pull request #15962 from HubertZhang/changelog-15939
update changelog for #15939
2023-07-05 10:20:56 +01:00
3d3e91c6e3 clientv3: remove v3.WithFirstKey() in Barrier.Wait()
fix the unexpected blocking when using Barrier.Wait(), e.g.
NewBarrier(client, "a").Wait() will block if key "a" is not existed but "a0" is existed, but it should return immediately.

Signed-off-by: zhangwenkang <zwenkang@vmware.com>
2023-07-04 22:01:54 +08:00
ac58abcf7e Merge pull request #16155 from chaochn47/update-README
update README about profile learner
2023-07-04 14:08:51 +01:00
534b1e5233 Merge pull request #16161 from serathius/robustness-limit-non-unique-writes
tests/robustness: Prevent to many concurrent non-unique writes which are causing linearization to timeout
2023-07-04 08:56:51 +02:00
e04ab3fdc4 Merge pull request #16168 from etcd-io/dependabot/go_modules/tools/mod/gotest.tools/v3-3.5.0
build(deps): bump gotest.tools/v3 from 3.4.0 to 3.5.0 in /tools/mod
2023-07-03 19:41:39 +01:00
fdae5a79f1 Merge pull request #16169 from etcd-io/dependabot/github_actions/github/codeql-action-2.20.2
build(deps): bump github/codeql-action from 2.20.1 to 2.20.2
2023-07-03 19:33:31 +01:00
c03965aebe build(deps): bump github/codeql-action from 2.20.1 to 2.20.2
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2.20.1 to 2.20.2.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](f6e388ebf0...004c5de30b)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-03 17:49:04 +00:00
11e90c0bdb build(deps): bump gotest.tools/v3 from 3.4.0 to 3.5.0 in /tools/mod
Bumps [gotest.tools/v3](https://github.com/gotestyourself/gotest.tools) from 3.4.0 to 3.5.0.
- [Release notes](https://github.com/gotestyourself/gotest.tools/releases)
- [Commits](https://github.com/gotestyourself/gotest.tools/compare/v3.4.0...v3.5.0)

---
updated-dependencies:
- dependency-name: gotest.tools/v3
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-03 17:23:21 +00:00
e626c4dddb Merge pull request #16166 from ahrtr/mark_compaction_comment_20230703
etcdutl: update description for `--mark-compacted and` and `--bump-revision` flags in snapshot restore command
2023-07-03 14:30:44 +01:00
49d6d7e259 etcdutl: update description for --mark-compacted and --bump-revision flags in snapshot restore command
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-07-03 13:50:26 +01:00
8fca6ebdb2 tests/robustness: Prevent to many concurrent non-unique writes which are causing linearization to timeout
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-07-03 14:39:23 +02:00
c6fd719ccf Merge pull request #16029 from dusk125/revision-bump
Adding optional revision bump to snapshot restore
2023-07-03 07:01:53 +01:00
57a583d140 Merge pull request #16153 from serathius/robustness-report-load
tests/robustness: Implement loading client reports
2023-07-02 11:20:30 +02:00
ffe73f9a15 add tests for uber applier
Signed-off-by: caojiamingalan <alan.c.19971111@gmail.com>
2023-06-30 22:03:29 -05:00
856790de36 Templated arm64 e2e workflows for main and release-3.5.
Signed-off-by: James Blair <mail@jamesblair.net>
2023-06-29 20:39:15 +12:00
4ea8da7df2 Templated arm64 integration workflows for main and release-3.5.
Signed-off-by: James Blair <mail@jamesblair.net>
2023-06-29 20:39:09 +12:00
249e6c27d6 update README about profile learner
Signed-off-by: Chao Chen <chaochn@amazon.com>
2023-06-28 23:54:20 -07:00
11da84a1d1 tests/robustness: Implement loading client reports
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-06-28 15:35:17 +02:00
833aabe4cd Merge pull request #16149 from ArkaSaha30/main
Manual Dependency Bump
2023-06-28 10:04:50 +01:00
22f9dac7b1 Merge pull request #15708 from chaochn47/confchange_raft_node_notifies_apply
raft node notifies configure when confChanged
2023-06-28 10:03:50 +01:00
37bd1e3382 Bump dependency manually
Signed-off-by: ArkaSaha30 <arkasaha30@gmail.com>
2023-06-28 12:39:27 +05:30
7bd77c2e62 etcdutl: fix db double closed
Signed-off-by: shitao.lst <acm_tach@163.com>
2023-06-28 11:51:46 +08:00
bda68d8d06 Merge pull request #16074 from geetasg/pr2
Enable test to verify membership recovery from backend
2023-06-27 20:24:51 +01:00
be3e851264 Adding optional revision bump and mark compacted to snapshot restore
Signed-off-by: Allen Ray <alray@redhat.com>
2023-06-27 09:26:25 -04:00
46d3d3671c Merge pull request #16145 from etcd-io/dependabot/github_actions/ossf/scorecard-action-2.2.0
build(deps): bump ossf/scorecard-action from 2.1.3 to 2.2.0
2023-06-27 10:34:39 +01:00
ea9112b940 Merge pull request #16146 from etcd-io/dependabot/github_actions/github/codeql-action-2.20.1
build(deps): bump github/codeql-action from 2.20.0 to 2.20.1
2023-06-27 10:03:16 +01:00
9f351b3ec6 Merge pull request #16127 from chaochn47/runtime-reconfig-tests
add runtime reconfiguration tests
2023-06-27 09:56:56 +01:00
24ecae0c35 build(deps): bump github/codeql-action from 2.20.0 to 2.20.1
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2.20.0 to 2.20.1.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](6c089f53dd...f6e388ebf0)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-27 08:26:18 +00:00
7b7f9740be build(deps): bump ossf/scorecard-action from 2.1.3 to 2.2.0
Bumps [ossf/scorecard-action](https://github.com/ossf/scorecard-action) from 2.1.3 to 2.2.0.
- [Release notes](https://github.com/ossf/scorecard-action/releases)
- [Changelog](https://github.com/ossf/scorecard-action/blob/main/RELEASE.md)
- [Commits](80e868c13c...08b4669551)

---
updated-dependencies:
- dependency-name: ossf/scorecard-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-27 08:26:16 +00:00
56fc5e6c80 Merge pull request #16148 from CaojiamingAlan/fix_tag_in_comment
fix action tag comment pattern to be consistent
2023-06-27 10:25:36 +02:00
6cdc9ae4fe server/etcdserver/raft.go:
1. rename confChangeCh to raftAdvancedC
2. rename waitApply to confChanged
3. add comments and test assertion

Signed-off-by: Chao Chen <chaochn@amazon.com>
2023-06-26 22:42:44 -07:00
9f68fcc602 fix action tag comment pattern to be consistent
Signed-off-by: caojiamingalan <alan.c.19971111@gmail.com>
2023-06-26 18:03:19 -05:00
ad3b6ee4c6 etcdserver: wait for raft is notified on confChange before responding to client
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-06-26 13:40:51 -07:00
8e161b68f3 add runtime reconfiguration tests
Signed-off-by: Chao Chen <chaochn@amazon.com>
2023-06-26 09:09:39 -07:00
d3233fec0a Merge pull request #16136 from serathius/robustness-watch-validation
Robustness watch validation
2023-06-26 14:43:02 +02:00
1967b8e5e6 Merge pull request #16086 from CaojiamingAlan/applier_test
etcdserver: add tests for apply_auth.go
2023-06-26 12:20:05 +02:00
09c462e2ea tests/robustness: Add resumable validation and improve reliable validation
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-06-26 12:12:39 +02:00
3ea0cb8d9c Merge pull request #16137 from fuweid/deflake-failpoint-cases
*: should return exitCode even if cmd isn't nil
2023-06-26 11:39:02 +02:00
467afe2c4b Merge pull request #16135 from serathius/robustness-watch-operations
tests/robustness: Store whole watch operations
2023-06-26 11:13:26 +02:00
739239f131 Merge pull request #16117 from daljitdokal/main
Update 3.4 and 3.5 changelogs for compile with 1.19.10
2023-06-25 17:03:08 +01:00
b3316c0e09 *: should return exitCode even if cmd isn't nil
For the pkg/expect package, if the process has been stopped but there is
no `Close()` call, the `ExitCode()` won't return exit code correctly.
The `ExitCode()` should check `exitErr` and return exit code if cmd isn't nil.

And introduces `exitCode` to return correct exit code based on the
process is signaled or exited.

Signed-off-by: Wei Fu <fuweid89@gmail.com>
2023-06-25 10:39:34 +08:00
e73f26339e Update 3.4 and 3.5 changelogs for compile with 1.19.10
Signed-off-by: Daljit Singh <daljit.dokal@yahoo.co.nz>
2023-06-25 08:34:34 +12:00
26cd2bc017 tests/robustness: Store whole watch operations
Want to keep watch requests to properly validate reliability of watch
stream.

Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-06-24 18:15:50 +02:00
31b20ef40f Merge pull request #16129 from serathius/robustness-fix-patch-txn-onfailure
Robustness fix patch txn onfailure
2023-06-24 17:32:31 +02:00
9ff3e66354 Merge pull request #16131 from serathius/robustness-combine-watch-history
tests/robustness: Combine watch histories
2023-06-24 11:22:18 +02:00
1f6e1102a2 tests/robustness: Fix operation patching for txn with onFailure operations
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-06-24 11:20:12 +02:00
0ae8f26f06 tests/robustness: Refactor patch operation functions
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-06-24 11:19:24 +02:00
0e8232950a Merge pull request #16111 from serathius/robustness-pagination
tests/robustness: Implement Kubernetes pagination
2023-06-23 22:29:44 +02:00
78ca04a94a tests/robustness: Combine watch histories
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-06-23 18:40:07 +02:00
3e725aceef Merge pull request #16128 from sharathsivakumar/shsi/bump_dependency_wip
Manual dependency Bump
2023-06-23 17:14:11 +01:00
11aa59c42d etcdserver: add tests for apply_auth.go
Signed-off-by: caojiamingalan <alan.c.19971111@gmail.com>
2023-06-23 10:58:30 -05:00
b92981606a dependency: bump github.com/prometheus/client_golang v1.15.1 to v1.16.0
Signed-off-by: sharathsivakumar <mailssr9@gmail.com>
2023-06-23 16:39:09 +02:00
d8ae7de3a5 dependency: bump golang.org/x/sync from 0.2.0 to 0.3.0
Signed-off-by: sharathsivakumar <mailssr9@gmail.com>
2023-06-23 16:38:18 +02:00
c8247731a2 Merge pull request #16099 from chaochn47/enable_failpoint_in_integration_test
Enable failpoint in integration test
2023-06-23 13:15:08 +01:00
120f1d6d05 Merge pull request #16116 from jmhbnz/new-runner-docs
Document steps for setting up new arm64 self hosted actions runner
2023-06-23 10:36:17 +02:00
c3720fac3d tests/robustness: Implement Kubernetes pagination
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-06-23 09:44:22 +02:00
f985890ac3 Merge pull request #16113 from serathius/robustness-range
tests/robustness: Implement proper range requests
2023-06-22 20:50:27 +02:00
6fd77ac613 Merge pull request #16123 from serathius/robustness-txn-key-prefix
tests/robustness: Fix multi txn key prefix
2023-06-22 20:37:56 +02:00
2e7cb772b2 tests/robustness: Implement proper range requests
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-06-22 18:36:43 +02:00
f7831e2607 tests/robustness: Move key into dedicated options to allow to implement proper ranges
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-06-22 18:27:54 +02:00
3f09a51c60 tests/robustness: Make watch event independent from etcd operation
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-06-22 15:43:27 +02:00
0d2d383f0a tests/robustness: Fix multi txn key prefix
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-06-22 14:27:31 +02:00
6d79b86219 Enable failpoint by default in integration tests
Signed-off-by: Chao Chen <chaochn@amazon.com>
2023-06-21 23:13:46 -07:00
04d24c2128 Merge pull request #16100 from geetasg/pr4
Verify consistent index is latest at the time of snapshot
2023-06-22 07:10:23 +01:00
090724b753 Document steps for setting up new actions runner.
Signed-off-by: James Blair <mail@jamesblair.net>
2023-06-22 08:25:04 +12:00
54fab1c141 Merge pull request #16122 from serathius/robustness-etcd-range
tests/robustness: Add List and StaleList requests to etcd traffic
2023-06-21 21:53:26 +02:00
9fc438cb6b tests/robustness: Add List and StaleList requests to etcd traffic
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-06-21 18:03:41 +02:00
66553d4f07 Merge pull request #16090 from tjungblu/changelog_leaseput
update change logs with lease put improvements
2023-06-21 13:23:16 +01:00
e3f2638aea update change logs with lease put improvements
Signed-off-by: Thomas Jungblut <tjungblu@redhat.com>
2023-06-21 12:18:20 +02:00
de6415801e Merge pull request #16110 from etcd-io/dependabot/github_actions/github/codeql-action-2.20.0
build(deps): bump github/codeql-action from 2.3.6 to 2.20.0
2023-06-20 14:15:52 +01:00
fd3e338d88 Merge pull request #16115 from serathius/robustness-kubernetes-tune
tests/robustness: Tune Kubernetes tests to reduce number of delete requests
2023-06-20 11:16:02 +02:00
486462a907 Merge pull request #16114 from serathius/robustness-test-name-separate
tests/robustness: Separate traffic name from cluster setup in test name
2023-06-20 11:15:41 +02:00
519617cfd0 tests/robustness: Tune Kubernetes tests to reduce number of delete requests
Having too many delete requests is bad as they are not unique requests, so
linearization is more prone to timeout on them.

Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-06-20 09:45:23 +02:00
1217548acf tests/robustness: Separate traffic name from cluster setup in test name
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-06-20 09:16:36 +02:00
1d472bb6e4 build(deps): bump github/codeql-action from 2.3.6 to 2.20.0
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2.3.6 to 2.20.0.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](83f0fe6c49...6c089f53dd)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-19 18:01:17 +00:00
9c659eb4e0 Merge pull request #16072 from serathius/robustness-stale-read
Validate stale read
2023-06-19 18:22:08 +02:00
550aa152a7 Verify consistent index is latest at the time of snapshot
Signed-off-by: Geeta Gharpure <geetagh@amazon.com>
2023-06-19 16:00:04 +00:00
1420292b10 Merge pull request #16092 from serathius/robustness-etcdctl-traffic-client
Robustness etcd traffic client
2023-06-19 16:10:55 +02:00
1663600bec tests/robustness: Validate stale get requests by replaying etcd state
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-06-19 14:17:38 +02:00
09b9f889e7 tests/robustness: Refactor etcd traffic client
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-06-19 12:08:17 +02:00
bb155a6629 Merge pull request #16102 from ahrtr/dependency_20230619
dependency: bump golang.org/x/net from 0.10.0 to 0.11.0
2023-06-19 10:51:15 +01:00
812fce2c7e Merge pull request #16087 from jmhbnz/main
Document new arm64 infra process
2023-06-19 10:25:35 +01:00
b7e7811ba4 Merge pull request #16091 from serathius/robustness-stale-read-1
tests/robustness: Implement stale reads without validation
2023-06-19 11:21:48 +02:00
b92d099360 dependency: bump golang.org/x/net from 0.10.0 to 0.11.0
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-06-19 09:25:07 +01:00
5e7349b44c Merge pull request #16094 from serathius/robustness-retry-failpoint
Robustness retry failpoint
2023-06-19 09:10:46 +02:00
43b2477c28 tests/robustness: Retry injecting failpoint
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-06-17 17:30:20 +02:00
f140cc14b3 Document new arm64 infra process.
Signed-off-by: James Blair <mail@jamesblair.net>
2023-06-17 21:01:55 +12:00
96987d8b5e tests/robustness: Implement stale reads without validation
For now we just validate stale read revision, but not response content.
Reason is that etcd model only stores latest version of keys, and no
history like real etcd.

Validating stale read contents needs to be done outside of model
as storing whole history is just to costly for linearization validation.

Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-06-16 21:17:37 +02:00
6f2a5b710f Merge pull request #16096 from serathius/robustness-limit-to-fresh-state
tests/robustness: Limit model to start only from fresh state
2023-06-16 21:15:48 +02:00
57258759c6 Merge pull request #16085 from serathius/robustness-disable-blackhole
tests/robustness: Disable blackhole until snapshot for v3.5 and v3.4
2023-06-16 21:15:26 +02:00
ea3255b477 tests/robustness: Limit model to start only from fresh state
It is just to complicated to support starting from non-empty etcd.
Existing implementation was very naive to assume that we can build
full state from just one request. We might consider implementing
validation of non-empty history in future, but for now settting
this limit should clean up the code and speed up development.

Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-06-16 13:50:20 +02:00
8de14bd36e Merge pull request #16093 from jmhbnz/separate-fix-targets
Ensure goimports can be fixed individually
2023-06-16 13:30:02 +02:00
fb16bca44a tests/robustness: Disable blackhole until snapshot for v3.5 and v3.4
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-06-16 13:26:24 +02:00
2791422f77 Ensure goimports can be fixed individually.
Signed-off-by: James Blair <mail@jamesblair.net>
2023-06-16 21:47:46 +12:00
8c483f31ad Ensure Makefile PHONY targets match real target names.
Signed-off-by: James Blair <mail@jamesblair.net>
2023-06-16 21:20:45 +12:00
90cbadc660 Merge pull request #16051 from kkkkun/update-changelog
update 3.4 and 3.5 changelogs
2023-06-16 10:23:18 +02:00
32ea42b51c Merge pull request #16083 from serathius/robustness-perfect-knowledge
Robustness Allow errors and partial responses from deterministic model
2023-06-16 10:07:05 +02:00
cb3730a30f Merge pull request #16005 from tjungblu/putauthshort
Early exit auth check on lease puts
2023-06-16 08:33:57 +02:00
34cbf4cd6f tests/robustness: Allow errors and unknown responses in deterministic model
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-06-15 22:25:48 +02:00
84a9af17cc Add first unit test for authApplierV3
This contains a slight refactoring to expose enough information
to write meaningful tests for auth applier v3.

Signed-off-by: Thomas Jungblut <tjungblu@redhat.com>
2023-06-15 15:57:44 +02:00
7d27e33a12 Merge pull request #16079 from serathius/robustness-range-request
Robustness range request
2023-06-15 10:04:04 +02:00
899a51e110 Merge pull request #16073 from pchan/bump_dependency2
manual dependency bump
2023-06-14 20:51:01 +01:00
6979318108 tests/robustness: Make Range a proper request type to allow setting Range.Revision != 0 for stale reads
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-06-14 13:55:45 +02:00
974655e02c tests/robustness: Rename operations const to separate from RequestType
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-06-14 13:24:14 +02:00
da49157b20 Merge pull request #16066 from serathius/robusness-validate
tests/robustness: Extract validation to separate package
2023-06-14 11:54:46 +02:00
7bbc738ec4 tests/robustness: Extract validation to separate package
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-06-14 09:14:27 +02:00
a081d52bd4 Merge pull request #16075 from serathius/robustness-randomize-get
tests/robustness: Move get to list of randomized operations
2023-06-14 08:49:04 +02:00
a268a67e45 tests/robustness: Move get to list of randomized operations 2023-06-13 21:09:05 +02:00
455c0c6b81 Merge pull request #16041 from geetasg/pr
Update downgrade test to use a snapshot
2023-06-13 20:35:29 +02:00
e9fa3d30d7 Enable test to verify membership recovery from backend
Signed-off-by: Geeta Gharpure <geetagh@amazon.com>
2023-06-13 18:33:03 +00:00
3a8c6d749f manual dependency bump
Signed-off-by: Prasad Chandrasekaran <prasadc@vmware.com>
2023-06-13 23:28:47 +05:30
2b81483103 Adding test for version update function used in 3.6
Signed-off-by: Geeta Gharpure <geetagh@amazon.com>
2023-06-13 17:38:04 +00:00
06350aba43 Update downgrade test to use snapshot
Signed-off-by: Geeta Gharpure <geetagh@amazon.com>
2023-06-13 17:23:49 +00:00
7444985cab Merge pull request #16062 from etcd-io/dependabot/github_actions/actions/checkout-3.5.3
build(deps): bump actions/checkout from 3.5.2 to 3.5.3
2023-06-13 05:52:27 +08:00
74bb688ece Merge pull request #16061 from etcd-io/dependabot/github_actions/golangci/golangci-lint-action-3.6.0
build(deps): bump golangci/golangci-lint-action from 3.5.0 to 3.6.0
2023-06-13 05:52:14 +08:00
cdff0b3a31 build(deps): bump actions/checkout from 3.5.2 to 3.5.3
Bumps [actions/checkout](https://github.com/actions/checkout) from 3.5.2 to 3.5.3.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](8e5e7e5ab8...c85c95e3d7)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-12 17:59:49 +00:00
09921806af build(deps): bump golangci/golangci-lint-action from 3.5.0 to 3.6.0
Bumps [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action) from 3.5.0 to 3.6.0.
- [Release notes](https://github.com/golangci/golangci-lint-action/releases)
- [Commits](5f1fec7010...639cd343e1)

---
updated-dependencies:
- dependency-name: golangci/golangci-lint-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-12 17:59:42 +00:00
a6ab774458 Merge pull request #16044 from serathius/robusness-empty
tests/robustness: Assume starting from empty etcd instead of throwing out first failed request
2023-06-12 10:18:34 +02:00
b366cda70f Merge pull request #16046 from serathius/robusness-test-diff
tests/robustness: Provide a response diff in model test to make debugging easier
2023-06-12 10:15:43 +02:00
c104a4d01b Merge pull request #16031 from kkkkun/add_experimental_hash_check_to_help
add experimental-compact-hash-check-enabled to help
2023-06-12 16:03:30 +08:00
20c4247d2c Merge pull request #16037 from chaochn47/uds_e2e_test
add uds test cases into e2e TestAuthority
2023-06-12 14:45:59 +08:00
03c9e71b49 update 3.4 and 3.5 changelogs
Signed-off-by: kkkkun <scuzk373x@gmail.com>
2023-06-12 09:52:56 +08:00
61736c329d Merge pull request #16045 from serathius/robusness-test-name
tests/robustness: Put traffic type on second place before cluster size in test name
2023-06-10 14:30:47 +02:00
00b4156080 Merge pull request #16043 from serathius/go-version
.github/workflows: Read .go-version as a step and not separate workflow
2023-06-10 02:40:48 +02:00
693f25d6b9 Merge pull request #16042 from serathius/epc-etcdctl
tests/e2e: Use epc.Etcdctl
2023-06-10 06:54:24 +08:00
a6f51651ca Merge pull request #16040 from shivanshu1333/etcd/issues/15778
Remove Procfile.v2 and Procfile.learner
2023-06-10 06:45:28 +08:00
f410c6e6df tests/robustness: Provide a response diff in model test to make debugging easier
Signed-off-by: Marek Siarkowicz <serathius@users.noreply.github.com>
2023-06-09 22:42:17 +02:00
53af854871 tests/robustness: Assume starting from empty etcd instead of throwing out first failed request
Signed-off-by: Marek Siarkowicz <serathius@users.noreply.github.com>
2023-06-09 22:38:16 +02:00
f91f6d8414 tests/robustness: Put traffic type on second place before cluster size in test name
Signed-off-by: Marek Siarkowicz <serathius@users.noreply.github.com>
2023-06-09 22:30:53 +02:00
eb56d86e40 .github/workflows: Read .go-version as a step and not separate workflow
Signed-off-by: Marek Siarkowicz <serathius@users.noreply.github.com>
2023-06-09 20:54:46 +02:00
b80fb0a1ce tests/e2e: Use epc.Etcdctl
Signed-off-by: Marek Siarkowicz <serathius@users.noreply.github.com>
2023-06-09 20:39:57 +02:00
dffc35e421 remove Procfile.v2 and Procfile.learner
Signed-off-by: shivanshu1333 <shivanshu1333@gmail.com>
2023-06-09 18:37:09 +05:30
e6c8bf82e0 add uds test cases into e2e TestAuthority
Signed-off-by: Chao Chen <chaochn@amazon.com>
2023-06-08 15:54:30 -07:00
a708bed336 Merge pull request #15998 from jmhbnz/document-infra-access
Documenting etcd infrastructure and establish basic controls
2023-06-08 11:07:21 +02:00
798d2b7923 add compact hash check to help
Signed-off-by: scuzk373x@gmai.com <zhuanwajiang@pinduoduo.com>
2023-06-08 14:29:57 +08:00
75229f7e39 Merge pull request #16027 from daljitdokal/main
Update the go version to 1.19.10 patch release
2023-06-08 10:11:45 +08:00
6c5fde5138 Merge pull request #15985 from CaojiamingAlan/check_revision_before_write_hash
Check ScheduledCompactKeyName and FinishedCompactKeyName before writing hash
2023-06-08 10:10:45 +08:00
b9e30bf878 etcdserver: add e2e test to reproduce the incorrect hash issue when resuming scheduled compaction.
check ScheduledCompactKeyName and FinishedCompactKeyName
before writing hash to hashstore. If they do not match, then it means this compaction has once been interrupted and its hash value is invalid. In such cases, we won't write the hash values to the hashstore, and avoids the incorrect corruption alarm.

Signed-off-by: caojiamingalan <alan.c.19971111@gmail.com>
2023-06-07 19:54:09 -05:00
caee53237e Merge pull request #16023 from chaochn47/20230605-dependabot-dependency-mngt
2023-06-06: bump up dependencies update identified by dependabot
2023-06-07 12:48:42 +08:00
b2c39fc8e6 2023-06-06: bump up dependencies update identified by dependabot
Signed-off-by: Chao Chen <chaochn@amazon.com>
2023-06-06 20:18:44 -07:00
dcc4c1efb0 Update the go version to 1.19.10 patch release.
Signed-off-by: Daljit Singh <daljit.dokal@yahoo.co.nz>
2023-06-07 14:02:18 +12:00
faf5945603 Merge pull request #16022 from tao12345666333/clean-root-dir
ci: move .golangci.yaml to tools dir
2023-06-07 09:06:14 +08:00
3d40ee69bb Begin documenting etcd infrastructure.
This commit introduces initial processes for managing access and support options.

Signed-off-by: James Blair <mail@jamesblair.net>
2023-06-07 09:50:53 +12:00
0f32b588be ci: move .golangci.yaml to tools dir
Signed-off-by: Jintao Zhang <zhangjintao9020@gmail.com>
2023-06-06 19:08:31 +08:00
dfbe2038f3 Early exit auth check on lease puts
Mitigates #15993 by not checking each key individually for permission
when auth is entirely disabled or admin user is calling the method.

Signed-off-by: Thomas Jungblut <tjungblu@redhat.com>
2023-06-06 10:23:46 +02:00
d3e43d4de6 Merge pull request #16015 from etcd-io/dependabot/github_actions/github/codeql-action-2.3.6
build(deps): bump github/codeql-action from 2.3.5 to 2.3.6
2023-06-06 08:23:40 +08:00
fe24da8c67 Merge pull request #16014 from etcd-io/dependabot/github_actions/golangci/golangci-lint-action-3.5.0
build(deps): bump golangci/golangci-lint-action from 3.4.0 to 3.5.0
2023-06-06 07:59:29 +08:00
64b11ef8b0 build(deps): bump github/codeql-action from 2.3.5 to 2.3.6
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2.3.5 to 2.3.6.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](0225834cc5...83f0fe6c49)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-05 17:59:38 +00:00
caf9a0dadd build(deps): bump golangci/golangci-lint-action from 3.4.0 to 3.5.0
Bumps [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action) from 3.4.0 to 3.5.0.
- [Release notes](https://github.com/golangci/golangci-lint-action/releases)
- [Commits](08e2f20817...5f1fec7010)

---
updated-dependencies:
- dependency-name: golangci/golangci-lint-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-05 17:59:34 +00:00
cdbc2c1f5d Merge pull request #16003 from jmhbnz/main
Promote etcd frequently asked questions in our bug report template and readme
2023-06-05 18:17:25 +08:00
4a2fdb8ba8 Promote faqs in README.md.
Signed-off-by: James Blair <mail@jamesblair.net>
2023-06-05 21:32:28 +12:00
41b5e21748 Add a checklist for reporting bugs, include faq link.
Signed-off-by: James Blair <mail@jamesblair.net>
2023-06-05 21:32:03 +12:00
337164ba4a Merge pull request #16004 from Azanul/main
Clean golang test cache for remaining ci workflows
2023-06-05 10:33:47 +02:00
8cb3fab8d9 Merge pull request #15966 from tao12345666333/yamlfmt
ci: add fix-yamllint rule in Makefile
2023-06-05 08:30:56 +08:00
b46dc0a1e4 Clean golang test cache
Signed-off-by: Azanul <azanulhaque@gmail.com>
2023-06-05 05:49:03 +05:30
3b7e1223ab Fix errors in README.md reported by markdownlint.
Signed-off-by: James Blair <mail@jamesblair.net>
2023-06-04 22:39:48 +12:00
8da2a5bf46 Merge pull request #15946 from ahrtr/dependency_rotato_20230524
Add the rotation worksheet into the dependency management document
2023-06-03 05:28:05 +08:00
004195bb6e Merge pull request #15997 from ahrtr/etcdctl_hashkv_20230602
etcdctl: update the description for flag '--rev'
2023-06-02 16:21:29 +08:00
a9864d4edb etcdctl: update the description for flag '--rev'
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-06-02 15:53:08 +08:00
53b23d32db Merge pull request #15989 from jmhbnz/disable-arm64-ci-cache
Clean golang cache for arm64 ci workflows
2023-06-02 05:48:18 +08:00
41446dbad9 Clean golang test cache before each arm64 ci test suite.
Signed-off-by: James Blair <mail@jamesblair.net>
2023-06-01 20:30:48 +12:00
5773d94c22 Merge pull request #15957 from jmhbnz/strengthen-support-policy
Strengthen etcd support policy in issue triage docs
2023-06-01 09:05:55 +02:00
8f887d3a79 ci: add fix-yamllint rule in Makefile
Two rules have been specified for yamlfmt here:
* Automatically add the header `---` to YAML files.
* Preserve line breaks.

ref:
https://github.com/google/yamlfmt/blob/main/docs/config-file.md#configuration-1

Signed-off-by: Jintao Zhang <zhangjintao9020@gmail.com>
Co-authored-by: Marek Siarkowicz <siarkowicz@google.com>
2023-06-01 09:06:36 +08:00
0073fd4225 Merge pull request #15984 from spzala/rolesdescription
Update roles reference
2023-05-30 18:11:17 -04:00
ea47d5bec7 Update roles reference
We have moved the roles description from Governance file.

Signed-off-by: Sahdev Zala <spzala@us.ibm.com>
2023-05-30 17:34:18 -04:00
b1df8c468f Merge pull request #15981 from fuweid/20230530-bump-deps
[20230530] Bump dependencies identified by dependabot
2023-05-30 13:38:51 +08:00
98ebb67777 Merge pull request #15980 from etcd-io/dependabot/github_actions/arduino/setup-protoc-1.3.0
build(deps): bump arduino/setup-protoc from 1.2.0 to 1.3.0
2023-05-30 13:37:05 +08:00
59b8522687 dependency: bump github.com/mikefarah/yq/v4 from 4.33.3 to 4.34.1 in /tools/mod
Signed-off-by: Wei Fu <fuweid89@gmail.com>
2023-05-30 11:40:15 +08:00
42e2c9d4c9 build(deps): bump arduino/setup-protoc from 1.2.0 to 1.3.0
Bumps [arduino/setup-protoc](https://github.com/arduino/setup-protoc) from 1.2.0 to 1.3.0.
- [Release notes](https://github.com/arduino/setup-protoc/releases)
- [Commits](4b3578161e...149f6c87b9)

---
updated-dependencies:
- dependency-name: arduino/setup-protoc
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-29 18:00:17 +00:00
bd5d0a5bbb Merge pull request #15970 from etcd-io/dependabot/github_actions/github/codeql-action-2.3.5
build(deps): bump github/codeql-action from 2.3.3 to 2.3.5
2023-05-29 17:44:51 +08:00
904e5072d6 build(deps): bump github/codeql-action from 2.3.3 to 2.3.5
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2.3.3 to 2.3.5.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](29b1f65c5e...0225834cc5)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-29 06:13:22 +00:00
8b5ec05ede Merge pull request #15960 from tao12345666333/add-yamllint
ci: Introduce yamllint for actions workflow files
2023-05-29 08:12:56 +02:00
ef9b6a6280 Strengthen etcd support policy.
Signed-off-by: James Blair <mail@jamesblair.net>
2023-05-28 10:16:56 +12:00
7cc98e6392 Merge pull request #15959 from serathius/robustness-watch-client
tests/robustness: Use traffic.RecordingClient in watch
2023-05-26 17:45:57 +02:00
dd961320fe update changelog for #15939
Signed-off-by: Hubert Zhang <hubert.zyk@gmail.com>
2023-05-26 10:19:47 +00:00
b0b922cd71 ci: Introduce yamllint for actions workflow files
Signed-off-by: Jintao Zhang <zhangjintao9020@gmail.com>
2023-05-26 16:34:23 +08:00
bf903e5007 Merge pull request #15927 from jmhbnz/run-arm64-in-container
Run arm64 tests in containers on self hosted runners
2023-05-26 09:42:40 +08:00
3413f2e08d Merge pull request #15908 from cuishuang/main
*: use strings.Builder instead of bytes.Buffer
2023-05-26 09:41:01 +08:00
16bf0f6641 tests/robustness: Use traffic.RecordingClient in watch
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-05-25 22:17:23 +02:00
09b8673200 Merge pull request #15911 from mitake/onboarding
Documentation: describe onboarding process
2023-05-25 23:15:59 +09:00
08a4cd46fe Documentation: describe onboarding process
Signed-off-by: Hitoshi Mitake <h.mitake@gmail.com>
Co-authored-by: Marek Siarkowicz <siarkowicz@google.com>
2023-05-25 22:43:36 +09:00
e11dee6498 Merge pull request #15948 from fuweid/support-limit-for-range-benchmark
tools/benchmark: support limit flag for range
2023-05-25 18:45:05 +08:00
cdd9846b56 Merge pull request #15947 from chaochn47/hash_doc
update code comments
2023-05-25 18:44:49 +08:00
82fc4258a7 Merge pull request #15950 from lavacat/main-deps
[2023-05-25] Bump dependencies identified by dependabot
2023-05-25 18:44:18 +08:00
b365f3cda4 tools/benchmark: support limit flag for range
With limit flag, we can verify the performance for the pagination.

Signed-off-by: Wei Fu <fuweid89@gmail.com>
2023-05-25 15:26:25 +08:00
ef91e8ae78 dependency: bump github.com/stretchr/testify from 1.8.2 to 1.8.3
Signed-off-by: Bogdan Kanivets <bkanivets@apple.com>
2023-05-24 23:58:13 -07:00
4418e793a0 dependency: bump github.com/mgechev/revive from 1.3.1 to 1.3.2 in /tools/mod
Signed-off-by: Bogdan Kanivets <bkanivets@apple.com>
2023-05-24 23:32:05 -07:00
9e1e378e9e update code comments
Signed-off-by: Chao Chen <chaochn@amazon.com>
2023-05-24 12:54:27 -07:00
24b3ae9a17 add the rotation worksheet into the dependency management document
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-05-24 19:55:30 +08:00
04346e870f Merge pull request #15909 from serathius/robustness-unique-revision
tests/robustness: Expect revisions to be unique for Kubernetes Traffic
2023-05-24 09:20:17 +02:00
67c272e8ba Merge pull request #15942 from cenkalti/plot
benchmarks: pin dependencies of rw-heatmaps
2023-05-24 05:22:52 +08:00
a4f8f56496 Merge pull request #15938 from jmhbnz/clarify-initial-cluster
Add example format for initial-cluster in configuration file
2023-05-24 05:17:22 +08:00
2efecd1978 benchmarks: pin dependencies of rw-heatmaps
Signed-off-by: Cenk Alti <cenkalti@gmail.com>
2023-05-23 14:25:46 -04:00
4872b679a5 tests/robustness: Expect revions to be unique for Kubernetes Traffic
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-05-23 15:51:10 +02:00
b2ee9887d1 Add example format for initial-cluster.
Signed-off-by: James Blair <mail@jamesblair.net>
2023-05-23 21:15:38 +12:00
a0063d76e7 Run arm64 robustness tests in a container.
Signed-off-by: James Blair <mail@jamesblair.net>
2023-05-23 20:18:40 +12:00
4153ecb93b Run arm64 e2e tests in a container.
Signed-off-by: James Blair <mail@jamesblair.net>
2023-05-23 20:18:32 +12:00
bdfa70d02b Run arm64 unit and integration tests in a container.
Signed-off-by: James Blair <mail@jamesblair.net>
2023-05-23 20:18:14 +12:00
8c715f8a40 Merge pull request #15937 from etcd-io/dependabot/github_actions/arduino/setup-protoc-1.2.0
build(deps): bump arduino/setup-protoc from 1.1.2 to 1.2.0
2023-05-23 08:15:06 +08:00
820bcddc6d build(deps): bump arduino/setup-protoc from 1.1.2 to 1.2.0
Bumps [arduino/setup-protoc](https://github.com/arduino/setup-protoc) from 1.1.2 to 1.2.0.
- [Release notes](https://github.com/arduino/setup-protoc/releases)
- [Commits](64c0c85d18...4b3578161e)

---
updated-dependencies:
- dependency-name: arduino/setup-protoc
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-22 18:00:38 +00:00
1eb1b6ca69 Merge pull request #15906 from qsyqian/main
clientv3: refactor snapshot SaveWithVersion
2023-05-22 09:56:04 +08:00
fbc34d1222 clientv3: refactor snapshot SaveWithVersion
Signed-off-by: qsyqian <qsyqian@gmail.com>
2023-05-22 09:09:02 +08:00
633e2dcc26 Merge pull request #15920 from fuweid/deflaky-TestKVDelete
tests: deflake TestKVDelete/ClientAutoTLS
2023-05-19 18:06:51 +02:00
befb283cca tests: deflake TestKVDelete/ClientAutoTLS
For the sub test TestKVDelete/ClientAutoTLS, the timeout might be caused
by IO or task scheduled. It's really hard to reproduce this case. And
we don't add `VERBOSE=1` for e2e test, the pipeline doesn't show the
`EXPECT_DEBUG` log in time. It's also hard to debug when flaky case
show. So, this patch will enable `VERBOSE=1` to get timestamp in time.

And the one operation `del a c -w json` will be performed after two seconds
delay, we can increase the timeout from 15s to 30s just in case that the
put or del operations take more time in unstable env.

```
Warning: Keys between "a" and "c" will be deleted. Please interrupt the
command within next 2 seconds to cancel.
```

Signed-off-by: Wei Fu <fuweid89@gmail.com>
2023-05-19 18:22:18 +08:00
51a26f8d58 Merge pull request #15926 from yellowzf/change_log_update
update changelog for https://github.com/etcd-io/etcd/pull/15907
2023-05-19 17:54:34 +08:00
523a961453 update changelog for https://github.com/etcd-io/etcd/pull/15907
Signed-off-by: yellowzf <zzhf3311@163.com>
2023-05-19 17:20:49 +08:00
0c919dc212 use the more efficient strings.Builder
Signed-off-by: cui fliter <imcusg@gmail.com>
2023-05-19 10:44:58 +08:00
19ec574f45 Merge pull request #15915 from hexfusion/bytes
server/storage/schema: prefer equal to compare for equality comparisons
2023-05-18 10:53:42 +08:00
7e161d5664 Merge pull request #15912 from serathius/maintainer-email
Update maintainers emails
2023-05-17 08:47:03 +02:00
a708e94749 server/storage/schema: prefer equal to compare for equality comparisons
Signed-off-by: Sam Batschelet <sbatschelet@gmail.com>
2023-05-16 21:25:34 -04:00
75b09410e5 Update maintainers emails
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-05-16 16:53:35 +02:00
f3c9db9c46 Merge pull request #15893 from serathius/robustness-validate-client-watch
tests/robustness: Validate all etcd watches opened to etcd
2023-05-16 10:51:55 +02:00
efcbd95f71 Merge pull request #15889 from serathius/robustness-model-test
tests/robustness: Unify model test cases
2023-05-16 10:41:05 +02:00
6429f47631 tests/robustness: Validate all etcd watches opened to etcd
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-05-16 10:28:01 +02:00
112aad1ea7 tests/robustness: Unify model test cases
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-05-16 10:13:08 +02:00
9b10f20004 Merge pull request #15904 from jmhbnz/update-dependencies
[2023-05-16] Bump dependencies identified by dependabot
2023-05-16 06:32:51 +08:00
9683b7912a Merge pull request #15899 from etcd-io/dependabot/github_actions/actions/setup-go-4.0.1
build(deps): bump actions/setup-go from 4.0.0 to 4.0.1
2023-05-16 06:30:10 +08:00
5a5b5a1c5d dependency: bump github.com/prometheus/client_golang from 1.15.0 to 1.15.1
Signed-off-by: James Blair <mail@jamesblair.net>
2023-05-16 09:26:44 +12:00
1798730cd8 dependency: bump golang.org/x/crypto from 0.8.0 to 0.9.0
Signed-off-by: James Blair <mail@jamesblair.net>
2023-05-16 08:39:19 +12:00
29f9d06527 build(deps): bump actions/setup-go from 4.0.0 to 4.0.1
Bumps [actions/setup-go](https://github.com/actions/setup-go) from 4.0.0 to 4.0.1.
- [Release notes](https://github.com/actions/setup-go/releases)
- [Commits](4d34df0c23...fac708d667)

---
updated-dependencies:
- dependency-name: actions/setup-go
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-15 18:00:00 +00:00
4675e5c6a3 Merge pull request #15888 from serathius/robustness-k8s-client
tests/robustness: Implement Kubernetes optimistic concurrency operations
2023-05-15 14:49:33 +02:00
6e53792568 tests/robustness: Implement Kubernetes optimistic concurrency operations
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-05-15 13:45:27 +02:00
0efa1c19ef Merge pull request #15891 from serathius/robustness-k8s-watch
tests/robustness: Implement kubernetes list watch protocol
2023-05-15 10:35:34 +02:00
911c40a347 tests/robustness: Implement kubernetes list watch protocol
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-05-15 10:11:05 +02:00
05ed91d76d Merge pull request #15892 from lavacat/main-mono-clock-watch
tests/robustness: use monotonic clock for watch events
2023-05-15 09:25:41 +02:00
2df32102ca Merge pull request #15835 from yellowzf/grpcproxy_fix_memberlist_results_not_update_when_proxy_node_down
grpcproxy: fix memberlist results not update when proxy node down
2023-05-15 13:34:05 +08:00
ca221208d2 grpcproxy: fix memberlist results not update when proxy node down
If start grpc proxy with --resolver-prefix, memberlist will return all alive proxy nodes, when one grpc proxy node is down, it is expected to not return the down node, but it is still return

Signed-off-by: yellowzf <zzhf3311@163.com>
2023-05-15 10:59:02 +08:00
c338882d7a tests/robustness: use monotonic clock for watch events
see: https://github.com/etcd-io/etcd/pull/15323
For consistency watch events should also use only time-measurement operations.

fixes: https://github.com/etcd-io/etcd/issues/15328
Signed-off-by: Bogdan Kanivets <bkanivets@apple.com>
2023-05-14 12:58:13 -07:00
14f21a124e Merge pull request #15886 from jmhbnz/robustness-arm64
Run robustness tests on arm64
2023-05-13 11:16:59 +02:00
012b429f14 Only run robustness on arm64 nightly.
Signed-off-by: James Blair <mail@jamesblair.net>
2023-05-13 19:28:28 +12:00
ffbaac8305 Merge pull request #15887 from ahrtr/limit_workflow_readonly_20230513
workflow: grant only read permission to all workflows
2023-05-13 09:06:06 +02:00
52dfd4bbed Merge pull request #15867 from chaochn47/auth_test_split_8
migrate e2e auth tests to common #8
2023-05-13 14:21:37 +08:00
2bf495d93b workflow: grant only read permission to all workflows
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-05-13 13:53:22 +08:00
c846b087db migrate e2e auth tests to common #8
Signed-off-by: Chao Chen <chaochn@amazon.com>
2023-05-12 22:51:47 -07:00
2fd86a12a9 Merge pull request #15881 from jmhbnz/update-triage-guidelines
Initial re-write for contributor issue triage guide
2023-05-13 13:41:36 +08:00
941d760e42 Initial re-write for contributor issue triage guide.
Signed-off-by: James Blair <mail@jamesblair.net>
2023-05-13 13:14:00 +12:00
ffe41987f9 Add self-hosted label to existing arm64 tests.
Signed-off-by: James Blair <mail@jamesblair.net>
2023-05-13 08:12:23 +12:00
09ae3a641c Run robustness tests on arm64.
Signed-off-by: James Blair <mail@jamesblair.net>
2023-05-13 08:11:53 +12:00
2a0c989662 Merge pull request #15882 from serathius/robustness-txn-fields
tests/robustness: Improve naming of Txn fields
2023-05-12 13:34:02 +02:00
3d9890ff0e Merge pull request #15883 from ahrtr/3.4.26_release_date_20230512
Changelog: update the release date of 3.4.26 and 3.5.9
2023-05-12 13:12:14 +02:00
831ce4c3cf tests/robustness: Improve naming of Txn fields
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-05-12 13:10:25 +02:00
d0ca536283 changelog: update the release date of 3.4.26 and 3.5.9
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-05-12 14:57:08 +08:00
67ec1a4d30 Merge pull request #15862 from pchan/bump_dependency
dependency: bump dependabot dependencies
2023-05-12 06:59:47 +08:00
fa7067d0d8 Merge pull request #15880 from serathius/robustness-stream-id
tests/robustness: Separate stream id from client id and improve AppendableHistory doc
2023-05-12 06:35:05 +08:00
e9900f6fff tests/robustness: Separate stream id from client id and improve AppendableHistory doc
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-05-11 21:03:52 +02:00
db07ec9561 dependency: bump indirect zmap dependencies
Signed-off-by: Prasad Chandrasekaran <prasadc@vmware.com>
2023-05-11 18:06:39 +05:30
9878b134eb dependency: bump indirect dependencies
Signed-off-by: Prasad Chandrasekaran <prasadc@vmware.com>
2023-05-11 18:00:12 +05:30
9a922091ed Merge pull request #15873 from serathius/robustness-safeguards
tests/robustness: Add safeguards to client and history
2023-05-11 13:37:42 +02:00
962e15038e tests/robustness: Add safeguards to client and history
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-05-11 13:12:09 +02:00
d77c618e6a Merge pull request #15874 from serathius/robustness-fix-traffic-pointer
tests/robustness: Fix pointer causing all cluster tests using kuberne…
2023-05-11 11:16:21 +02:00
05b663fbe8 Merge pull request #15828 from chaochn47/add_leadership_transfer_coverage
tests/e2e: add graceful shutdown test
2023-05-11 07:39:25 +08:00
e3db9dc616 Merge pull request #15868 from jmhbnz/main
tests: Deflake TestEtcdGrpcResolverRoundRobin
2023-05-11 05:08:53 +08:00
165a76b506 tests/robustness: Fix pointer causing all cluster tests using kubernetes traffic
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-05-10 16:08:08 +02:00
5d1130f8d8 Merge pull request #15870 from ahrtr/changelog_timetolive_20230510
changelog: add items to cover the fix that LeaseTimeToLive API may re…
2023-05-10 19:58:29 +08:00
1c455d4993 changelog: add items to cover the fix that LeaseTimeToLive API may return keys to clients which have no read permission on the keys
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-05-10 19:25:28 +08:00
2bb9930ffa Merge pull request #15869 from serathius/robustness-watch-config
tests/robustness: Move request progress field from traffic to watch c…
2023-05-10 13:05:04 +02:00
dd248518d1 tests/robustness: Move request progress field from traffic to watch config and pass testScenario to reduce number of arguments
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-05-10 11:43:02 +02:00
3f5ad36039 Deflake TestEtcdGrpcResolverRoundRobin.
Signed-off-by: James Blair <mail@jamesblair.net>
2023-05-10 21:03:01 +12:00
7f6d0d04ac Merge pull request #15839 from Rajalakshmi-Girish/keep_going_module_testing2
Add an option to keep_going with run for modules on failure
2023-05-10 08:14:37 +08:00
f31d0eafb9 tests/e2e: add graceful shutdown test
Signed-off-by: Chao Chen <chaochn@amazon.com>
2023-05-09 17:08:53 -07:00
b404d25d84 Merge pull request #15741 from AngstyDuck/set-default-value-for-AutoCompactionMode
server: default value for config file field auto-compaction-mode is n…
2023-05-10 05:44:16 +08:00
a7344da7d3 server: default value for config file field auto-compaction-mode is now 'periodic'; added additional checks if auto-compaction-mode is undefined
Signed-off-by: AngstyDuck <solsticedante@gmail.com>
2023-05-09 23:10:44 +08:00
d81d3c3487 Merge pull request #15845 from serathius/robustness-traffic
test/robustness: Create dedicated traffic package
2023-05-09 15:38:28 +02:00
c863f1f8c0 dependency: bump dependabot dependencies
Signed-off-by: Prasad Chandrasekaran <prasadc@vmware.com>
2023-05-09 18:38:35 +05:30
1e479f8c3c Merge pull request #15859 from serathius/go-version
Move go version to dedicated .go-version file
2023-05-09 14:54:45 +02:00
aa373e54df Move go version to dedicated .go-version file
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-05-09 12:32:25 +02:00
ad20230e07 test/robustness: Create dedicated traffic package
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-05-09 10:50:13 +02:00
f6161673af Merge pull request #15851 from serathius/robustness-generic
tests/robustness: Make weighted pick random generic
2023-05-09 10:36:11 +02:00
b7ad0382ad Merge pull request #15844 from mitake/style
server/etcdserver: swap order of return types
2023-05-09 06:34:34 +08:00
3024d9461d Merge pull request #15842 from qsyqian/main
log time when open backend db took too long
2023-05-09 06:06:21 +08:00
b14b468661 tests/robustness: Make weighted pick random generic
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-05-08 19:58:38 +02:00
a0cffb6a1f server/etcdserver: swap order of return types
Signed-off-by: Hitoshi Mitake <h.mitake@gmail.com>
2023-05-08 22:53:04 +09:00
0cd1b7beaa log time when open backend db took too long
Signed-off-by: qsyqian <qsyqian@gmail.com>
2023-05-08 15:23:29 +08:00
0a7dd2186b Merge pull request #15841 from jmhbnz/update-changelog
Update 3.4 and 3.5 changelogs for compile with 1.19.9.
2023-05-08 07:50:37 +08:00
bb057ddae6 Update 3.4 and 3.5 changelogs for compile with 1.19.9.
Signed-off-by: James Blair <mail@jamesblair.net>
2023-05-08 10:58:02 +12:00
767b59f0b0 Merge pull request #15840 from serathius/robustness-limit-count
tests/robustness: Implement Range limit and count
2023-05-07 19:59:27 +02:00
ac61b36e06 Add an option to keep_going with run for modules on failure
Signed-off-by: Rajalakshmi Girish <rajalakshmi.girish1@ibm.com>
2023-05-07 00:43:30 -07:00
7c68be4cf3 tests/robustness: Implement Range limit and count
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-05-07 09:32:07 +02:00
249c0d71d4 Merge pull request #15827 from serathius/robustness-k8s-2
tests/robustness: Implement delete request for kubernetes scenario
2023-05-05 17:40:47 +02:00
40f71ef3c6 tests/robustness: Implement delete request for kubernetes scenario
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-05-05 13:40:46 +02:00
79eabc1cbf Merge pull request #15819 from serathius/robustness-non-deterministic
tests/robustness: Split model code into deterministic and non-deterministic
2023-05-05 13:16:28 +02:00
92366a5338 tests/robustness: Split model code into deterministic and non-deterministic
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
Co-authored-by: Benjamin Wang <wachao@vmware.com>
Co-authored-by: chao <54131596+chaochn47@users.noreply.github.com>
2023-05-05 12:25:10 +02:00
08d25b2e3e Merge pull request #15830 from etcd-io/dependabot/github_actions/actions/upload-artifact-3
build(deps): bump actions/upload-artifact from 2 to 3
2023-05-05 08:53:56 +08:00
8a17ed10bd Merge pull request #15831 from etcd-io/dependabot/github_actions/github/codeql-action-2.3.3
build(deps): bump github/codeql-action from 2.3.2 to 2.3.3
2023-05-05 08:53:42 +08:00
d10cabd3f9 build(deps): bump github/codeql-action from 2.3.2 to 2.3.3
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2.3.2 to 2.3.3.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](f3feb00acb...29b1f65c5e)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-04 23:47:44 +00:00
58ec96a6ce build(deps): bump actions/upload-artifact from 2 to 3
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 2 to 3.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v2...0b7f8abb1508181956e8e162db84b466c27e18ce)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-04 23:47:40 +00:00
b75499437b Merge pull request #15829 from chaochn47/remove_invalid_arm64_workflow_config
remove invalid arm64 workflow config
2023-05-05 07:47:17 +08:00
e9b1a0e70f remove invalid arm64 workflow config
Signed-off-by: Chao Chen <chaochn@amazon.com>
2023-05-04 15:33:31 -07:00
cfe154209c tests/robustness: Separate describe model functions to dedicated file
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-05-04 14:03:18 +02:00
2c16812841 Merge pull request #15817 from serathius/robustness-k8s-1
tests/robustness: Implement first step in validating the Kubernetes-etcd contract
2023-05-04 13:52:25 +02:00
9b5680c5f1 tests/robustness: Implement first step in validating the Kubernetes-etcd contract.
* Use mod revision for optimistic concurrency.
* Introduce range requests as more general then get
* Add kubernetes specific traffic generation, for now using pull, but
  expected to evolve to use watch.
* Introduce kubernetes specific test scenario

Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-05-04 13:26:54 +02:00
ecb64030fb Merge pull request #15821 from jmhbnz/upgrade-go-patch-release
Updated go to latest patch release 1.19.9
2023-05-04 07:56:42 +08:00
b84e4273f7 Updated go to latest patch release 1.19.9.
Signed-off-by: James Blair <mail@jamesblair.net>
2023-05-04 11:00:08 +12:00
3ef5985bcd Merge pull request #15813 from Rajalakshmi-Girish/continue-on-failure
keep going with other test suite runs when failure with one
2023-05-04 05:54:05 +08:00
c9998a7e63 keep_going with other suites when failure with one
Signed-off-by: Rajalakshmi Girish <rajalakshmi.girish1@ibm.com>
2023-05-03 00:57:49 -07:00
5021cd924c Merge pull request #15816 from chaochn47/update_dependency_management
dependency_management.md: document go.opentelemetry.io/otel version update is blocked
2023-05-03 12:27:05 +08:00
bb060586ce dependency_management.md: document go.opentelemetry.io/otel version update is blocked
Signed-off-by: Chao Chen <chaochn@amazon.com>
2023-05-02 20:40:06 -07:00
49b59cc8e5 Merge pull request #15656 from mitake/lease-timetolive-auth
protect LeaseTimeToLive with RBAC
2023-05-02 23:02:29 +09:00
4785f5a7ba Merge pull request #15809 from etcd-io/dependabot/github_actions/github/codeql-action-2.3.2
build(deps): bump github/codeql-action from 2.3.0 to 2.3.2
2023-05-02 06:39:40 +08:00
b089474b01 Merge pull request #15795 from jmhbnz/deflake-roundrobin-resolver-test
tests: Deflake TestEtcdGrpcResolverRoundRobin
2023-05-02 06:09:46 +08:00
4c4bd63fa1 build(deps): bump github/codeql-action from 2.3.0 to 2.3.2
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2.3.0 to 2.3.2.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](b2c19fb9a2...f3feb00acb)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-01 18:03:06 +00:00
0deaec0e4f Merge pull request #15762 from aimuz/fix-logger
refactor(util): remove duplicate lg check
2023-04-30 05:52:11 +08:00
7462c61b31 Merge pull request #15792 from fuweid/deflake-robustness-cases
tests/robustness: tune timeout policy
2023-04-29 09:04:38 +02:00
b9533ca98b Deflake TestEtcdGrpcResolverRoundRobin.
Increase request to 1000 to increase sample size/reduce variability and increase tolerance threshold from 10 to 15%.

Signed-off-by: James Blair <mail@jamesblair.net>
2023-04-29 14:14:16 +12:00
09d053e035 tests/robustness: tune timeout policy
In a [scheduled test][1], the error shows

```
2023-04-19T11:16:15.8166316Z     traffic.go:96: rpc error: code = Unavailable desc = keepalive ping failed to receive ACK within timeout
```

According to [grpc-keepalive@v1.51.0][2], each frame from server will
fresh the `lastRead` and it won't file `Ping` frame to server. But the
client used by [`tombstone` request][3] might hit the race. Since we use
5ms as timeout, the client might not receive the result of `Ping` from
server in time. The keepalive will mark it timeout and close the
connection.

I didn't reproduce it in my local. If we add the sleep before update
`lastRead`, it can reproduce it sometimes. Still investigating this
part.

```diff
diff --git a/internal/transport/http2_client.go b/internal/transport/http2_client.go
index d518b07e..bee9c00a 100644
--- a/internal/transport/http2_client.go
+++ b/internal/transport/http2_client.go
@@ -1560,6 +1560,7 @@ func (t *http2Client) reader(errCh chan<- error) {
                t.controlBuf.throttle()
                frame, err := t.framer.fr.ReadFrame()
                if t.keepaliveEnabled {
+                       time.Sleep(2 * time.Millisecond)
                        atomic.StoreInt64(&t.lastRead, time.Now().UnixNano())
                }
                if err != nil {
```

`DialKeepAliveTime` is always >= [10s][4]. I think we should increase
the timeout to avoid flaky caused by unstable env.

And in a [scheduled test][5], the error shows

```
logger.go:130: 2023-04-22T10:45:52.646Z	INFO	Failed to trigger failpoint	{"failpoint": "blackhole", "error": "context deadline exceeded"}
```

Before sending `Status` to member, the client doesn't [pick][6] the
connection in time (100ms) and returns the error.

The `waitTillSnapshot` is used to ensure that it is good enough to
trigger snapshot transfer. And we have 1min timeout for
injectFailpoints, so I think we can remove the 100ms timeout to reduce
unnecessary stop.

```
injectFailpoints(1min timeout)
  failpoint.Inject
    triggerBlockhole.Trigger
      blackhole
        waitTillSnapshot
```

> NOTE: I didn't reproduce it either. :(

Reference:

[1]: <https://github.com/etcd-io/etcd/actions/runs/4741737098/jobs/8419176899>
[2]: <eeb9afa1f6/internal/transport/http2_client.go (L1647)>
[3]: <7450cd886d/tests/robustness/traffic.go (L94)>
[4]: <eeb9afa1f6/dialoptions.go (L445)>
[5]: <https://github.com/etcd-io/etcd/actions/runs/4772033408/jobs/8484334015>
[6]: <eeb9afa1f6/clientconn.go (L932)>

REF: #15763

Signed-off-by: Wei Fu <fuweid89@gmail.com>
2023-04-29 07:03:47 +08:00
46ab121cb7 Merge pull request #15786 from etcd-io/serathius-patch-1
Provide release date for v3.5.8
2023-04-28 15:21:53 +02:00
7e2e5c68de Provide release data for v3.5.8
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-04-28 15:21:06 +02:00
b052092297 refactor(util): remove duplicate lg check
lg always has a value

Signed-off-by: aimuz <mr.imuz@gmail.com>
2023-04-28 10:43:30 +08:00
7450cd886d Merge pull request #15790 from Rajalakshmi-Girish/add-failfast-flag
Add -failfast flag when the mode is fail_fast
2023-04-27 21:16:38 +02:00
cd24847086 Merge pull request #15789 from ahrtr/save_data_20230427
test: forcibly save data on panicking
2023-04-27 16:23:49 +02:00
81fccc13da Add -failfast flag when the mode is fail_fast
Signed-off-by: Rajalakshmi Girish <rajalakshmi.girish1@ibm.com>
2023-04-27 05:26:38 -07:00
c7d81acaf0 test: forcibly save data on pinicking
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-04-27 14:54:35 +08:00
6d11f8ceb5 Merge pull request #15785 from Mskxn/fix_session
close the session to avoid leak goroutine
2023-04-27 04:24:17 +08:00
26fdf46001 close the session to avoid leak goroutine
Signed-off-by: Mskxn <118117161+Mskxn@users.noreply.github.com>
2023-04-26 20:45:13 +08:00
c9b368119e tests: e2e and integration test for timetolive
Signed-off-by: Hitoshi Mitake <h.mitake@gmail.com>
Co-authored-by: Benjamin Wang <wachao@vmware.com>
2023-04-26 20:35:20 +09:00
975854f07f etcdserver: protect lease timetilive with auth
Signed-off-by: Hitoshi Mitake <h.mitake@gmail.com>
Co-authored-by: Benjamin Wang <wachao@vmware.com>
2023-04-26 20:35:20 +09:00
e04120042e Merge pull request #15779 from fuweid/deprecate-schwag
chore: deprecate github.com/hexfusion/schwag
2023-04-26 11:36:31 +02:00
f13b7502ef Merge pull request #15781 from serathius/meme-readme
Incorporate xkcd dependency meme into README
2023-04-26 11:05:35 +02:00
f6822b4225 Merge pull request #15783 from jmhbnz/consolidate-dockerfiles
Consolidate etcd dockerfiles
2023-04-26 11:01:44 +02:00
ab65ee3d01 Consolidate etcd dockerfiles.
We can consolidate by using docker build args to create the individual platform Dockerfile.

Signed-off-by: James Blair <mail@jamesblair.net>
2023-04-26 17:09:25 +12:00
b4f49a55a5 chore: deprecate github.com/hexfusion/schwag
The schwag was introduced to generate swagger with authorization support
[1][1] in 2017. And in 2018, the grpc-gateway supports to render
security fields by protoc-gen-swagger [2][2]. After several years, I
think it's good to use upstream protoc supports.

NOTE:

The json's key in `rpc.swagger.json` has been reordered so that it seems
that there's a lot of changes. How to verify it:

```bash
$ # use jq -S to sort the key
$ latest_commit="https://raw.githubusercontent.com/etcd-io/etcd/228f493c7697ce3e9d3a1d831bcffad175846c75/Documentation/dev-guide/apispec/swagger/rpc.swagger.json"
$ curl -s "${latest_commit}"  | jq -S . > /tmp/old.json
$ cat Documentation/dev-guide/apispec/swagger/rpc.swagger.json | jq -S . > /tmp/new.json
$ diff --color -u /tmp/old.json /tmp/new.json
```

```diff
--- /tmp/old.json       2023-04-26 10:58:07.142311861 +0800
+++ /tmp/new.json       2023-04-26 10:58:12.170299194 +0800
@@ -1523,11 +1523,14 @@
       "type": "object"
     },
     "protobufAny": {
+      "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n    Foo foo = ...;\n    Any any;\n    any.PackFrom(foo);\n    ...\n    if (any.UnpackTo(&foo)) {\n      ...\n    }\n\nExample 2: Pack and unpack a message in Java.\n\n    Foo foo = ...;\n    Any any = Any.pack(foo);\n    ...\n    if (any.is(Foo.class)) {\n      foo = any.unpack(Foo.class);\n    }\n\n Example 3: Pack and unpack a message in Python.\n\n    foo = Foo(...)\n    any = Any()\n    any.Pack(foo)\n    ...\n    if any.Is(Foo.DESCRIPTOR):\n      any.Unpack(foo)\n      ...\n\n Example 4: Pack and unpack a message in Go\n\n     foo := &pb.Foo{...}\n     any, err := ptypes.MarshalAny(foo)\n     ...\n     foo := &pb.Foo{}\n     if err := ptypes.UnmarshalAny(any, foo); err != nil {\n       ...\n     }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n====\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n    package google.profile;\n    message Person {\n      string first_name = 1;\n      string last_name = 2;\n    }\n\n    {\n      \"@type\": \"type.googleapis.com/google.profile.Person\",\n      \"firstName\": <string>,\n      \"lastName\": <string>\n    }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n    {\n      \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n      \"value\": \"1.212s\"\n    }",
       "properties": {
         "type_url": {
+          "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n  value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n  URL, or have them precompiled into a binary to avoid any\n  lookup. Therefore, binary compatibility needs to be preserved\n  on changes to types. (Use versioned type names to manage\n  breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics.",
           "type": "string"
         },
         "value": {
+          "description": "Must be a valid serialized protocol buffer of the above specified type.",
           "format": "byte",
           "type": "string"
         }
```

REF:

1: <https://github.com/etcd-io/etcd/pull/7999#issuecomment-307512043>
2: <https://github.com/grpc-ecosystem/grpc-gateway/pull/547>

Signed-off-by: Wei Fu <fuweid89@gmail.com>
2023-04-26 11:14:50 +08:00
045192683c Move credits to subscript
Co-authored-by: James Blair <mail@jamesblair.net>
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-04-25 15:33:03 +02:00
2fd9a1914e Incorporate xkcd dependency meme into README
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-04-25 14:49:50 +02:00
4485db379e Merge pull request #15577 from jmhbnz/add-round-robin-test
tests: Add new test for round robin resolver
2023-04-25 18:37:54 +08:00
9b310ea316 Merge pull request #15776 from fuweid/update-deps
[2023-04-25] Bump dependencies identified by dependabot
2023-04-25 16:37:34 +08:00
aa787d9f51 dependency: bump github.com/alexkohler/nakedret from 1.0.1 to 1.0.2
Signed-off-by: Wei Fu <fuweid89@gmail.com>
2023-04-25 14:44:34 +08:00
18e3acae0e Add new test for round robin resolver.
Signed-off-by: James Blair <mail@jamesblair.net>
2023-04-25 18:44:24 +12:00
8c5e9ad455 Merge pull request #15759 from fuweid/deflake-TestAuthMemberRemove
server/etcdserver: togRPCError for maintenance API
2023-04-25 09:26:28 +08:00
0f3fb04f1f Merge pull request #15744 from ahrtr/dependency_management_20230419
Document: add guidance on dependency management
2023-04-25 06:14:16 +08:00
1dbc9db621 Merge pull request #15772 from etcd-io/dependabot/github_actions/github/codeql-action-2.3.0
build(deps): bump github/codeql-action from 2.2.12 to 2.3.0
2023-04-25 06:12:33 +08:00
a2426712cc build(deps): bump github/codeql-action from 2.2.12 to 2.3.0
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2.2.12 to 2.3.0.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](7df0ce3489...b2c19fb9a2)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-24 18:01:36 +00:00
d589a0b5f6 Document: add guidance on dependency management
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-04-24 18:29:09 +08:00
c2d78a316a Merge pull request #15761 from ahrtr/min_version_20230424
Change the minimum recommended etcd versions to run in production to 3.4.22+ and 3.5.6+
2023-04-24 10:26:35 +02:00
146f44d35e change the minimum recommended etcd versions to run in production to 3.4.22+ and 3.5.6+
Please read https://groups.google.com/g/etcd-dev/c/8S7u6NqW6C4

Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-04-24 07:08:28 +08:00
211b4320c3 Merge pull request #15752 from sharathsivakumar/main
fixes for "improve description of --initial-cluster-state flag" #15743
2023-04-23 07:17:37 +08:00
32c83becf5 fix review: Updated description of --initial-cluster-state flag
Signed-off-by: sharathsivakumar <mailssr9@gmail.com>
2023-04-22 23:16:33 +02:00
1ba577e499 server/etcdserver: togRPCError for maintenance API
It's to deflake TestAuthMemberRemove.

When the client has multiple endpoints, the client might send a request
with valid token to the follower member which hasn't received token
replicated log yet. The member will reject the request.

For instance, the maintenance.Status API will return "auth: invalid auth
token". But the client doesn't identify the error. The client won't retry to
refresh auth token. The maintenance.Status should togRPCError before return
so that the client can reflesh token. It's align with existing API.

Since the maintenance client always creates one connection to target
member, the member will have the token after refresh auth.

Maybe we can introduce a sync to wait for member is ready with token,
instead of refreshing.

Fixes: #15758

Signed-off-by: Wei Fu <fuweid89@gmail.com>
2023-04-22 18:35:53 +08:00
659 changed files with 26770 additions and 16933 deletions

View File

@ -4,7 +4,7 @@
"name": "Go",
// Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile
"image": "mcr.microsoft.com/devcontainers/go:1.19-bullseye",
"image": "mcr.microsoft.com/devcontainers/go:1.21-bookworm",
// Features to add to the dev container. More info: https://containers.dev/features.
"features": {

View File

@ -1,92 +1,102 @@
---
name: Bug Report
description: Report a bug encountered while operating Etcd
description: Report a bug encountered while operating etcd
labels:
- type/bug
- type/bug
body:
- type: markdown
attributes:
value: |
Please read https://github.com/etcd-io/etcd/blob/main/Documentation/contributor-guide/reporting_bugs.md
If this matter is security related, please disclose it privately via security@etcd.io.
Please fill the form below and provide as much information as possible.
Not doing so may result in your bug not being addressed in a timely manner.
- type: checkboxes
id: confirmations
attributes:
label: Bug report criteria
description: Please confirm this bug report meets the following criteria.
options:
- label: This bug report is not security related, security issues should be disclosed privately via security@etcd.io.
- label: This is not a support request or question, support requests or questions should be raised in the etcd [discussion forums](https://github.com/etcd-io/etcd/discussions).
- label: You have read the etcd [bug reporting guidelines](https://github.com/etcd-io/etcd/blob/main/Documentation/contributor-guide/reporting_bugs.md).
- label: Existing open issues along with etcd [frequently asked questions](https://etcd.io/docs/latest/faq) have been checked and this is not a duplicate.
- type: textarea
id: problem
attributes:
label: What happened?
validations:
required: true
- type: markdown
attributes:
value: |
Please fill the form below and provide as much information as possible.
Not doing so may result in your bug not being addressed in a timely manner.
- type: textarea
id: expected
attributes:
label: What did you expect to happen?
validations:
required: true
- type: textarea
id: problem
attributes:
label: What happened?
validations:
required: true
- type: textarea
id: repro
attributes:
label: How can we reproduce it (as minimally and precisely as possible)?
validations:
required: true
- type: textarea
id: expected
attributes:
label: What did you expect to happen?
validations:
required: true
- type: textarea
id: additional
attributes:
label: Anything else we need to know?
- type: textarea
id: repro
attributes:
label: How can we reproduce it (as minimally and precisely as possible)?
validations:
required: true
- type: textarea
id: etcdVersion
attributes:
label: Etcd version (please run commands below)
value: |
<details>
- type: textarea
id: additional
attributes:
label: Anything else we need to know?
```console
$ etcd --version
# paste output here
- type: textarea
id: etcdVersion
attributes:
label: Etcd version (please run commands below)
value: |
<details>
$ etcdctl version
# paste output here
```
```console
$ etcd --version
# paste output here
</details>
validations:
required: true
$ etcdctl version
# paste output here
```
- type: textarea
id: config
attributes:
label: Etcd configuration (command line flags or environment variables)
value: |
<details>
</details>
validations:
required: true
# paste your configuration here
- type: textarea
id: config
attributes:
label: Etcd configuration (command line flags or environment variables)
value: |
<details>
</details>
# paste your configuration here
- type: textarea
id: etcdDebugInformation
attributes:
label: Etcd debug information (please run commands below, feel free to obfuscate the IP address or FQDN in the output)
value: |
<details>
</details>
```console
$ etcdctl member list -w table
# paste output here
- type: textarea
id: etcdDebugInformation
attributes:
label: Etcd debug information (please run commands below, feel free to obfuscate the IP address or FQDN in the output)
value: |
<details>
$ etcdctl --endpoints=<member list> endpoint status -w table
# paste output here
```
```console
$ etcdctl member list -w table
# paste output here
</details>
$ etcdctl --endpoints=<member list> endpoint status -w table
# paste output here
```
- type: textarea
id: logs
attributes:
label: Relevant log output
description: Please copy and paste any relevant log output. This will be automatically formatted into code, so no need for backticks.
render: shell
</details>
- type: textarea
id: logs
attributes:
label: Relevant log output
description: Please copy and paste any relevant log output. This will be automatically formatted into code, so no need for backticks.
render: Shell

View File

@ -1,5 +1,6 @@
---
blank_issues_enabled: false
contact_links:
- name: Question
url: https://github.com/etcd-io/etcd/discussions
about: Question relating to Etcd
- name: Question
url: https://github.com/etcd-io/etcd/discussions
about: Question relating to Etcd

View File

@ -1,18 +1,19 @@
---
name: Feature request
description: Provide idea for a new feature
labels:
- type/feature
- type/feature
body:
- type: textarea
id: feature
attributes:
label: What would you like to be added?
validations:
required: true
- type: textarea
id: feature
attributes:
label: What would you like to be added?
validations:
required: true
- type: textarea
id: rationale
attributes:
label: Why is this needed?
validations:
required: true
- type: textarea
id: rationale
attributes:
label: Why is this needed?
validations:
required: true

View File

@ -1,30 +1,31 @@
---
name: Membership nomination
description: Nominate new etcd members
labels:
- area/community
- area/community
body:
- type: textarea
id: feature
attributes:
label: Who would you like to nominate?
validations:
required: true
- id: requirements
type: checkboxes
attributes:
label: Requirements
options:
- label: I have reviewed the [community membership guidelines](https://github.com/etcd-io/etcd/blob/main/Documentation/contributor-guide/community-membership.md)
required: true
- label: The members are actively contributing to 1 or more etcd subprojects
required: true
- label: The members are being sponsored by two current reviewers or a current maintainer.
- type: textarea
id: feature
attributes:
label: Who would you like to nominate?
validations:
required: true
- type: textarea
id: rationale
attributes:
label: How do the new members meet the regular active contribution requirements?
validations:
required: true
- id: requirements
type: checkboxes
attributes:
label: Requirements
options:
- label: I have reviewed the [community membership guidelines](https://github.com/etcd-io/etcd/blob/main/Documentation/contributor-guide/community-membership.md)
required: true
- label: The members are actively contributing to 1 or more etcd subprojects
required: true
- label: The members are being sponsored by two current reviewers or a current maintainer.
required: true
- type: textarea
id: rationale
attributes:
label: How do the new members meet the regular active contribution requirements?
validations:
required: true

View File

@ -1,33 +1,35 @@
---
name: Flaking Test
description: Report flaky tests
labels:
- type/flake
- type/flake
- area/testing
body:
- type: textarea
id: workflows
attributes:
label: Which github workflows are flaking?
validations:
required: true
- type: textarea
id: workflows
attributes:
label: Which github workflows are flaking?
validations:
required: true
- type: textarea
id: tests
attributes:
label: Which tests are flaking?
validations:
required: true
- type: textarea
id: tests
attributes:
label: Which tests are flaking?
validations:
required: true
- type: input
id: link
attributes:
label: Github Action link
- type: input
id: link
attributes:
label: Github Action link
- type: textarea
id: reason
attributes:
label: Reason for failure (if possible)
- type: textarea
id: reason
attributes:
label: Reason for failure (if possible)
- type: textarea
id: additional
attributes:
label: Anything else we need to know?
- type: textarea
id: additional
attributes:
label: Anything else we need to know?

View File

@ -1,3 +1,4 @@
---
version: 2
updates:
- package-ecosystem: github-actions
@ -10,11 +11,16 @@ updates:
schedule:
interval: weekly
allow:
- dependency-type: all
- dependency-type: all
- package-ecosystem: gomod
directory: /tools/mod # Not linked from /go.mod
schedule:
interval: weekly
allow:
- dependency-type: all
- dependency-type: all
- package-ecosystem: docker
directory: /
schedule:
interval: weekly

7
.github/stale.yml vendored
View File

@ -1,3 +1,4 @@
---
# Configuration for probot-stale - https://github.com/probot/stale
# Number of days of inactivity before an Issue or Pull Request becomes stale
@ -27,11 +28,7 @@ exemptAssignees: false
staleLabel: stale
# Comment to post when marking as stale. Set to `false` to disable
markComment: >
This issue has been automatically marked as stale because it has not had
recent activity. It will be closed after 21 days if no further activity
occurs. Thank you for your contributions.
markComment: This issue has been automatically marked as stale because it has not had recent activity. It will be closed after 21 days if no further activity occurs. Thank you for your contributions.
# Comment to post when removing the stale label.
# unmarkComment: >
# Your comment here.

View File

@ -1,13 +1,11 @@
---
name: Build
on: [push, pull_request]
permissions: read-all
jobs:
goversion:
uses: ./.github/workflows/go-version.yaml
build:
runs-on: ubuntu-latest
needs: goversion
strategy:
fail-fast: false
matrix:
@ -22,10 +20,12 @@ jobs:
- linux-ppc64le
- linux-s390x
steps:
- uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
- uses: actions/setup-go@4d34df0c2316fe8122ab82dc22947d607c0c91f9 # v4.0.0
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- id: goversion
run: echo "goversion=$(cat .go-version)" >> "$GITHUB_OUTPUT"
- uses: actions/setup-go@0c52d547c9bc32b1aa3301fd7a9cb496313a4491 # v5.0.0
with:
go-version: ${{ needs.goversion.outputs.goversion }}
go-version: ${{ steps.goversion.outputs.goversion }}
- env:
TARGET: ${{ matrix.target }}
run: |

View File

@ -1,3 +1,4 @@
---
# For most projects, this workflow file will not need changing; you simply need
# to commit it to your repository.
#
@ -10,18 +11,15 @@
# supported CodeQL languages.
#
name: "CodeQL"
on:
push:
branches: [ main, release-3.4, release-3.5, release-3.6 ]
branches: [main, release-3.4, release-3.5, release-3.6]
pull_request:
# The branches below must be a subset of the branches above
branches: [ main ]
branches: [main]
schedule:
- cron: '20 14 * * 5'
permissions: read-all
jobs:
analyze:
name: Analyze
@ -30,44 +28,28 @@ jobs:
actions: read
contents: read
security-events: write
strategy:
fail-fast: false
matrix:
language: [ 'go' ]
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python' ]
# Learn more:
# https://docs.github.com/en/free-pro-team@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#changing-the-languages-that-are-analyzed
language: ['go']
steps:
- name: Checkout repository
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@7df0ce34898d659f95c0c4a09eaa8d4e32ee64db # v2.2.12
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
# By default, queries listed here will override any specified in a config file.
# Prefix the list here with "+" to use these queries and those in the config file.
# queries: ./path/to/local/query, your-org/your-repo/queries@main
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@7df0ce34898d659f95c0c4a09eaa8d4e32ee64db # v2.2.12
# Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl
# ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
# and modify them (or add more) to build your code if your project
# uses a compiled language
#- run: |
# make bootstrap
# make release
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@7df0ce34898d659f95c0c4a09eaa8d4e32ee64db # v2.2.12
- name: Checkout repository
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@012739e5082ff0c22ca6d6ab32e07c36df03c4a4 # v3.22.12
with:
# If you wish to specify custom queries, you can do so here or in a config file.
# By default, queries listed here will override any specified in a config file.
# Prefix the list here with "+" to use these queries and those in the config file.
# queries: ./path/to/local/query, your-org/your-repo/queries@main
languages: ${{ matrix.language }}
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@012739e5082ff0c22ca6d6ab32e07c36df03c4a4 # v3.22.12
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@012739e5082ff0c22ca6d6ab32e07c36df03c4a4 # v3.22.12

View File

@ -1,18 +1,18 @@
---
name: Test contrib/mixin
on: [push, pull_request]
permissions: read-all
jobs:
goversion:
uses: ./.github/workflows/go-version.yaml
test:
runs-on: ubuntu-latest
needs: goversion
steps:
- uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
- uses: actions/setup-go@4d34df0c2316fe8122ab82dc22947d607c0c91f9 # v4.0.0
with:
go-version: ${{ needs.goversion.outputs.goversion }}
- run: |
set -euo pipefail
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- id: goversion
run: echo "goversion=$(cat .go-version)" >> "$GITHUB_OUTPUT"
- uses: actions/setup-go@0c52d547c9bc32b1aa3301fd7a9cb496313a4491 # v5.0.0
with:
go-version: ${{ steps.goversion.outputs.goversion }}
- run: |
set -euo pipefail
make -C contrib/mixin tools test
make -C contrib/mixin tools test

View File

@ -1,32 +1,32 @@
---
name: Coverage
on: [push]
permissions: read-all
jobs:
goversion:
uses: ./.github/workflows/go-version.yaml
coverage:
runs-on: ubuntu-latest
needs: goversion
strategy:
fail-fast: false
matrix:
target:
- linux-amd64-coverage
- linux-amd64-coverage
steps:
- uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
- uses: actions/setup-go@4d34df0c2316fe8122ab82dc22947d607c0c91f9 # v4.0.0
with:
go-version: ${{ needs.goversion.outputs.goversion }}
- env:
TARGET: ${{ matrix.target }}
run: |
mkdir "${TARGET}"
case "${TARGET}" in
linux-amd64-coverage)
GOARCH=amd64 ./scripts/codecov_upload.sh
;;
*)
echo "Failed to find target"
exit 1
;;
esac
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- id: goversion
run: echo "goversion=$(cat .go-version)" >> "$GITHUB_OUTPUT"
- uses: actions/setup-go@0c52d547c9bc32b1aa3301fd7a9cb496313a4491 # v5.0.0
with:
go-version: ${{ steps.goversion.outputs.goversion }}
- env:
TARGET: ${{ matrix.target }}
run: |
mkdir "${TARGET}"
case "${TARGET}" in
linux-amd64-coverage)
GOARCH=amd64 ./scripts/codecov_upload.sh
;;
*)
echo "Failed to find target"
exit 1
;;
esac

View File

@ -1,40 +1,37 @@
name: E2E-arm64
on:
schedule:
- cron: '0 1 * * *' # runs daily at 1am.
---
name: E2E-Arm64
on: [push, pull_request]
permissions: read-all
jobs:
goversion:
uses: ./.github/workflows/go-version.yaml
test:
# this is to prevent the job to run at forked projects
if: github.repository == 'etcd-io/etcd'
runs-on: [Linux, ARM64]
needs: goversion
runs-on: actuated-arm64-8cpu-8gb
strategy:
fail-fast: true
fail-fast: false
matrix:
target:
- linux-arm64-e2e
- linux-arm64-e2e
steps:
- uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
- uses: actions/setup-go@4d34df0c2316fe8122ab82dc22947d607c0c91f9 # v4.0.0
with:
ref: main
go-version: ${{ needs.goversion.outputs.goversion }}
- run: date
- env:
TARGET: ${{ matrix.target }}
run: |
set -euo pipefail
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- id: goversion
run: echo "goversion=$(cat .go-version)" >> "$GITHUB_OUTPUT"
- uses: actions/setup-go@0c52d547c9bc32b1aa3301fd7a9cb496313a4491 # v5.0.0
with:
go-version: ${{ steps.goversion.outputs.goversion }}
- env:
TARGET: ${{ matrix.target }}
run: |
set -euo pipefail
go clean -testcache
echo "${TARGET}"
case "${TARGET}" in
linux-arm64-e2e)
GOOS=linux GOARCH=arm64 CPU=4 EXPECT_DEBUG=true RACE=true make test-e2e-release
;;
*)
echo "Failed to find target"
exit 1
;;
esac
echo "${TARGET}"
case "${TARGET}" in
linux-arm64-e2e)
GOOS=linux GOARCH=arm64 CPU=4 EXPECT_DEBUG=true make test-e2e-release
;;
*)
echo "Failed to find target"
exit 1
;;
esac

View File

@ -1,39 +1,40 @@
---
name: E2E
on: [push, pull_request]
permissions: read-all
jobs:
goversion:
uses: ./.github/workflows/go-version.yaml
test:
runs-on: ubuntu-latest
needs: goversion
strategy:
fail-fast: true
fail-fast: false
matrix:
target:
- linux-amd64-e2e
- linux-386-e2e
- linux-amd64-e2e
- linux-386-e2e
steps:
- uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
- uses: actions/setup-go@4d34df0c2316fe8122ab82dc22947d607c0c91f9 # v4.0.0
with:
go-version: ${{ needs.goversion.outputs.goversion }}
- run: date
- env:
TARGET: ${{ matrix.target }}
run: |
set -euo pipefail
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- id: goversion
run: echo "goversion=$(cat .go-version)" >> "$GITHUB_OUTPUT"
- uses: actions/setup-go@0c52d547c9bc32b1aa3301fd7a9cb496313a4491 # v5.0.0
with:
go-version: ${{ steps.goversion.outputs.goversion }}
- env:
TARGET: ${{ matrix.target }}
run: |
set -euo pipefail
go clean -testcache
echo "${TARGET}"
case "${TARGET}" in
linux-amd64-e2e)
GOOS=linux GOARCH=amd64 CPU=4 EXPECT_DEBUG=true RACE=true make test-e2e-release
;;
linux-386-e2e)
GOOS=linux GOARCH=386 CPU=4 EXPECT_DEBUG=true RACE=true make test-e2e
;;
*)
echo "Failed to find target"
exit 1
;;
esac
echo "${TARGET}"
case "${TARGET}" in
linux-amd64-e2e)
make gofail-enable
VERBOSE=1 GOOS=linux GOARCH=amd64 CPU=4 EXPECT_DEBUG=true make test-e2e-release
;;
linux-386-e2e)
VERBOSE=1 GOOS=linux GOARCH=386 CPU=4 EXPECT_DEBUG=true make test-e2e
;;
*)
echo "Failed to find target"
exit 1
;;
esac

View File

@ -1,26 +1,26 @@
---
name: Fuzzing v3rpc
on: [push, pull_request]
permissions: read-all
jobs:
goversion:
uses: ./.github/workflows/go-version.yaml
fuzzing:
runs-on: ubuntu-latest
needs: goversion
strategy:
fail-fast: false
env:
TARGET_PATH: ./server/etcdserver/api/v3rpc
steps:
- uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
- uses: actions/setup-go@4d34df0c2316fe8122ab82dc22947d607c0c91f9 # v4.0.0
with:
go-version: ${{ needs.goversion.outputs.goversion }}
- run: |
set -euo pipefail
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- id: goversion
run: echo "goversion=$(cat .go-version)" >> "$GITHUB_OUTPUT"
- uses: actions/setup-go@0c52d547c9bc32b1aa3301fd7a9cb496313a4491 # v5.0.0
with:
go-version: ${{ steps.goversion.outputs.goversion }}
- run: |
set -euo pipefail
GOARCH=amd64 CPU=4 make fuzz
- uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce # v3.1.2
if: failure()
with:
path: "${{env.TARGET_PATH}}/testdata/fuzz/**/*"
GOARCH=amd64 CPU=4 make fuzz
- uses: actions/upload-artifact@c7d193f32edcb7bfad88892161225aeda64e9392 # v4.0.0
if: failure()
with:
path: "${{env.TARGET_PATH}}/testdata/fuzz/**/*"

View File

@ -0,0 +1,44 @@
---
name: Approve GitHub Workflows
on:
pull_request_target:
types:
- labeled
- synchronize
branches:
- main
- release-3.5
- release-3.4
jobs:
approve:
name: Approve ok-to-test
if: contains(github.event.pull_request.labels.*.name, 'ok-to-test')
runs-on: ubuntu-latest
permissions:
actions: write
steps:
- name: Update PR
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
continue-on-error: true
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
debug: ${{ secrets.ACTIONS_RUNNER_DEBUG == 'true' }}
script: |
const result = await github.rest.actions.listWorkflowRunsForRepo({
owner: context.repo.owner,
repo: context.repo.repo,
event: "pull_request",
status: "action_required",
head_sha: context.payload.pull_request.head.sha,
per_page: 100
});
for (var run of result.data.workflow_runs) {
await github.rest.actions.approveWorkflowRun({
owner: context.repo.owner,
repo: context.repo.repo,
run_id: run.id
});
}

View File

@ -1,22 +0,0 @@
name: Go version setup
env:
GO_VERSION: "1.19.8"
on:
workflow_call:
outputs:
goversion:
value: ${{ jobs.version.outputs.goversion }}
jobs:
version:
name: Set Go version variable for all the workflows
runs-on: ubuntu-latest
outputs:
goversion: ${{ steps.step1.outputs.goversion }}
steps:
- id: step1
run: |
echo "Go Version: $GO_VERSION"
echo "goversion=$GO_VERSION" >> $GITHUB_OUTPUT

View File

@ -1,17 +1,17 @@
---
name: Go Vulnerability Checker
on: [push, pull_request]
permissions: read-all
jobs:
goversion:
uses: ./.github/workflows/go-version.yaml
test:
runs-on: ubuntu-latest
needs: goversion
steps:
- uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
- uses: actions/setup-go@4d34df0c2316fe8122ab82dc22947d607c0c91f9 # v4.0.0
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- id: goversion
run: echo "goversion=$(cat .go-version)" >> "$GITHUB_OUTPUT"
- uses: actions/setup-go@0c52d547c9bc32b1aa3301fd7a9cb496313a4491 # v5.0.0
with:
go-version: ${{ needs.goversion.outputs.goversion }}
go-version: ${{ steps.goversion.outputs.goversion }}
- run: date
- run: |
set -euo pipefail

View File

@ -1,39 +1,38 @@
---
name: grpcProxy-tests
on: [push, pull_request]
permissions: read-all
jobs:
goversion:
uses: ./.github/workflows/go-version.yaml
test:
runs-on: ubuntu-latest
needs: goversion
strategy:
fail-fast: true
fail-fast: false
matrix:
target:
- linux-amd64-grpcproxy-integration
- linux-amd64-grpcproxy-e2e
- linux-amd64-grpcproxy-integration
- linux-amd64-grpcproxy-e2e
steps:
- uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
- uses: actions/setup-go@4d34df0c2316fe8122ab82dc22947d607c0c91f9 # v4.0.0
with:
go-version: ${{ needs.goversion.outputs.goversion }}
- run: date
- env:
TARGET: ${{ matrix.target }}
run: |
set -euo pipefail
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- id: goversion
run: echo "goversion=$(cat .go-version)" >> "$GITHUB_OUTPUT"
- uses: actions/setup-go@0c52d547c9bc32b1aa3301fd7a9cb496313a4491 # v5.0.0
with:
go-version: ${{ steps.goversion.outputs.goversion }}
- env:
TARGET: ${{ matrix.target }}
run: |
set -euo pipefail
echo "${TARGET}"
case "${TARGET}" in
linux-amd64-grpcproxy-integration)
GOOS=linux GOARCH=amd64 CPU=4 RACE=true make test-grpcproxy-integration
;;
linux-amd64-grpcproxy-e2e)
GOOS=linux GOARCH=amd64 CPU=4 RACE=true make test-grpcproxy-e2e
;;
*)
echo "Failed to find target"
exit 1
;;
esac
echo "${TARGET}"
case "${TARGET}" in
linux-amd64-grpcproxy-integration)
GOOS=linux GOARCH=amd64 CPU=4 make test-grpcproxy-integration
;;
linux-amd64-grpcproxy-e2e)
GOOS=linux GOARCH=amd64 CPU=4 make test-grpcproxy-e2e
;;
*)
echo "Failed to find target"
exit 1
;;
esac

View File

@ -1,3 +1,4 @@
---
name: Measure Test Flakiness
on:
@ -11,12 +12,12 @@ jobs:
name: Measure Test Flakiness
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
- env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
set -euo pipefail
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
set -euo pipefail
./scripts/measure-test-flakiness.sh
make bin/etcd-test-analyzer
bin/etcd-test-analyzer run -token $GITHUB_TOKEN -max-age=168h -workflow Tests -branch main
./scripts/measure-test-flakiness.sh
make bin/etcd-test-analyzer
bin/etcd-test-analyzer run -token $GITHUB_TOKEN -max-age=168h -workflow Tests -branch main

View File

@ -1,34 +1,34 @@
---
name: Release
on: [push, pull_request]
permissions: read-all
jobs:
goversion:
uses: ./.github/workflows/go-version.yaml
main:
runs-on: ubuntu-latest
needs: goversion
steps:
- uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
- uses: actions/setup-go@4d34df0c2316fe8122ab82dc22947d607c0c91f9 # v4.0.0
with:
go-version: ${{ needs.goversion.outputs.goversion }}
- name: release
run: |
set -euo pipefail
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- id: goversion
run: echo "goversion=$(cat .go-version)" >> "$GITHUB_OUTPUT"
- uses: actions/setup-go@0c52d547c9bc32b1aa3301fd7a9cb496313a4491 # v5.0.0
with:
go-version: ${{ steps.goversion.outputs.goversion }}
- name: release
run: |
set -euo pipefail
git config --global user.email "github-action@etcd.io"
git config --global user.name "Github Action"
gpg --batch --gen-key <<EOF
%no-protection
Key-Type: 1
Key-Length: 2048
Subkey-Type: 1
Subkey-Length: 2048
Name-Real: Github Action
Name-Email: github-action@etcd.io
Expire-Date: 0
EOF
DRY_RUN=true ./scripts/release.sh --no-upload --no-docker-push --in-place 3.6.99
- name: test-image
run: |
VERSION=3.6.99 ./scripts/test_images.sh
git config --global user.email "github-action@etcd.io"
git config --global user.name "Github Action"
gpg --batch --gen-key <<EOF
%no-protection
Key-Type: 1
Key-Length: 2048
Subkey-Type: 1
Subkey-Length: 2048
Name-Real: Github Action
Name-Email: github-action@etcd.io
Expire-Date: 0
EOF
DRY_RUN=true ./scripts/release.sh --no-upload --no-docker-push --in-place 3.6.99
- name: test-image
run: |
VERSION=3.6.99 ./scripts/test_images.sh

View File

@ -1,3 +1,4 @@
---
name: Robustness Nightly
permissions: read-all
on:
@ -5,26 +6,49 @@ on:
# with individual checkout actions for each of the active release branches
schedule:
- cron: '25 9 * * *' # runs every day at 09:25 UTC
# workflow_dispatch enables manual testing of this job by maintainers
workflow_dispatch:
jobs:
main:
# GHA has a maximum amount of 6h execution time, we try to get done within 3h
uses: ./.github/workflows/robustness-template.yaml
with:
etcdBranch: main
count: 100
count: 80
testTimeout: 200m
artifactName: main
runs-on: "['ubuntu-latest-8-cores']"
main-arm64:
uses: ./.github/workflows/robustness-template.yaml
with:
etcdBranch: main
count: 80
testTimeout: 200m
artifactName: main-arm64
runs-on: "['actuated-arm64-8cpu-8gb']"
release-35:
uses: ./.github/workflows/robustness-template.yaml
with:
etcdBranch: release-3.5
count: 80
testTimeout: 200m
artifactName: release-35
runs-on: "['ubuntu-latest-8-cores']"
release-35-arm64:
uses: ./.github/workflows/robustness-template.yaml
with:
etcdBranch: release-3.5
count: 100
testTimeout: 200m
artifactName: release-35
artifactName: release-35-arm64
runs-on: "['actuated-arm64-8cpu-8gb']"
release-34:
uses: ./.github/workflows/robustness-template.yaml
with:
etcdBranch: release-3.4
count: 100
count: 80
testTimeout: 200m
artifactName: release-34
runs-on: "['ubuntu-latest-8-cores']"

View File

@ -1,3 +1,4 @@
---
name: Reusable Robustness Workflow
on:
workflow_call:
@ -15,46 +16,55 @@ on:
artifactName:
required: true
type: string
runs-on:
required: false
type: string
default: "['ubuntu-latest']"
permissions: read-all
jobs:
goversion:
uses: ./.github/workflows/go-version.yaml
test:
timeout-minutes: 210
runs-on: ubuntu-latest
needs: goversion
runs-on: ${{ fromJson(inputs.runs-on) }}
steps:
- uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
- uses: actions/setup-go@4d34df0c2316fe8122ab82dc22947d607c0c91f9 # v4.0.0
with:
go-version: ${{ needs.goversion.outputs.goversion }}
- name: test-robustness
env:
ETCD_BRANCH: "${{ inputs.etcdBranch }}"
run: |
set -euo pipefail
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- id: goversion
run: echo "goversion=$(cat .go-version)" >> "$GITHUB_OUTPUT"
- uses: actions/setup-go@0c52d547c9bc32b1aa3301fd7a9cb496313a4491 # v5.0.0
with:
go-version: ${{ steps.goversion.outputs.goversion }}
- name: test-robustness
env:
ETCD_BRANCH: "${{ inputs.etcdBranch }}"
run: |
set -euo pipefail
go clean -testcache
# Use --failfast to avoid overriding report generated by failed test
GO_TEST_FLAGS="-v --count ${{ inputs.count }} --timeout ${{ inputs.testTimeout }} --failfast --run TestRobustness"
case "${ETCD_BRANCH}" in
release-3.5)
EXPECT_DEBUG=true GO_TEST_FLAGS=${GO_TEST_FLAGS} RESULTS_DIR=/tmp/results make test-robustness-release-3.5
;;
release-3.4)
EXPECT_DEBUG=true GO_TEST_FLAGS=${GO_TEST_FLAGS} RESULTS_DIR=/tmp/results make test-robustness-release-3.4
;;
main)
make gofail-enable
make build
EXPECT_DEBUG=true GO_TEST_FLAGS=${GO_TEST_FLAGS} RESULTS_DIR=/tmp/results make test-robustness
;;
*)
echo "Failed to find target ${ETCD_BRANCH}"
exit 1
;;
esac
- uses: actions/upload-artifact@v2
if: always()
with:
name: ${{ inputs.artifactName }}
path: /tmp/results/*
# Build LazyFS
sudo apt update && sudo apt-get --yes install cmake libfuse3-dev libfuse3-3 fuse3
sudo sed -i 's/#user_allow_other/user_allow_other/g' /etc/fuse.conf
make install-lazyfs
# Use --failfast to avoid overriding report generated by failed test
GO_TEST_FLAGS="-v --count ${{ inputs.count }} --timeout ${{ inputs.testTimeout }} --failfast --run TestRobustness"
case "${ETCD_BRANCH}" in
release-3.5)
EXPECT_DEBUG=true GO_TEST_FLAGS=${GO_TEST_FLAGS} RESULTS_DIR=/tmp/results make test-robustness-release-3.5
;;
release-3.4)
EXPECT_DEBUG=true GO_TEST_FLAGS=${GO_TEST_FLAGS} RESULTS_DIR=/tmp/results make test-robustness-release-3.4
;;
main)
make gofail-enable
make build
EXPECT_DEBUG=true GO_TEST_FLAGS=${GO_TEST_FLAGS} RESULTS_DIR=/tmp/results make test-robustness
;;
*)
echo "Failed to find target ${ETCD_BRANCH}"
exit 1
;;
esac
- uses: actions/upload-artifact@c7d193f32edcb7bfad88892161225aeda64e9392 # v4.0.0
if: always()
with:
name: ${{ inputs.artifactName }}
path: /tmp/results/*

View File

@ -1,3 +1,4 @@
---
name: Robustness
on: [push, pull_request]
permissions: read-all
@ -6,6 +7,15 @@ jobs:
uses: ./.github/workflows/robustness-template.yaml
with:
etcdBranch: main
count: 15
count: 12
testTimeout: 30m
artifactName: main
runs-on: "['ubuntu-latest-8-cores']"
main-arm64:
uses: ./.github/workflows/robustness-template.yaml
with:
etcdBranch: main
count: 12
testTimeout: 30m
artifactName: main-arm64
runs-on: "['actuated-arm64-8cpu-8gb']"

View File

@ -1,3 +1,4 @@
---
name: Scorecards supply-chain security
on:
# Only the default branch is supported.
@ -5,7 +6,7 @@ on:
schedule:
- cron: '45 1 * * 0'
push:
branches: [ "main" ]
branches: ["main"]
# Declare default permissions as read only.
permissions: read-all
@ -22,12 +23,12 @@ jobs:
steps:
- name: "Checkout code"
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # tag=v3.0.0
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
with:
persist-credentials: false
- name: "Run analysis"
uses: ossf/scorecard-action@80e868c13c90f172d68d1f4501dee99e2479f7af # tag=v2.1.3
uses: ossf/scorecard-action@0864cf19026789058feabb7e87baa5f140aac736 # v2.3.1
with:
results_file: results.sarif
results_format: sarif
@ -41,14 +42,14 @@ jobs:
# Upload the results as artifacts (optional). Commenting out will disable uploads of run results in SARIF
# format to the repository Actions tab.
- name: "Upload artifact"
uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce # tag=v3.0.0
uses: actions/upload-artifact@c7d193f32edcb7bfad88892161225aeda64e9392 # v4.0.0
with:
name: SARIF file
path: results.sarif
retention-days: 5
# Upload the results to GitHub's code scanning dashboard.
- name: "Upload to code-scanning"
uses: github/codeql-action/upload-sarif@7df0ce34898d659f95c0c4a09eaa8d4e32ee64db # tag=v1.0.26
uses: github/codeql-action/upload-sarif@012739e5082ff0c22ca6d6ab32e07c36df03c4a4 # v3.22.12
with:
sarif_file: results.sarif

View File

@ -1,26 +1,36 @@
---
name: Static Analysis
on: [push, pull_request]
permissions: read-all
jobs:
goversion:
uses: ./.github/workflows/go-version.yaml
run:
runs-on: ubuntu-latest
needs: goversion
steps:
- uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
- uses: actions/setup-go@4d34df0c2316fe8122ab82dc22947d607c0c91f9 # v4.0.0
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- id: goversion
run: echo "goversion=$(cat .go-version)" >> "$GITHUB_OUTPUT"
- uses: actions/setup-go@0c52d547c9bc32b1aa3301fd7a9cb496313a4491 # v5.0.0
with:
go-version: ${{ needs.goversion.outputs.goversion }}
go-version: ${{ steps.goversion.outputs.goversion }}
- id: golangci_lint_version
run: echo "golangci_lint_version=$(cd tools/mod && go list -m -f {{.Version}} github.com/golangci/golangci-lint)" >> "$GITHUB_OUTPUT"
- name: golangci-lint
uses: golangci/golangci-lint-action@08e2f20817b15149a52b5b3ebe7de50aff2ba8c5 # v3.4.0
uses: golangci/golangci-lint-action@3a919529898de77ec3da873e3063ca4b10e7f5cc # v3.7.0
with:
version: v1.49.0
version: ${{ steps.golangci_lint_version.outputs.golangci_lint_version }}
args: --config tools/.golangci.yaml
- name: protoc
uses: arduino/setup-protoc@64c0c85d18e984422218383b81c52f8b077404d3 # v1.1.2
uses: arduino/setup-protoc@149f6c87b92550901b26acd1632e11c3662e381f # v1.3.0
with:
version: '3.14.0'
version: '3.20.3'
repo-token: ${{ secrets.GITHUB_TOKEN }}
- uses: actions-rs/toolchain@v1
with:
toolchain: stable
- run: |
set -euo pipefail
cargo install marker --version 0.9.0
- run: |
set -euo pipefail
@ -29,3 +39,13 @@ jobs:
set -euo pipefail
make fix
DIFF=$(git status --porcelain)
if [ -n "$DIFF" ]; then
echo "These files were modified:"
echo
echo "$DIFF"
echo
exit 1
fi

View File

@ -1,56 +0,0 @@
name: Tests-arm64
on:
schedule:
- cron: '30 1 * * *' # runs daily at 1:30 am.
jobs:
goversion:
uses: ./.github/workflows/go-version.yaml
test:
# this is to prevent the job to run at forked projects
if: github.repository == 'etcd-io/etcd'
runs-on: [Linux, ARM64]
needs: goversion
strategy:
fail-fast: false
matrix:
target:
- linux-arm64-integration-1-cpu
- linux-arm64-integration-2-cpu
- linux-arm64-integration-4-cpu
- linux-arm64-unit-4-cpu-race
steps:
- uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
- uses: actions/setup-go@4d34df0c2316fe8122ab82dc22947d607c0c91f9 # v4.0.0
with:
ref: main
go-version: ${{ needs.goversion.outputs.goversion }}
- run: date
- env:
TARGET: ${{ matrix.target }}
run: |
set -euo pipefail
mkdir "${TARGET}"
export JUNIT_REPORT_DIR=$(realpath ${TARGET})
case "${TARGET}" in
linux-arm64-integration-1-cpu)
GOOS=linux GOARCH=arm64 CPU=1 make test-integration
;;
linux-arm64-integration-2-cpu)
GOOS=linux GOARCH=arm64 CPU=2 make test-integration
;;
linux-arm64-integration-4-cpu)
GOOS=linux GOARCH=arm64 CPU=4 make test-integration
;;
linux-arm64-unit-4-cpu-race)
GOOS=linux GOARCH=arm64 CPU=4 RACE=true GO_TEST_FLAGS='-p=2' make test-unit
;;
*)
echo "Failed to find target"
exit 1
;;
esac
- uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce # v3.1.2
if: always()
with:
path: ./**/junit_*.xml

73
.github/workflows/tests-template.yaml vendored Normal file
View File

@ -0,0 +1,73 @@
---
name: Reusable Tests Workflow
on:
workflow_call:
inputs:
arch:
required: true
type: string
runs-on:
required: true
type: string
permissions: read-all
jobs:
test:
runs-on: ${{ inputs.runs-on }}
# this is to prevent arm64 jobs from running at forked projects
if: inputs.arch == 'amd64' || github.repository == 'etcd-io/etcd'
strategy:
fail-fast: false
matrix:
target:
- linux-${{ inputs.arch }}-integration-1-cpu
- linux-${{ inputs.arch }}-integration-2-cpu
- linux-${{ inputs.arch }}-integration-4-cpu
- linux-${{ inputs.arch }}-unit-4-cpu
- linux-386-unit-1-cpu
steps:
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- id: goversion
run: echo "goversion=$(cat .go-version)" >> "$GITHUB_OUTPUT"
- uses: actions/setup-go@0c52d547c9bc32b1aa3301fd7a9cb496313a4491 # v5.0.0
with:
go-version: ${{ steps.goversion.outputs.goversion }}
- env:
TARGET: ${{ matrix.target }}
run: |
set -euo pipefail
go clean -testcache
mkdir "${TARGET}"
export JUNIT_REPORT_DIR=$(realpath ${TARGET})
case "${TARGET}" in
linux-${{ inputs.arch }}-integration-1-cpu)
make gofail-enable
GOOS=linux GOARCH=${{ inputs.arch }} CPU=1 make test-integration
;;
linux-${{ inputs.arch }}-integration-2-cpu)
make gofail-enable
GOOS=linux GOARCH=${{ inputs.arch }} CPU=2 make test-integration
;;
linux-${{ inputs.arch }}-integration-4-cpu)
make gofail-enable
GOOS=linux GOARCH=${{ inputs.arch }} CPU=4 make test-integration
;;
linux-${{ inputs.arch }}-unit-4-cpu)
GOOS=linux GOARCH=${{ inputs.arch }} CPU=4 GO_TEST_FLAGS='-p=2' make test-unit
;;
linux-386-unit-1-cpu)
# skip running single-threaded 386 unit tests only if arch is arm64
if [ "${{ inputs.arch }}" == "arm64" ]; then exit; fi
GOOS=linux GOARCH=386 CPU=1 GO_TEST_FLAGS='-p=4' make test-unit
;;
*)
echo "Failed to find target"
exit 1
;;
esac
- uses: actions/upload-artifact@c7d193f32edcb7bfad88892161225aeda64e9392 # v4.0.0
if: always()
with:
name: "${{ matrix.target }}"
path: ./**/junit_*.xml

View File

@ -1,56 +1,15 @@
---
name: Tests
on: [push, pull_request]
permissions: read-all
jobs:
goversion:
uses: ./.github/workflows/go-version.yaml
test:
runs-on: ubuntu-latest
needs: goversion
strategy:
fail-fast: false
matrix:
target:
- linux-amd64-integration-1-cpu
- linux-amd64-integration-2-cpu
- linux-amd64-integration-4-cpu
- linux-amd64-unit-4-cpu-race
- linux-386-unit-1-cpu
steps:
- uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
- uses: actions/setup-go@4d34df0c2316fe8122ab82dc22947d607c0c91f9 # v4.0.0
with:
go-version: ${{ needs.goversion.outputs.goversion }}
- run: date
- env:
TARGET: ${{ matrix.target }}
run: |
set -euo pipefail
mkdir "${TARGET}"
export JUNIT_REPORT_DIR=$(realpath ${TARGET})
case "${TARGET}" in
linux-amd64-integration-1-cpu)
GOOS=linux GOARCH=amd64 CPU=1 make test-integration
;;
linux-amd64-integration-2-cpu)
GOOS=linux GOARCH=amd64 CPU=2 make test-integration
;;
linux-amd64-integration-4-cpu)
GOOS=linux GOARCH=amd64 CPU=4 make test-integration
;;
linux-amd64-unit-4-cpu-race)
GOOS=linux GOARCH=amd64 CPU=4 RACE=true GO_TEST_FLAGS='-p=2' make test-unit
;;
linux-386-unit-1-cpu)
GOOS=linux GOARCH=386 CPU=1 GO_TEST_FLAGS='-p=4' make test-unit
;;
*)
echo "Failed to find target"
exit 1
;;
esac
- uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce # v3.1.2
if: always()
with:
path: ./**/junit_*.xml
amd64:
uses: ./.github/workflows/tests-template.yaml
with:
arch: amd64
runs-on: ubuntu-latest
arm64:
uses: ./.github/workflows/tests-template.yaml
with:
arch: arm64
runs-on: actuated-arm64-8cpu-8gb

1
.go-version Normal file
View File

@ -0,0 +1 @@
1.21.5

View File

@ -1,41 +0,0 @@
run:
timeout: 30m
skip-files:
- "^zz_generated.*"
issues:
max-same-issues: 0
# Excluding configuration per-path, per-linter, per-text and per-source
exclude-rules:
# exclude ineffassing linter for generated files for conversion
- path: conversion\.go
linters:
- ineffassign
linters:
disable-all: true
enable: # please keep this alphabetized
# Don't use soon to deprecated[1] linters that lead to false
# https://github.com/golangci/golangci-lint/issues/1841
# - deadcode
# - structcheck
# - varcheck
- goimports
- ineffassign
- revive
- staticcheck
- stylecheck
- unused
- unconvert # Remove unnecessary type conversions
linters-settings: # please keep this alphabetized
goimports:
local-prefixes: go.etcd.io # Put imports beginning with prefix after 3rd-party packages.
staticcheck:
checks:
- "all"
- "-SA1019" # TODO(fix) Using a deprecated function, variable, constant or field
- "-SA2002" # TODO(fix) Called testing.T.FailNow or SkipNow in a goroutine, which isnt allowed
stylecheck:
checks:
- "ST1019" # Importing the same package multiple times.

View File

@ -2,6 +2,63 @@
Previous change logs can be found at [CHANGELOG-3.3](https://github.com/etcd-io/etcd/blob/main/CHANGELOG/CHANGELOG-3.3.md).
## v3.4.29 (tbd)
### etcd server
- [Disable following HTTP redirects in peer communication](https://github.com/etcd-io/etcd/pull/17112)
- [Add livez/readyz HTTP endpoints](https://github.com/etcd-io/etcd/pull/17128)
### Dependencies
- Compile binaries using go [1.20.12](https://github.com/etcd-io/etcd/pull/17076).
<hr>
## v3.4.28 (2023-11-23)
### etcd server
- Improve [Skip getting authInfo from incoming context when auth is disabled](https://github.com/etcd-io/etcd/pull/16240)
- Use [the default write scheduler](https://github.com/etcd-io/etcd/pull/16782) since golang.org/x/net@v0.11.0 started using round-robin scheduler.
- Add [cluster ID check during data corruption detection to prevent false alarm](https://github.com/etcd-io/etcd/issues/15548).
- Add [Learner support Snapshot RPC](https://github.com/etcd-io/etcd/pull/16990/).
### Package `clientv3`
- Fix [Reset auth token when failing to authenticate due to auth being disabled](https://github.com/etcd-io/etcd/pull/16240).
- [Simplify grpc dialer usage](https://github.com/etcd-io/etcd/issues/11519).
- [Replace balancer with upstream grpc solution](https://github.com/etcd-io/etcd/pull/16844).
- Fix [race condition when accessing cfg.Endpoints in dial()](https://github.com/etcd-io/etcd/pull/16857).
- Fix [invalid authority header issue in single endpoint scenario](https://github.com/etcd-io/etcd/pull/16988).
### Dependencies
- Compile binaries using [go 1.20.11](https://github.com/etcd-io/etcd/pull/16916).
- Upgrade [bbolt to 1.3.8](https://github.com/etcd-io/etcd/pull/16834).
- Upgrade gRPC to 1.58.3 in https://github.com/etcd-io/etcd/pull/16997 and https://github.com/etcd-io/etcd/pull/16999. Note that gRPC server will reject requests with connection header (refer to https://github.com/grpc/grpc-go/pull/4803).
<hr>
## v3.4.27 (2023-07-11)
### etcd server
- Fix [corruption check may get a `ErrCompacted` error when server has just been compacted](https://github.com/etcd-io/etcd/pull/16047)
- Improve [Lease put performance for the case that auth is disabled or the user is admin](https://github.com/etcd-io/etcd/pull/16020)
- Fix [embed: nil pointer dereference when stopServer](https://github.com/etcd-io/etcd/pull/16195)
### etcdctl v3
- Add [optional --bump-revision and --mark-compacted flag to etcdctl snapshot restore operation](https://github.com/etcd-io/etcd/pull/16193).
### Dependencies
- Compile binaries using [go 1.19.10](https://github.com/etcd-io/etcd/pull/16038).
<hr>
## v3.4.26 (2023-05-12)
### etcd server
- Fix [LeaseTimeToLive API may return keys to clients which have no read permission on the keys](https://github.com/etcd-io/etcd/pull/15814).
### Dependencies
- Compile binaries using [go 1.19.9](https://github.com/etcd-io/etcd/pull/15823)
<hr>
## v3.4.25 (2023-04-14)

View File

@ -4,7 +4,65 @@ Previous change logs can be found at [CHANGELOG-3.4](https://github.com/etcd-io/
<hr>
## v3.5.8 (TBD)
## v3.5.12 (tbd)
### etcd server
- [Add livez/readyz HTTP endpoints](https://github.com/etcd-io/etcd/pull/17039)
## v3.5.11 (2023-12-07)
### etcd server
- Fix distributed tracing by ensuring `--experimental-distributed-tracing-sampling-rate` configuration option is available to [set tracing sample rate](https://github.com/etcd-io/etcd/pull/16951).
- Fix [url redirects while checking peer urls during new member addition](https://github.com/etcd-io/etcd/pull/16986)
### Dependencies
- Compile binaries using [go 1.20.12](https://github.com/etcd-io/etcd/pull/17077)
- Fix [CVE-2023-47108](https://github.com/advisories/GHSA-8pgv-569h-w5rw) by [bumping go.opentelemetry.io/otel to 1.20.0 and go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc to 0.46.0](https://github.com/etcd-io/etcd/pull/16946).
<hr>
## v3.5.10 (2023-10-27)
### etcd server
- Fix [`--socket-reuse-port` and `--socket-reuse-address` not able to be set in configuration file](https://github.com/etcd-io/etcd/pull/16435).
- Fix [corruption check may get a `ErrCompacted` error when server has just been compacted](https://github.com/etcd-io/etcd/pull/16048)
- Improve [Lease put performance for the case that auth is disabled or the user is admin](https://github.com/etcd-io/etcd/pull/16019)
- Improve [Skip getting authInfo from incoming context when auth is disabled](https://github.com/etcd-io/etcd/pull/16241)
- Fix [Hash and HashKV have duplicated RESTful API](https://github.com/etcd-io/etcd/pull/16490)
### etcdutl v3
- Add [optional --bump-revision and --mark-compacted flag to etcdutl snapshot restore operation](https://github.com/etcd-io/etcd/pull/16165).
### etcdctl v3
- Add [optional --bump-revision and --mark-compacted flag to etcdctl snapshot restore operation](https://github.com/etcd-io/etcd/pull/16165).
### etcd grpc-proxy
- Fix [Memberlist results not updated when proxy node down](https://github.com/etcd-io/etcd/pull/15907).
### Package `clientv3`
- Fix [Multiple endpoints with same prefix got mixed up](https://github.com/etcd-io/etcd/pull/15939)
- Fix [Unexpected blocking when barrier waits on a nonexistent key](https://github.com/etcd-io/etcd/pull/16188)
- Fix [Reset auth token when failing to authenticate due to auth being disabled](https://github.com/etcd-io/etcd/pull/16241)
- Fix [panic in etcd validate secure endpoints](https://github.com/etcd-io/etcd/pull/16565)
### Dependencies
- Compile binaries using [go 1.20.10](https://github.com/etcd-io/etcd/pull/16745).
- Upgrade gRPC to 1.58.3 in https://github.com/etcd-io/etcd/pull/16625, https://github.com/etcd-io/etcd/pull/16781 and https://github.com/etcd-io/etcd/pull/16790. Note that gRPC server will reject requests with connection header (refer to https://github.com/grpc/grpc-go/pull/4803).
- Upgrade [bbolt to v1.3.8](https://github.com/etcd-io/etcd/pull/16833)
<hr>
## v3.5.9 (2023-05-11)
### etcd server
- Fix [LeaseTimeToLive API may return keys to clients which have no read permission on the keys](https://github.com/etcd-io/etcd/pull/15815).
### Dependencies
- Compile binaries using [go 1.19.9](https://github.com/etcd-io/etcd/pull/15822).
<hr>
## v3.5.8 (2023-04-13)
### etcd server
- Add [`etcd --tls-min-version --tls-max-version`](https://github.com/etcd-io/etcd/pull/15483) to enable support for TLS 1.3.

View File

@ -39,6 +39,8 @@ See [code changes](https://github.com/etcd-io/etcd/compare/v3.5.0...v3.6.0).
- Add command to generate [shell completion](https://github.com/etcd-io/etcd/pull/13142).
- Add `migrate` command for downgrading/upgrading etcd data dir files.
- Add [optional --bump-revision and --mark-compacted flag to etcdutl snapshot restore operation](https://github.com/etcd-io/etcd/pull/16029).
- Removed [legacy etcdutl backup](https://github.com/etcd-io/etcd/pull/16662)
### Package `clientv3`
@ -63,7 +65,6 @@ See [code changes](https://github.com/etcd-io/etcd/compare/v3.5.0...v3.6.0).
- Add [`etcd --experimental-max-learners`](https://github.com/etcd-io/etcd/pull/13377) flag to allow configuration of learner max membership.
- Add [`etcd --experimental-enable-lease-checkpoint-persist`](https://github.com/etcd-io/etcd/pull/13508) flag to handle upgrade from v3.5.2 clusters with this feature enabled.
- Add [`etcdctl make-mirror --rev`](https://github.com/etcd-io/etcd/pull/13519) flag to support incremental mirror.
- Add [`etcd --experimental-wait-cluster-ready-timeout`](https://github.com/etcd-io/etcd/pull/13525) flag to wait for cluster to be ready before serving client requests.
- Add [v3 discovery](https://github.com/etcd-io/etcd/pull/13635) to bootstrap a new etcd cluster.
- Add [field `storage`](https://github.com/etcd-io/etcd/pull/13772) into the response body of endpoint `/version`.
- Add [`etcd --max-concurrent-streams`](https://github.com/etcd-io/etcd/pull/14169) flag to configure the max concurrent streams each client can open at a time, and defaults to math.MaxUint32.
@ -72,9 +73,10 @@ See [code changes](https://github.com/etcd-io/etcd/compare/v3.5.0...v3.6.0).
- Add [Protection on maintenance request when auth is enabled](https://github.com/etcd-io/etcd/pull/14663).
- Graduated [`--experimental-warning-unary-request-duration` to `--warning-unary-request-duration`](https://github.com/etcd-io/etcd/pull/14414). Note the experimental flag is deprecated and will be decommissioned in v3.7.
- Add [field `hash_revision` into `HashKVResponse`](https://github.com/etcd-io/etcd/pull/14537).
- Add [`etcd --experimental-snapshot-catch-up-entries`](https://github.com/etcd-io/etcd/pull/15033) flag to configure number of entries for a slow follower to catch up after compacting the the raft storage entries and defaults to 5k.
- Add [`etcd --experimental-snapshot-catch-up-entries`](https://github.com/etcd-io/etcd/pull/15033) flag to configure number of entries for a slow follower to catch up after compacting the raft storage entries and defaults to 5k.
- Decreased [`--snapshot-count` default value from 100,000 to 10,000](https://github.com/etcd-io/etcd/pull/15408)
- Add [`etcd --tls-min-version --tls-max-version`](https://github.com/etcd-io/etcd/pull/15156) to enable support for TLS 1.3.
- Add [`etcd --experimental-stop-grpc-service-on-defrag`](https://github.com/etcd-io/etcd/pull/16278) to enable client failover on defrag.
### etcd grpc-proxy
@ -93,11 +95,12 @@ See [List of metrics](https://etcd.io/docs/latest/metrics/) for all metrics per
- Add [`etcd_debugging_server_alarms`](https://github.com/etcd-io/etcd/pull/14276).
### Go
- Require [Go 1.19+](https://github.com/etcd-io/etcd/pull/14463).
- Compile with [Go 1.19+](https://golang.org/doc/devel/release.html#go1.19). Please refer to [gc-guide](https://go.dev/doc/gc-guide) to configure `GOGC` and `GOMEMLIMIT` properly.
- Require [Go 1.21+](https://github.com/etcd-io/etcd/pull/16594).
- Compile with [Go 1.21+](https://go.dev/doc/devel/release#go1.21.minor). Please refer to [gc-guide](https://go.dev/doc/gc-guide) to configure `GOGC` and `GOMEMLIMIT` properly.
### Other
- Use Distroless as base image to make the image less vulnerable and reduce image size.
- [Upgrade grpc-gateway from v1 to v2](https://github.com/etcd-io/etcd/pull/16595).
<hr>

View File

@ -2,7 +2,7 @@
## Production recommendation
The minimum recommended etcd versions to run in **production** are v3.4.8+ and v3.5.4+. Refer to the [versioning policy](https://etcd.io/docs/v3.5/op-guide/versioning/) for more details.
The minimum recommended etcd versions to run in **production** are v3.4.22+ and v3.5.6+. Refer to the [versioning policy](https://etcd.io/docs/v3.5/op-guide/versioning/) for more details.
### v3.5 data corruption issue

View File

@ -38,10 +38,10 @@ Depending on your interest and experience you should check different labels:
If any of aforementioned labels don't have unassigned issues, please [contact] one of the [maintainers] asking to triage more issues.
[github issue tracker]: https://github.com/etcd-io/etcd/issues
[good first issue]: https://github.com/etcd-io/etcd/labels/good%20first%20issue
[help wanted]: https://github.com/etcd-io/etcd/labels/help%20wanted
[maintainers]: https://github.com/etcd-io/etcd/blob/main/MAINTAINERS
[priority/important]: https://github.com/etcd-io/etcd/labels/priority%2Fimportant
[good first issue]: https://github.com/search?type=issues&q=org%3Aetcd-io+state%3Aopen++label%3A%22good+first+issue%22
[help wanted]: https://github.com/search?type=issues&q=org%3Aetcd-io+state%3Aopen++label%3A%22help+wanted%22
[maintainers]: https://github.com/etcd-io/etcd/blob/main/OWNERS
[priority/important]: https://github.com/search?type=issues&q=org%3Aetcd-io+state%3Aopen++label%3A%22priority%2Fimportant%22
## Setup development environment
@ -50,7 +50,7 @@ The etcd project supports two options for development:
1. Manually setup local environment.
2. Automatically setup [devcontainer](https://containers.dev).
For both options the only supported architecture is `linux-amd64`. Bug reports for other environments will generally be ignored. Supporting new environments requires introduction of proper tests and mainter support that is currently lacking in the etcd project.
For both options the only supported architecture is `linux-amd64`. Bug reports for other environments will generally be ignored. Supporting new environments requires introduction of proper tests and maintainer support that is currently lacking in the etcd project.
If you would like etcd to support your preferred environment you can [file an issue].
@ -62,8 +62,10 @@ Follow the steps below to setup the environment:
- [Clone the repository](https://docs.github.com/en/repositories/creating-and-managing-repositories/cloning-a-repository)
- Install Go by following [installation](https://go.dev/doc/install). Please check minimal go version in [go.mod file](./go.mod#L3).
- Install build tools (`make`):
- For debian based distributions you can run `sudo apt-get install build-essential`
- Install build tools:
- `make`: For debian based distributions you can run `sudo apt-get install build-essential`
- `protoc`: You can download for your os. Use version [`v3.20.3`](https://github.com/protocolbuffers/protobuf/releases/tag/v3.20.3).
- `yamllint`: For debian based distribution you can run `sudo apt-get install yamllint`
- Verify that everything is installed by running `make build`
Note: `make build` runs with `-v`. Other build flags can be added through env `GO_BUILD_FLAGS`, **if required**. Eg.,

View File

@ -1,4 +1,5 @@
FROM --platform=linux/s390x gcr.io/distroless/static-debian11
ARG ARCH=amd64
FROM --platform=linux/${ARCH} gcr.io/distroless/static-debian12@sha256:4a2c1a51ae5e10ec4758a0f981be3ce5d6ac55445828463fce8dff3a355e0b75
ADD etcd /usr/local/bin/
ADD etcdctl /usr/local/bin/

View File

@ -1,13 +0,0 @@
FROM --platform=linux/amd64 gcr.io/distroless/static-debian11
ADD etcd /usr/local/bin/
ADD etcdctl /usr/local/bin/
ADD etcdutl /usr/local/bin/
WORKDIR /var/etcd/
WORKDIR /var/lib/etcd/
EXPOSE 2379 2380
# Define default command.
CMD ["/usr/local/bin/etcd"]

View File

@ -1,13 +0,0 @@
FROM --platform=linux/arm64 gcr.io/distroless/static-debian11
ADD etcd /usr/local/bin/
ADD etcdctl /usr/local/bin/
ADD etcdutl /usr/local/bin/
WORKDIR /var/etcd/
WORKDIR /var/lib/etcd/
EXPOSE 2379 2380
# Define default command.
CMD ["/usr/local/bin/etcd"]

View File

@ -1,13 +0,0 @@
FROM --platform=linux/ppc64le gcr.io/distroless/static-debian11
ADD etcd /usr/local/bin/
ADD etcdctl /usr/local/bin/
ADD etcdutl /usr/local/bin/
WORKDIR /var/etcd/
WORKDIR /var/lib/etcd/
EXPOSE 2379 2380
# Define default command.
CMD ["/usr/local/bin/etcd"]

View File

@ -15,13 +15,13 @@ The `main` branch is our development branch. All new features land here first.
To try new and experimental features, pull `main` and play with it. Note that `main` may not be stable because new features may introduce bugs.
Before the release of the next stable version, feature PRs will be frozen. A [release manager](./release.md/#release-management) will be assigned to major/minor version and will lead the etcd community in test, bug-fix and documentation of the release for one to two weeks.
Before the release of the next stable version, feature PRs will be frozen. A [release manager](./release.md#release-management) will be assigned to major/minor version and will lead the etcd community in test, bug-fix and documentation of the release for one to two weeks.
### Stable branches
All branches with prefix `release-` are considered _stable_ branches.
After every minor release ([semver.org](https://semver.org/)), we will have a new stable branch for that release, managed by a [patch release manager](./release.md/#release-management). We will keep fixing the backwards-compatible bugs for the latest two stable releases. A _patch_ release to each supported release branch, incorporating any bug fixes, will be once every two weeks, given any patches.
After every minor release ([semver.org](https://semver.org/)), we will have a new stable branch for that release, managed by a [patch release manager](./release.md#release-management). We will keep fixing the backwards-compatible bugs for the latest two stable releases. A _patch_ release to each supported release branch, incorporating any bug fixes, will be once every two weeks, given any patches.
[main]: https://github.com/etcd-io/etcd/tree/main

View File

@ -2,11 +2,11 @@
This doc outlines the various responsibilities of contributor roles in etcd.
| Role | Responsibilities | Requirements | Defined by |
|------------|----------------------------------------------|---------------------------------------------------------------|--------------------------------------|
| Member | Active contributor in the community | Sponsored by 2 reviewers and multiple contributions | etcd GitHub org member |
| Reviewer | Review contributions from other members | History of review and authorship | [MAINTAINERS] file reviewer entry |
| Maintainer | Set direction and priorities for the project | Demonstrated responsibility and excellent technical judgement | [MAINTAINERS] file maintainers entry |
| Role | Responsibilities | Requirements | Defined by |
|------------|----------------------------------------------|---------------------------------------------------------------|-------------------------------|
| Member | Active contributor in the community | Sponsored by 2 reviewers and multiple contributions | etcd GitHub org member |
| Reviewer | Review contributions from other members | History of review and authorship | [OWNERS] file reviewer entry |
| Maintainer | Set direction and priorities for the project | Demonstrated responsibility and excellent technical judgement | [OWNERS] file approver entry |
## New contributors
@ -38,7 +38,7 @@ contributors to the community.
- Filing or commenting on issues on GitHub
- Contributing to community discussions (e.g. meetings, Slack, email discussion
forums, Stack Overflow)
- Subscribed to [etcd-dev@googlegroups.com]
- Subscribed to etcd-dev@googlegroups.com
- Have read the [contributor guide]
- Sponsored by one active maintainer or two reviewers.
- Sponsors must be from multiple member companies to demonstrate integration across community.
@ -69,7 +69,7 @@ the codebase and software engineering principles. Their LGTM counts towards
merging a code change into the project. A reviewer is generally on the ladder towards
maintainership.
**Defined by:** *reviewers* entry in the [MAINTAINERS] file.
**Defined by:** *reviewers* entry in the [OWNERS] file.
### Requirements
@ -101,7 +101,7 @@ are committed to the long term success of a project. Maintainership is about bui
trust with the current maintainers and being a person that they can
depend on to make decisions in the best interest of the project in a consistent manner.
**Defined by:** *maintainers* entry in the [MAINTAINERS] file.
**Defined by:** *approvers* entry in the [OWNERS] file.
### Requirements
@ -112,8 +112,19 @@ depend on to make decisions in the best interest of the project in a consistent
- Initiating, contributing and resolving discussions (emails, GitHub issues, meetings)
- Identifying subtle or complex issues in designs and implementation PRs
- Directly contributed to the project through implementation and / or review
- Subscribed to [etcd-maintainers@googlegroups.com]
- Elected by supermajority of active maintainers.
- Sponsored by two active maintainers and elected by supermajority
- Sponsors must be from multiple member companies to demonstrate integration across community.
- To become a maintainer send an email with your candidacy to etcd-maintainers-private@googlegroups.com
- Ensure your sponsors are @mentioned on the email
- Include a list of contributions representative of your work on the project.
- Existing maintainers vote will privately and respond to the email with either acceptance or with feedback for suggested improvement.
- With your membership approved you are expected to:
- Open a PR and add an entry to the [OWNERS] file
- Subscribe to etcd-maintainers@googlegroups.com and etcd-maintainers-private@googlegroups.com
- Request to join to [etcd-maintainer teams of etcd organization of GitHub](https://github.com/orgs/etcd-io/teams/maintainers-etcd)
- Request to join to the private slack channel for etcd maintainers on [kubernetes slack](http://slack.kubernetes.io/)
- Request access to etcd-development GCP project where we publish releases
- Request access to passwords shared between maintainers
### Responsibilities and privileges
@ -148,7 +159,7 @@ of at least two active maintainers.
Contributor roles and responsibilities were written based on [Kubernetes community membership]
[MAINTAINERS]: /MAINTAINERS
[OWNERS]: /OWNERS
[contributor guide]: /CONTRIBUTING.md
[membership nomination]:https://github.com/etcd-io/etcd/issues/new?assignees=&labels=area%2Fcommunity&template=membership-request.yml
[Kubernetes community membership]: https://github.com/kubernetes/community/blob/master/community-membership.md

View File

@ -0,0 +1,128 @@
# Dependency management
## Table of Contents
- **[Main branch](#main-branch)**
- [Dependencies used in workflows](#dependencies-used-in-workflows)
- [Bumping order](#bumping-order)
- [Steps to bump a dependency](#steps-to-bump-a-dependency)
- [Indirect dependencies](#indirect-dependencies)
- [Known incompatible dependency updates](#known-incompatible-dependency-updates)
- [arduino/setup-protoc](#arduinosetup-protoc)
- [Rotation worksheet](#rotation-worksheet)
- **[Stable branches](#stable-branches)**
- **[Golang versions](#golang-versions)**
## Main branch
The dependabot is enabled & [configured](https://github.com/etcd-io/etcd/blob/main/.github/dependabot.yml) to
manage dependencies for etcd `main` branch. But dependabot doesn't work well for multi-module repository like `etcd`,
see [dependabot-core/issues/6678](https://github.com/dependabot/dependabot-core/issues/6678).
Usually human intervention is required each time when dependabot automatically opens some PRs to bump dependencies.
Please see guidance below.
### Dependencies used in workflows
The PRs which automatically bump dependencies (see examples below) used in workflows are fine, and can be approved & merged directly as long as all checks are successful.
- [build(deps): bump github/codeql-action from 2.2.11 to 2.2.12](https://github.com/etcd-io/etcd/pull/15736)
- [build(deps): bump actions/checkout from 3.5.0 to 3.5.2](https://github.com/etcd-io/etcd/pull/15735)
- [build(deps): bump ossf/scorecard-action from 2.1.2 to 2.1.3](https://github.com/etcd-io/etcd/pull/15607)
### Bumping order
When multiple etcd modules depend on the same package, please bump the package version for all the modules in the correct order. The rule is simple:
if module A depends on module B, then bump the dependency for module B before module A. If the two modules do not depend on each other, then
it doesn't matter to bump which module first. For example, multiple modules depend on `github.com/spf13/cobra`, we need to bump the dependency
in the following order,
- go.etcd.io/etcd/pkg/v3
- go.etcd.io/etcd/server/v3
- go.etcd.io/etcd/etcdctl/v3
- go.etcd.io/etcd/etcdutl/v3
- go.etcd.io/etcd/tests/v3
- go.etcd.io/etcd/v3
- go.etcd.io/etcd/tools/v3
For more details about etcd Golang modules, please check <https://etcd.io/docs/next/dev-internal/modules>
Note the module `go.etcd.io/etcd/tools/v3` doesn't depend on any other modules, nor by any other modules, so it doesn't matter when to bump dependencies for it.
### Steps to bump a dependency
Use the `github.com/spf13/cobra` as an example, follow steps below to bump it from 1.6.1 to 1.7.0 for module `go.etcd.io/etcd/etcdctl/v3`,
```bash
cd ${ETCD_ROOT_DIR}/etcdctl
go get github.com/spf13/cobra@v1.7.0
go mod tidy
cd ..
./scripts/fix.sh
```
Execute the same steps for all other modules. When you finish bumping the dependency for all modules, then commit the change,
```bash
git add .
git commit --signoff -m "dependency: bump github.com/spf13/cobra from 1.6.1 to 1.7.0"
```
Please close the related PRs which were automatically opened by dependabot.
When you bump multiple dependencies in one PR, it's recommended to create a separate commit for each dependency. But it isn't a must; for example,
you can get all dependencies bumping for the module `go.etcd.io/etcd/tools/v3` included in one commit.
### Indirect dependencies
Usually we don't bump a dependency if all modules just indirectly depend on it, such as `github.com/go-logr/logr`.
If an indirect dependency (e.g. `D1`) causes any CVE or bugs which affect etcd, usually the module (e.g. `M1`, not part of etcd, but used by etcd)
which depends on it should bump the dependency (`D1`), and then etcd just needs to bump `M1`. However, if the module (`M1`) somehow doesn't
bump the problematic dependency, then etcd can still bump it (`D1`) directly following the same steps above. But as a long-term solution, etcd should
try to remove the dependency on such module (`M1`) that lack maintenance.
For mixed cases, in which some modules directly while others indirectly depend on a dependency, we have multiple options,
- Bump the dependency for all modules, no matter it's direct or indirect dependency.
- Bump the dependency only for modules which directly depend on it.
We should try to follow the first way, and temporarily fall back to the second one if we run into any issue on the first way. Eventually we
should fix the issue and ensure all modules depend on the same version of the dependency.
### Known incompatible dependency updates
#### arduino/setup-protoc
Please refer to [build(deps): bump arduino/setup-protoc from 1.3.0 to 2.0.0](https://github.com/etcd-io/etcd/pull/16016)
### Rotation worksheet
The dependabot scheduling interval is weekly; it means dependabot will automatically raise a bunch of PRs per week.
Usually human intervention is required each time. We have a [rotation worksheet](https://docs.google.com/spreadsheets/d/1DDWzbcOx1p32MhyelaPZ_SfYtAD6xRsrtGRZ9QXPOyQ/edit#gid=0),
and everyone is welcome to participate; you just need to register your name in the worksheet.
## Stable branches
Usually we don't proactively bump dependencies for stable releases unless there are any CVEs or bugs that affect etcd.
If we have to do it, then follow the same guidance above. Note that there is no `./scripts/fix.sh` in release-3.4, so no need to
execute it for 3.4.
## Golang versions
The etcd project aims to maintain a development branch that is on the latest [Go version](https://go.dev/dl), ideally this will align with the Go version in use for Kubernetes project development. For an example on how to update etcd to a new minor release of Go refer to issue <https://github.com/etcd-io/etcd/issues/16393> and the linked pull requests.
Suggested steps for performing a minor version upgrade for the etcd development branch:
1. Carefully review new Go version release notes and potentially related blog for any deprecations, performance impacts or other considerations.
2. Create a github issue to signal intent to upgrade and invite discussion, example <https://github.com/etcd-io/etcd/issues/16393>.
3. Complete the upgrade locally in your development environment.
4. Run performance benchmarks locally to compare before and after.
5. Raise a pull request for the changes, example <https://github.com/etcd-io/etcd/pull/16394>.
Stable etcd release branches will be maintained to stay on the latest patch release of a supported Go version, however upgrading minor versions will be avoided unless the minor version in use is now out of support. Refer to the [Go release policy](https://go.dev/doc/devel/release).
For an example of how to update etcd to a new patch release of Go refer to issue <https://github.com/etcd-io/etcd/issues/16343> and the linked pull requests.
References:
- <https://github.com/kubernetes/sig-release/blob/master/release-engineering/handbooks/go.md>

View File

@ -60,7 +60,7 @@ Binaries are pushed to gcr.io and images are pushed to quay.io and gcr.io.
## Announce to the etcd-dev Googlegroup
- Follow the format of [previous release emails](https://groups.google.com/forum/#!forum/etcd-dev).
- Follow the format of [previous release emails](https://groups.google.com/g/etcd-dev).
- Make sure to include a list of authors that contributed since the previous release - something like the following might be handy:
```

View File

@ -0,0 +1,53 @@
# Roadmap
etcd uses GitHub milestones to track all tasks in each major or minor release. The `roadmap.md` file only records the
most important tasks for each release. The list is based on current maintainers capacity that may shift over time.
Proposed milestones is what we think we can deliver with people we have. If we have more support on the important
stuff, we could pick up more items from backlog. Note that etcd will continue to mainly focus on technical debt over
the next few major or minor releases.
Each item has an assigned priority:
- P0 - Critical for the current milestone, and blocks the release.
- P1 - Important for the current milestone, and critical for the next milestone.
- P2 - Nice to have, can be always skipped and should not block anything.
## v3.6.0
For a full list of tasks in `v3.6.0`, please see [milestone etcd-v3.6](https://github.com/etcd-io/etcd/milestone/38).
| Title | Priority | Status | Note |
|--------------------------------------------------------------------------------------------------------------------|----------|-------------|--------------------------------------------------------------------------------------------------------------|
| [Support downgrade](https://github.com/etcd-io/etcd/issues/11716) | P0 | In progress | etcd will support downgrade starting from 3.6.0. But it will also support offline downgrade from 3.5 to 3.4. |
| [StoreV2 deprecation](https://github.com/etcd-io/etcd/issues/12913) | P0 | In progress | This task will be covered in both 3.6 and 3.7. |
| [Release raft 3.6.0](https://github.com/etcd-io/raft/issues/89) | P0 | Not started | etcd 3.6.0 will depends on raft 3.6.0 |
| [Release bbolt 1.4.0](https://github.com/etcd-io/bbolt/issues/553) | P0 | Not started | etcd 3.6.0 will depends on bbolt 1.4.0 |
| [Support /livez and /readyz endpoints](https://github.com/etcd-io/etcd/issues/16007) | P1 | In progress | It provides clearer APIs, and can also workaround the stalled writes issue |
| [Bump gRPC](https://github.com/etcd-io/etcd/issues/16290) | P1 | Completed | It isn't guaranteed to be resolved in 3.6, and might be postponed to 3.7 depending on the effort and risk. |
| [Deprecate grpc-gateway or bump it](https://github.com/etcd-io/etcd/issues/14499) | P1 | Completed | It isn't guaranteed to be resolved in 3.6, and might be postponed to 3.7 depending on the effort and risk. |
| [bbolt: Add logger into bbolt](https://github.com/etcd-io/bbolt/issues/509) | P1 | In progress | It's important to diagnose bbolt issues |
| [bbolt: Add surgery commands](https://github.com/etcd-io/bbolt/issues/370) | P1 | Completed | Surgery commands are important for fixing corrupted db files |
| [Evaluate and (Gradulate or deprecate/remove) experimental features](https://github.com/etcd-io/etcd/issues/16292) | P2 | Not started | This task will be covered in both 3.6 and 3.7. |
## v3.7.0
For a full list of tasks in `v3.7.0`, please see [milestone etcd-v3.7](https://github.com/etcd-io/etcd/milestone/39).
| Title | Priority | Note |
|-------------------------------------------------------------------------------------------------------------------|----------|-----------------------------------------------------------------------------------|
| [StoreV2 deprecation](https://github.com/etcd-io/etcd/issues/12913) | P0 | Finish the remaining tasks 3.7. |
| [Refactor lease: Lease might be revoked by mistake by old leader](https://github.com/etcd-io/etcd/issues/15247) | P1 | to be investigated & discussed |
| [Integrate raft's new feature (async write) into etcd](https://github.com/etcd-io/etcd/issues/16291) | P1 | It should can improve the performance |
| [bbolt: Support customizing the bbolt rebalance threshold](https://github.com/etcd-io/bbolt/issues/422) | P2 | It may get rid of etcd's defragmentation. Both bbolt and etcd need to be changed. |
| [Evaluate and (graduate or deprecate/remove) experimental features](https://github.com/etcd-io/etcd/issues/16292) | P2 | Finish the remaining tasks 3.7. |
## Backlog (future releases)
| Title | Priority | Note |
|----------------------------------------------------------------------------------------------------------|----------|------|
| [Remove the dependency on grpc-go's experimental API](https://github.com/etcd-io/etcd/issues/15145) | | |
| [Protobuf: cleanup both golang/protobuf and gogo/protobuf](https://github.com/etcd-io/etcd/issues/14533) | | |
| [Proposals should include a merkle root](https://github.com/etcd-io/etcd/issues/13839) | | |
| [Add Distributed Tracing using OpenTelemetry](https://github.com/etcd-io/etcd/issues/12460) | | |
| [Support CA rotation](https://github.com/etcd-io/etcd/issues/11555) | | |
| [bbolt: Migrate all commands to cobra style commands](https://github.com/etcd-io/bbolt/issues/472) | | |
| [raft: enhance the configuration change validation](https://github.com/etcd-io/raft/issues/80) | | |

View File

@ -4,43 +4,177 @@
Speed up issue management.
The `etcd` issues are listed at https://github.com/etcd-io/etcd/issues
and are identified with labels. For example, an issue that is identified
as a bug will eventually be set to label `area/bug`. New issues will
start out without any labels, but typically `etcd` maintainers and active contributors
add labels based on their findings. The detailed list of labels can be found at
https://github.com/kubernetes/kubernetes/labels
The `etcd` issues are listed at <https://github.com/etcd-io/etcd/issues> and are identified with labels. For example, an issue that is identified as a bug will be set to label `type/bug`.
Following are few predetermined searches on issues for convenience:
* [Bugs](https://github.com/etcd-io/etcd/labels/area%2Fbug)
* [Help Wanted](https://github.com/etcd-io/etcd/labels/Help%20Wanted)
* [Longest untriaged issues](https://github.com/etcd-io/etcd/issues?utf8=%E2%9C%93&q=is%3Aopen+sort%3Aupdated-asc+)
The etcd project uses labels to indicate common attributes such as `area`, `type` and `priority` of incoming issues.
New issues will often start out without any labels, but typically `etcd` maintainers, reviewers and members will add labels by following these triage guidelines. The detailed list of labels can be found at <https://github.com/etcd-io/etcd/labels>.
## Scope
These guidelines serves as a primary document for triaging an incoming issues in
`etcd`. Everyone is welcome to help manage issues and PRs but the work and responsibilities discussed in this document are created with `etcd` maintainers and active contributors in mind.
This document serves as the primary guidelines for triaging incoming issues in `etcd`.
## Validate if an issue is a bug
All contributors are encouraged and welcome to help manage issues which will help reduce burden on project maintainers, though the work and responsibilities discussed in this document are created with `etcd` project reviewers and members in mind as these individuals will have triage access to the etcd project which is a requirement for actions like applying labels or closing issues.
Validate if the issue is indeed a bug. If not, add a comment with findings and close trivial issue. For non-trivial issue, wait to hear back from issue reporter and see if there is any objection. If issue reporter does not reply in 30 days, close the issue. If the problem can not be reproduced or require more information, leave a comment for the issue reporter.
Refer to [etcd community membership](https://github.com/etcd-io/etcd/blob/main/Documentation/contributor-guide/community-membership.md) for guidance on becoming and etcd project member or reviewer.
## Inactive issues
## Step 1 - Find an issue to triage
Issues that lack enough information from the issue reporter should be closed if issue reporter do not provide information in 60 days.
To get started you can use the following recommended issue searches to identify issues that are in need of triage:
## Duplicate issues
* [Issues that have no labels](https://github.com/etcd-io/etcd/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated+no%3Alabel)
* [Issues created recently](https://github.com/etcd-io/etcd/issues?q=is%3Aissue+is%3Aopen+)
* [Issues not assigned but linked pr](https://github.com/etcd-io/etcd/issues?q=is%3Aopen+is%3Aissue+no%3Aassignee+linked%3Apr)
* [Issues with no comments](https://github.com/etcd-io/etcd/issues?q=is%3Aopen+is%3Aissue+comments%3A0+)
* [Issues with help wanted](https://github.com/etcd-io/etcd/issues?q=is%3Aopen+is%3Aissue+label%3A%22help+wanted%22+)
If an issue is a duplicate, add a comment stating so along with a reference for the original issue and close it.
## Step 2 - Check the issue is valid
## Issues that don't belong to etcd
Before we start adding labels or trying to work out a priority, our first triage step needs to be working out if the issue actually belongs to the etcd project and is not a duplicate.
Sometime issues are reported that actually belongs to other projects that `etcd` use. For example, `grpc` or `golang` issues. Such issues should be addressed by asking reporter to open issues in appropriate other project. Close the issue unless a maintainer and issue reporter see a need to keep it open for tracking purpose.
### Issues that don't belong to etcd
## Verify important labels are in place
Sometime issues are reported that actually belongs to other projects that `etcd` use. For example, `grpc` or `golang` issues. Such issues should be addressed by asking reporter to open issues in appropriate other project.
Make sure that issue has label on areas it belongs to, proper assignees are added and milestone is identified. If any of these labels are missing, add one. If labels can not be assigned due to limited privilege or correct label can not be decided, thats fine, contact maintainers if needed.
These issues can generally be closed unless a maintainer and issue reporter see a need to keep it open for tracking purpose. If you have triage permissions please close it, alternatively mention the @etcd-io/members group to request a member with triage access close the issue.
## Poke issue owner if needed
### Duplicate issues
If an issue owned by a developer has no PR created in 30 days, contact the issue owner and ask for a PR or to release ownership if needed.
If an issue is a duplicate, add a comment stating so along with a reference for the original issue and if you have triage permissions please close it, alternatively mention the @etcd-io/members group to request a member with triage access close the issue.
## Step 3 - Apply the appropriate type label
Adding a `type` label to an issue helps create visibility on the health of the project and helps contributors identify potential priorities, i.e. addressing existing bugs or test flakes before implementing new features.
### Support requests
As a general rule the focus for etcd support is to address common themes in a broad way that helps all users, i.e. through channels like known issues, frequently asked questions and high quality documentation. To make the best use of project members time we should avoid providing 1:1 support if a broad approach is available.
Some people mistakenly use our GitHub bug report or feature request templates to file support requests. Usually they are asking for help operating or configuring some aspect of etcd. Support requests for etcd should instead be raised as [discussions](https://github.com/etcd-io/etcd/discussions).
Common types of support requests are:
1. Questions about configuring or operating existing well documented etcd features, for example <https://github.com/etcd-io/etcd/issues/15945>. Note - If an existing feature is not well documented please apply the `area/documentation` label and propose documentation improvements that would prevent future users from stumbling on the problem again.
2. Bug reports or questions about unspported versions of etcd, for example <https://github.com/etcd-io/etcd/issues/15796>. When responding to these issues please refer to our [supported versions documentation](https://etcd.io/docs/latest/op-guide/versioning) and encourage the reporter to upgrade to a recent patch release of a supported version as soon as possible. We should limit the effort supporting users that do not make the effort to run a supported version of etcd or ensure their version is patched.
3. Bug reports that do not provide a complete list of steps to reproduce issue and/or contributors are not able to reproduce the issue, for example <https://github.com/etcd-io/etcd/issues/15740>. We should limit the effort we put into reproducing issues ourselves and motivate users to provide necessary information to accept the bug report.
4. General questions that are filed using feature request or bug report issue templates, for example <https://github.com/etcd-io/etcd/issues/15914>. Note - These types of requests may surface good additions to our [frequently asked questions](https://etcd.io/docs/v3.5/faq).
If you identify that an issue is a support request please:
1. Add the `type/support` or `type/question` label.
2. Add the following comment to inform the issue creator that discussions should be used instead and that this issue will be converted to a discussion.
> Thank you for your question, this support issue will be moved to our [Discussion Forums](https://github.com/etcd-io/etcd/discussions).
>
> We are trying to consolidate the channels to which questions for help/support are posted so that we can improve our efficiency in responding to your requests, and to make it easier for you to find answers to frequently asked questions and how to address common use cases.
>
> We regularly see messages posted in multiple forums, with the full response thread only in one place or, worse, spread across multiple forums. Also, the large volume of support issues on GitHub is making it difficult for us to use issues to identify real bugs.
>
> Members of the etcd community use Discussion Forums to field support requests. Before posting a new question, please search these for answers to similar questions, and also familiarize yourself with:
>
> 1. [user documentation](https://etcd.io/docs/latest)
> 2. [frequently asked questions](https://etcd.io/docs/v3.5/faq)
>
> Again, thanks for using etcd and raising this question.
>
> The etcd team
3. Finally, click `Convert to discussion` on the right hand panel, selecting the appropriate discussion category.
### Bug reports
If an issue has been raised as a bug it should already have the `type/bug` label, however if this is missing for an issue you determine to be a bug please add the label manually.
The next step is to validate if the issue is indeed a bug. If not, add a comment with findings and close trivial issue. For non-trivial issue, wait to hear back from issue reporter and see if there is any objection. If issue reporter does not reply in 30 days, close the issue.
If the problem can not be reproduced or requires more information, leave a comment for the issue reporter as soon as possible while the issue will be fresh for the issue reporter.
### Feature requests
New feature requests should be created via the etcd feature request template and in theory already have the `type/feature` label, however if this is missing for an issue you determine to be a feature please add the label manually.
### Test flakes
Test flakes are a specific type of bug that the etcd project tracks separately as these are a priority to address. These should be created via the test flake template and in theory already have the `type/flake` label, however if this is missing for an issue you determine to be related to a flaking test please add the label manually.
## Step 4 - Define the areas impacted
Adding an `area` label to an issue helps create visibility on which areas of the etcd project require attention and helps contributors find issues to work on relating to their particular skills or knowledge of the etcd codebase.
If an issue crosses multiple domains please add additional `area` labels to reflect that.
Below is a brief summary of the area labels in active use by the etcd project along with any notes on their use:
| Label | Notes |
| --- | --- |
| area/external | Tracking label for issues raised that are external to etcd. |
| area/community | |
| area/raft | |
| area/clientv3 | |
| area/performance | |
| area/security | |
| area/tls | |
| area/auth | |
| area/etcdctl | |
| area/etcdutl | |
| area/contrib | Not to be confused with `area/community` this label is specifically used for issues relating to community maintained scripts or files in the `contrib/` directory which aren't part of the core etcd project. |
| area/documentation | |
| area/tooling | Generally used in relation to the third party / external utilities or tools that are used in various stages of the etcd build, test or release process, for example tooling to create sboms. |
| area/testing | |
| area/robustness-testing | |
## Step 5 - Prioritise the issue
Placeholder.
## Step 6 - Support new contributors
As part of the `etcd` triage process once the `kind` and `area` have been determined, please consider if the issue would be suitable for a less experienced contributor. The `good first issue` label is a subset of the `help wanted` label, indicating that members have committed to providing extra assistance for new contributors. All `good first issue` items also have the `help wanted` label.
### Help wanted
Items marked with the `help wanted` label need to ensure that they meet these criteria:
* **Low Barrier to Entry** - It should be easy for new contributors.
* **Clear** - The task is agreed upon and does not require further discussions in the community.
* **Goldilocks priority** - The priority should not be so high that a core contributor should do it, but not too low that it isnt useful enough for a core contributor to spend time reviewing it, answering questions, helping get it into a release, etc.
### Good first issue
Items marked with `good first issue` are intended for first-time contributors. It indicates that members will keep an eye out for these pull requests and shepherd it through our processes.
New contributors should not be left to find an approver, ping for reviews, decipher test commands, or identify that their build failed due to a flake. It is important to make new contributors feel welcome and valued. We should assure them that they will have an extra level of help with their first contribution.
After a contributor has successfully completed one or two `good first issue` items, they should be ready to move on to `help wanted` items.
* **No Barrier to Entry** - The task is something that a new contributor can tackle without advanced setup or domain knowledge.
* **Solution Explained** - The recommended solution is clearly described in the issue.
* **Gives Examples** - Link to examples of similar implementations so new contributors have a reference guide for their changes.
* **Identifies Relevant Code** - The relevant code and tests to be changed should be linked in the issue.
* **Ready to Test** - There should be existing tests that can be modified, or existing test cases fit to be copied. If the area of code doesnt have tests, before labeling the issue, add a test fixture. This prep often makes a great help wanted task!
## Step 7 - Follow up
Once initial triage has been completed, issues need to be re-evaluated over time to ensure they don't become stale incorrectly.
### Track important issues
If an issue is at risk of being closed by stale bot in future, but is an important issuefor the etcd project, then please apply the `stage/tracked` label and remove any `stale` labels that exist. This will ensure the project does not lose sight of the issue.
### Close incomplete issues
Issues that lack enough information from the issue reporter should be closed if issue reporter do not provide information in 30 days. Issues can always be re-opened at a later date if new information is provided.
### Check for incomplete work
If an issue owned by a developer has no pull request created in 30 days, contact the issue owner and kindly ask about the status of their work, or to release ownership on the issue if needed.

File diff suppressed because it is too large Load Diff

View File

@ -4,6 +4,11 @@
"title": "server/etcdserver/api/v3election/v3electionpb/v3election.proto",
"version": "version not set"
},
"tags": [
{
"name": "Election"
}
],
"consumes": [
"application/json"
],
@ -25,7 +30,7 @@
"default": {
"description": "An unexpected error response.",
"schema": {
"$ref": "#/definitions/runtimeError"
"$ref": "#/definitions/rpcStatus"
}
}
},
@ -58,7 +63,7 @@
"default": {
"description": "An unexpected error response.",
"schema": {
"$ref": "#/definitions/runtimeError"
"$ref": "#/definitions/rpcStatus"
}
}
},
@ -91,7 +96,7 @@
"$ref": "#/definitions/v3electionpbLeaderResponse"
},
"error": {
"$ref": "#/definitions/runtimeStreamError"
"$ref": "#/definitions/rpcStatus"
}
},
"title": "Stream result of v3electionpbLeaderResponse"
@ -100,7 +105,7 @@
"default": {
"description": "An unexpected error response.",
"schema": {
"$ref": "#/definitions/runtimeError"
"$ref": "#/definitions/rpcStatus"
}
}
},
@ -133,7 +138,7 @@
"default": {
"description": "An unexpected error response.",
"schema": {
"$ref": "#/definitions/runtimeError"
"$ref": "#/definitions/rpcStatus"
}
}
},
@ -166,7 +171,7 @@
"default": {
"description": "An unexpected error response.",
"schema": {
"$ref": "#/definitions/runtimeError"
"$ref": "#/definitions/rpcStatus"
}
}
},
@ -250,21 +255,15 @@
"protobufAny": {
"type": "object",
"properties": {
"type_url": {
"@type": {
"type": "string"
},
"value": {
"type": "string",
"format": "byte"
}
}
},
"additionalProperties": {}
},
"runtimeError": {
"rpcStatus": {
"type": "object",
"properties": {
"error": {
"type": "string"
},
"code": {
"type": "integer",
"format": "int32"
@ -275,31 +274,7 @@
"details": {
"type": "array",
"items": {
"$ref": "#/definitions/protobufAny"
}
}
}
},
"runtimeStreamError": {
"type": "object",
"properties": {
"grpc_code": {
"type": "integer",
"format": "int32"
},
"http_code": {
"type": "integer",
"format": "int32"
},
"message": {
"type": "string"
},
"http_status": {
"type": "string"
},
"details": {
"type": "array",
"items": {
"type": "object",
"$ref": "#/definitions/protobufAny"
}
}

View File

@ -4,6 +4,11 @@
"title": "server/etcdserver/api/v3lock/v3lockpb/v3lock.proto",
"version": "version not set"
},
"tags": [
{
"name": "Lock"
}
],
"consumes": [
"application/json"
],
@ -25,7 +30,7 @@
"default": {
"description": "An unexpected error response.",
"schema": {
"$ref": "#/definitions/runtimeError"
"$ref": "#/definitions/rpcStatus"
}
}
},
@ -58,7 +63,7 @@
"default": {
"description": "An unexpected error response.",
"schema": {
"$ref": "#/definitions/runtimeError"
"$ref": "#/definitions/rpcStatus"
}
}
},
@ -107,21 +112,15 @@
"protobufAny": {
"type": "object",
"properties": {
"type_url": {
"@type": {
"type": "string"
},
"value": {
"type": "string",
"format": "byte"
}
}
},
"additionalProperties": {}
},
"runtimeError": {
"rpcStatus": {
"type": "object",
"properties": {
"error": {
"type": "string"
},
"code": {
"type": "integer",
"format": "int32"
@ -132,6 +131,7 @@
"details": {
"type": "array",
"items": {
"type": "object",
"$ref": "#/definitions/protobufAny"
}
}

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 462 KiB

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 287 KiB

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 616 KiB

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 615 KiB

View File

@ -0,0 +1,17 @@
# etcd arm64 test infrastructure
The infrastructure to build for arm64 is provided by [Equinix Metal](https://www.equinix.com/) via the [CNCF Community Infrastructure Lab](https://github.com/cncf/cluster/issues).
Previously, several maintainers were responsible for managing two bare-metal machines with a self-hosted runner installed. This was a manual process, and side effects could be left over from previous builds.
As part of a joint program between Ampere and the CNCF, [actuated.dev](https://actuated.dev) is providing managed Arm64 builds.
To use the new infrastructure, add the following to your workflow:
```yaml
runs-on: actuated-arm64-8cpu-8gb
```
The vCPUs and RAM are customizable, i.e. `actuated-arm64-8cpu-16gb` or `actuated-arm64-8cpu-32gb`.
For urgent support, contact @alexellis or the [actuated team](https://actuated.dev).

View File

@ -39,4 +39,4 @@ Changes in project governance could be initiated by opening a GitHub PR.
[community membership]: /Documentation/contributor-guide/community-membership.md
[Code of Conduct]: /code-of-conduct.md
[contributor guide]: /CONTRIBUTING.md
[maintainers]: /MAINTAINERS
[maintainers]: /OWNERS

View File

@ -1,18 +0,0 @@
# The official list of maintainers and reviewers for the project maintenance.
#
# Refer to the GOVERNANCE.md for description of the roles.
#
# Names should be added to this file like so:
# Individual's name <submission email address> (@GITHUB_HANDLE) pkg:*
# Individual's name <submission email address> <email2> <emailN> (@GITHUB_HANDLE) pkg:*
#
# Please keep the list sorted.
# MAINTAINERS
Benjamin Wang <wachao@vmware.com> (ahrtr@) pkg:*
Hitoshi Mitake <h.mitake@gmail.com> (@mitake) pkg:*
Marek Siarkowicz <marek.siarkowicz@gmail.com> (@serathius) pkg:*
Piotr Tabor <ptab@google.com> (@ptabor) pkg:*
Sahdev Zala <spzala@us.ibm.com> (@spzala) pkg:*
# REVIEWERS

View File

@ -63,9 +63,10 @@ fuzz:
# Static analysis
verify: verify-gofmt verify-bom verify-lint verify-dep verify-shellcheck verify-goword \
verify-govet verify-license-header verify-receiver-name verify-mod-tidy verify-shellcheck \
verify-shellws verify-proto-annotations verify-genproto verify-goimport
fix: fix-bom fix-lint
verify-govet verify-license-header verify-receiver-name verify-mod-tidy \
verify-shellws verify-proto-annotations verify-genproto verify-yamllint \
verify-govet-shadow verify-markdown-marker
fix: fix-bom fix-lint fix-yamllint
./scripts/fix.sh
.PHONY: verify-gofmt
@ -76,7 +77,7 @@ verify-gofmt:
verify-bom:
PASSES="bom" ./scripts/test.sh
.PHONY: update-bom
.PHONY: fix-bom
fix-bom:
./scripts/updatebom.sh
@ -85,12 +86,12 @@ verify-dep:
PASSES="dep" ./scripts/test.sh
.PHONY: verify-lint
verify-lint:
golangci-lint run
verify-lint: install-golangci-lint
PASSES="lint" ./scripts/test.sh
.PHONY: update-lint
.PHONY: fix-lint
fix-lint:
golangci-lint run --fix
PASSES="lint_fix" ./scripts/test.sh
.PHONY: verify-shellcheck
verify-shellcheck:
@ -128,17 +129,62 @@ verify-proto-annotations:
verify-genproto:
PASSES="genproto" ./scripts/test.sh
.PHONY: verify-goimport
verify-goimport:
PASSES="goimport" ./scripts/test.sh
.PHONY: verify-yamllint
verify-yamllint:
ifeq (, $(shell which yamllint))
@echo "Installing yamllint..."
python3 -m venv bin/python
bin/python/bin/python3 -m pip install yamllint
./bin/python/bin/yamllint --config-file tools/.yamllint .
else
@echo "yamllint already installed..."
yamllint --config-file tools/.yamllint .
endif
.PHONY: verify-govet-shadow
verify-govet-shadow:
PASSES="govet_shadow" ./scripts/test.sh
.PHONY: verify-markdown-marker
verify-markdown-marker:
PASSES="markdown_marker" ./scripts/test.sh
YAMLFMT_VERSION = $(shell cd tools/mod && go list -m -f '{{.Version}}' github.com/google/yamlfmt)
.PHONY: fix-yamllint
fix-yamllint:
ifeq (, $(shell which yamlfmt))
$(shell go install github.com/google/yamlfmt/cmd/yamlfmt@$(YAMLFMT_VERSION))
endif
yamlfmt -conf tools/.yamlfmt .
# Tools
GOLANGCI_LINT_VERSION = $(shell cd tools/mod && go list -m -f {{.Version}} github.com/golangci/golangci-lint)
.PHONY: install-golangci-lint
install-golangci-lint:
ifeq (, $(shell which golangci-lint))
$(shell curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(GOPATH)/bin $(GOLANGCI_LINT_VERSION))
endif
.PHONY: install-lazyfs
install-lazyfs: bin/lazyfs
bin/lazyfs:
rm /tmp/lazyfs -rf
git clone --depth 1 --branch 0.2.0 https://github.com/dsrhaslab/lazyfs /tmp/lazyfs
cd /tmp/lazyfs/libs/libpcache; ./build.sh
cd /tmp/lazyfs/lazyfs; ./build.sh
mkdir -p ./bin
cp /tmp/lazyfs/lazyfs/build/lazyfs ./bin/lazyfs
# Cleanup
clean:
rm -f ./codecov
rm -rf ./covdir
rm -f ./bin/Dockerfile-release*
rm -f ./bin/Dockerfile-release
rm -rf ./bin/etcd*
rm -rf ./bin/lazyfs
rm -rf ./default.etcd
rm -rf ./tests/e2e/default.etcd
rm -rf ./release

11
OWNERS Normal file
View File

@ -0,0 +1,11 @@
# See the OWNERS docs at https://go.k8s.io/owners
approvers:
- ahrtr # Benjamin Wang <wachao@vmware.com> <benjamin.ahrtr@gmail.com>
- mitake # Hitoshi Mitake <h.mitake@gmail.com>
- serathius # Marek Siarkowicz <siarkowicz@google.com> <marek.siarkowicz@gmail.com>
- spzala # Sahdev Zala <spzala@us.ibm.com>
- wenjiaswe # Wenjia Zhang <wenjiazhang@google.com> <wenjia.swe@gmail.com>
reviewers:
- jmhbnz # James Blair <jablair@redhat.com> <mail@jamesblair.net>
- fuweid # Wei Fu <fuweid89@gmail.com>

View File

@ -6,4 +6,21 @@ etcd2: bin/etcd --name infra2 --listen-client-urls http://127.0.0.1:22379 --adve
etcd3: bin/etcd --name infra3 --listen-client-urls http://127.0.0.1:32379 --advertise-client-urls http://127.0.0.1:32379 --listen-peer-urls http://127.0.0.1:32380 --initial-advertise-peer-urls http://127.0.0.1:32380 --initial-cluster-token etcd-cluster-1 --initial-cluster 'infra1=http://127.0.0.1:12380,infra2=http://127.0.0.1:22380,infra3=http://127.0.0.1:32380' --initial-cluster-state new --enable-pprof --logger=zap --log-outputs=stderr
#proxy: bin/etcd grpc-proxy start --endpoints=127.0.0.1:2379,127.0.0.1:22379,127.0.0.1:32379 --listen-addr=127.0.0.1:23790 --advertise-client-url=127.0.0.1:23790 --enable-pprof
# A learner node can be started using Procfile.learner
# A learner node can be started using the below Procfile.learner (uncomment and run)
# Use goreman to run `go install github.com/mattn/goreman@latest`
# 1. Start the cluster using Procfile
# 2. Add learner node to the cluster
# % etcdctl member add infra4 --peer-urls="http://127.0.0.1:42380" --learner=true
# 3. Start learner node with goreman
# Change the path of bin/etcd if etcd is located elsewhere
# uncomment below to setup
# etcd4: bin/etcd --name infra4 --listen-client-urls http://127.0.0.1:42379 --advertise-client-urls http://127.0.0.1:42379 --listen-peer-urls http://127.0.0.1:42380 --initial-advertise-peer-urls http://127.0.0.1:42380 --initial-cluster-token etcd-cluster-1 --initial-cluster 'infra4=http://127.0.0.1:42380,infra1=http://127.0.0.1:12380,infra2=http://127.0.0.1:22380,infra3=http://127.0.0.1:32380' --initial-cluster-state existing --enable-pprof --logger=zap --log-outputs=stderr
# 4. The learner node can be promoted to voting member by the command
# % etcdctl member promote <memberid>

View File

@ -1,12 +0,0 @@
# Use goreman to run `go install github.com/mattn/goreman@latest`
# 1. Start the cluster using Procfile
# 2. Add learner node to the cluster
# % etcdctl member add infra4 --peer-urls="http://127.0.0.1:42380" --learner=true
# 3. Start learner node with goreman
# Change the path of bin/etcd if etcd is located elsewhere
etcd4: bin/etcd --name infra4 --listen-client-urls http://127.0.0.1:42379 --advertise-client-urls http://127.0.0.1:42379 --listen-peer-urls http://127.0.0.1:42380 --initial-advertise-peer-urls http://127.0.0.1:42380 --initial-cluster-token etcd-cluster-1 --initial-cluster 'infra4=http://127.0.0.1:42380,infra1=http://127.0.0.1:12380,infra2=http://127.0.0.1:22380,infra3=http://127.0.0.1:32380' --initial-cluster-state existing --enable-pprof --logger=zap --log-outputs=stderr
# 4. The learner node can be promoted to voting member by the command
# % etcdctl member promote <memberid>

View File

@ -1,7 +0,0 @@
# Use goreman to run `go install github.com/mattn/goreman@latest`
# Change the path of bin/etcd if etcd is located elsewhere
etcd1: bin/etcd --name infra1 --listen-client-urls http://127.0.0.1:2379 --advertise-client-urls http://127.0.0.1:2379 --listen-peer-urls http://127.0.0.1:12380 --initial-advertise-peer-urls http://127.0.0.1:12380 --initial-cluster-token etcd-cluster-1 --initial-cluster 'infra1=http://127.0.0.1:12380,infra2=http://127.0.0.1:22380,infra3=http://127.0.0.1:32380' --initial-cluster-state new --enable-pprof
etcd2: bin/etcd --name infra2 --listen-client-urls http://127.0.0.1:22379 --advertise-client-urls http://127.0.0.1:22379 --listen-peer-urls http://127.0.0.1:22380 --initial-advertise-peer-urls http://127.0.0.1:22380 --initial-cluster-token etcd-cluster-1 --initial-cluster 'infra1=http://127.0.0.1:12380,infra2=http://127.0.0.1:22380,infra3=http://127.0.0.1:32380' --initial-cluster-state new --enable-pprof
etcd3: bin/etcd --name infra3 --listen-client-urls http://127.0.0.1:32379 --advertise-client-urls http://127.0.0.1:32379 --listen-peer-urls http://127.0.0.1:32380 --initial-advertise-peer-urls http://127.0.0.1:32380 --initial-cluster-token etcd-cluster-1 --initial-cluster 'infra1=http://127.0.0.1:12380,infra2=http://127.0.0.1:22380,infra3=http://127.0.0.1:32380' --initial-cluster-state new --enable-pprof
# in future, use proxy to listen on 2379
#proxy: bin/etcd --name infra-proxy1 --proxy=on --listen-client-urls http://127.0.0.1:2378 --initial-cluster 'infra1=http://127.0.0.1:12380,infra2=http://127.0.0.1:22380,infra3=http://127.0.0.1:32380' --enable-pprof

View File

@ -9,6 +9,7 @@
[![Releases](https://img.shields.io/github/release/etcd-io/etcd/all.svg?style=flat-square)](https://github.com/etcd-io/etcd/releases)
[![LICENSE](https://img.shields.io/github/license/etcd-io/etcd.svg?style=flat-square)](https://github.com/etcd-io/etcd/blob/main/LICENSE)
[![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/etcd-io/etcd/badge)](https://api.securityscorecards.dev/projects/github.com/etcd-io/etcd)
<a href="https://actuated.dev/"><img alt="Arm CI sponsored by Actuated" src="https://docs.actuated.dev/images/actuated-badge.png" width="120px"></img></a>
**Note**: The `main` branch may be in an *unstable or even broken state* during development. For stable versions, see [releases][github-release].
@ -27,6 +28,10 @@ etcd is used [in production by many companies](./ADOPTERS.md), and the developme
See [etcdctl][etcdctl] for a simple command line client.
![etcd reliability is important](logos/etcd-xkcd-2347.png)
<sub>Original image credited to xkcd.com/2347, alterations by Josh Berkus.</sub>
[raft]: https://raft.github.io/
[k8s]: http://kubernetes.io/
[doorman]: https://github.com/youtube/doorman
@ -36,7 +41,7 @@ See [etcdctl][etcdctl] for a simple command line client.
## Maintainers
[MAINTAINERS](MAINTAINERS) strive to shape an inclusive open source project culture where users are heard and contributors feel respected and empowered. MAINTAINERS maintain productive relationships across different companies and disciplines. Read more about [MAINTAINERS role and responsibilities](Documentation/contributor-guide/community-membership.md#maintainers).
[Maintainers](OWNERS) strive to shape an inclusive open source project culture where users are heard and contributors feel respected and empowered. Maintainers aim to build productive relationships across different companies and disciplines. Read more about [Maintainers role and responsibilities](Documentation/contributor-guide/community-membership.md#maintainers).
## Getting started
@ -47,7 +52,6 @@ The easiest way to get etcd is to use one of the pre-built release binaries whic
For more installation guides, please check out [play.etcd.io](http://play.etcd.io) and [operating etcd](https://etcd.io/docs/latest/op-guide).
[github-release]: https://github.com/etcd-io/etcd/releases
[branch-management]: https://etcd.io/docs/latest/branch_management
### Running etcd
@ -70,15 +74,15 @@ This will bring up etcd listening on port 2379 for client communication and on p
Next, let's set a single key, and then retrieve it:
```
```bash
etcdctl put mykey "this is awesome"
etcdctl get mykey
```
etcd is now running and serving client requests. For more, please check out:
- [Interactive etcd playground](http://play.etcd.io)
- [Animated quick demo](https://etcd.io/docs/latest/demo)
* [Interactive etcd playground](http://play.etcd.io)
* [Animated quick demo](https://etcd.io/docs/latest/demo)
### etcd TCP ports
@ -100,11 +104,7 @@ This will bring up 3 etcd members `infra1`, `infra2` and `infra3` and optionally
Every cluster member and proxy accepts key value reads and key value writes.
Follow the steps in [Procfile.learner](./Procfile.learner) to add a learner node to the cluster. Start the learner node with:
```bash
goreman -f ./Procfile.learner start
```
Follow the comments in [Procfile script](./Procfile) to add a learner node to the cluster.
### Install etcd client v3
@ -116,13 +116,14 @@ go get go.etcd.io/etcd/client/v3
Now it's time to dig into the full etcd API and other guides.
- Read the full [documentation][].
- Explore the full gRPC [API][].
- Set up a [multi-machine cluster][clustering].
- Learn the [config format, env variables and flags][configuration].
- Find [language bindings and tools][integrations].
- Use TLS to [secure an etcd cluster][security].
- [Tune etcd][tuning].
* Read the full [documentation].
* Review etcd [frequently asked questions].
* Explore the full gRPC [API].
* Set up a [multi-machine cluster][clustering].
* Learn the [config format, env variables and flags][configuration].
* Find [language bindings and tools][integrations].
* Use TLS to [secure an etcd cluster][security].
* [Tune etcd][tuning].
[documentation]: https://etcd.io/docs/latest
[api]: https://etcd.io/docs/latest/learning/api
@ -134,23 +135,21 @@ Now it's time to dig into the full etcd API and other guides.
## Contact
- Email: [etcd-dev](https://groups.google.com/forum/?hl=en#!forum/etcd-dev)
- Slack: [#etcd](https://kubernetes.slack.com/messages/C3HD8ARJ5/details/) channel on Kubernetes ([get an invite](http://slack.kubernetes.io/))
- [Community meetings](#Community-meetings)
* Email: [etcd-dev](https://groups.google.com/g/etcd-dev)
* Slack: [#sig-etcd](https://kubernetes.slack.com/archives/C3HD8ARJ5) channel on Kubernetes ([get an invite](http://slack.kubernetes.io/))
* [Community meetings](#community-meetings)
### Community meetings
etcd contributors and maintainers have monthly (every four weeks) meetings at 11:00 AM (USA Pacific) on Thursday.
etcd contributors and maintainers meet every week at 11:00 AM (USA Pacific) on Thursday and meetings alternate between community meetings and issue triage meetings. An initial agenda will be posted to the [shared Google docs][shared-meeting-notes] a day before each meeting, and everyone is welcome to suggest additional topics or other agendas.
An initial agenda will be posted to the [shared Google docs][shared-meeting-notes] a day before each meeting, and everyone is welcome to suggest additional topics or other agendas.
Issue triage meetings are aimed at getting through our backlog of PRs and Issues. Triage meetings are open to any contributor; you don't have to be a reviewer or approver to help out! They can also be a good way to get started contributing.
Meeting recordings are uploaded to official etcd [YouTube channel].
Get calendar invitation by joining [etcd-dev](https://groups.google.com/forum/?hl=en#!forum/etcd-dev) mailing group.
Get calendar invitation by joining [etcd-dev](https://groups.google.com/g/etcd-dev) mailing group.
Join Hangouts Meet: [meet.google.com/umg-nrxn-qvs](https://meet.google.com/umg-nrxn-qvs)
Join by phone: +1 405-792-0633 PIN: 299 906#
Join CNCF-funded Zoom channel: [zoom.us/my/cncfetcdproject](https://zoom.us/my/cncfetcdproject)
[shared-meeting-notes]: https://docs.google.com/document/d/16XEGyPBisZvmmoIHSZzv__LoyOeluC5a4x353CX0SIM/edit
[YouTube channel]: https://www.youtube.com/channel/UC7tUWR24I5AR9NMsG-NYBlg
@ -161,9 +160,13 @@ See [CONTRIBUTING](CONTRIBUTING.md) for details on setting up your development e
Please refer to [community-membership.md](Documentation/contributor-guide/community-membership.md#member) for information on becoming an etcd project member. We welcome and look forward to your contributions to the project!
Please also refer to [roadmap](Documentation/contributor-guide/roadmap.md) to get more details on the priorities for the next few major or minor releases.
## Reporting bugs
See [reporting bugs](https://github.com/etcd-io/etcd/blob/main/Documentation/contributor-guide/reporting_bugs.md) for details about reporting any issues.
See [reporting bugs](https://github.com/etcd-io/etcd/blob/main/Documentation/contributor-guide/reporting_bugs.md) for details about reporting any issues. Before opening an issue please check it is not covered in our [frequently asked questions].
[frequently asked questions]: https://etcd.io/docs/latest/faq
## Reporting a security vulnerability
@ -185,10 +188,10 @@ These emeritus maintainers dedicated a part of their career to etcd and reviewed
* Joe Betz
* Gyuho Lee
* Jingyi Hu
* Wenjia Zhang
* Xiang Li
* Ben Darnell
* Sam Batschelet
* Piotr Tabor
### License

View File

@ -232,29 +232,30 @@ func init() {
func init() { proto.RegisterFile("auth.proto", fileDescriptor_8bbd6f3875b0e874) }
var fileDescriptor_8bbd6f3875b0e874 = []byte{
// 338 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x91, 0xcf, 0x4e, 0xea, 0x40,
0x14, 0xc6, 0x3b, 0xb4, 0x70, 0xdb, 0xc3, 0x85, 0x90, 0x13, 0x72, 0x6f, 0x83, 0x49, 0x6d, 0xba,
0x6a, 0x5c, 0x54, 0x85, 0x8d, 0x5b, 0x8c, 0x2c, 0x5c, 0x49, 0x26, 0x18, 0x97, 0xa4, 0xa4, 0x13,
0x24, 0xc0, 0x4c, 0x33, 0x83, 0x31, 0x6c, 0x7c, 0x0e, 0x17, 0x3e, 0x10, 0x4b, 0x1e, 0x41, 0xf0,
0x45, 0x4c, 0x67, 0xf8, 0x13, 0xa2, 0xbb, 0xef, 0x7c, 0xe7, 0xfb, 0x66, 0x7e, 0x99, 0x01, 0x48,
0x5f, 0x16, 0xcf, 0x49, 0x2e, 0xc5, 0x42, 0x60, 0xa5, 0xd0, 0xf9, 0xa8, 0xd5, 0x1c, 0x8b, 0xb1,
0xd0, 0xd6, 0x65, 0xa1, 0xcc, 0x36, 0xba, 0x86, 0xfa, 0xa3, 0x62, 0xb2, 0x9b, 0x65, 0x0f, 0xf9,
0x62, 0x22, 0xb8, 0xc2, 0x73, 0xa8, 0x72, 0x31, 0xcc, 0x53, 0xa5, 0x5e, 0x85, 0xcc, 0x7c, 0x12,
0x92, 0xd8, 0xa5, 0xc0, 0x45, 0x7f, 0xe7, 0x44, 0x6f, 0xe0, 0x14, 0x15, 0x44, 0x70, 0x78, 0x3a,
0x67, 0x3a, 0xf1, 0x97, 0x6a, 0x8d, 0x2d, 0x70, 0x0f, 0xcd, 0x92, 0xf6, 0x0f, 0x33, 0x36, 0xa1,
0x2c, 0xc5, 0x8c, 0x29, 0xdf, 0x0e, 0xed, 0xd8, 0xa3, 0x66, 0xc0, 0x2b, 0xf8, 0x23, 0xcc, 0xcd,
0xbe, 0x13, 0x92, 0xb8, 0xda, 0xfe, 0x97, 0x18, 0xe0, 0xe4, 0x94, 0x8b, 0xee, 0x63, 0xd1, 0x07,
0x01, 0xe8, 0x33, 0x39, 0x9f, 0x28, 0x35, 0x11, 0x1c, 0x3b, 0xe0, 0xe6, 0x4c, 0xce, 0x07, 0xcb,
0xdc, 0xa0, 0xd4, 0xdb, 0xff, 0xf7, 0x27, 0x1c, 0x53, 0x49, 0xb1, 0xa6, 0x87, 0x20, 0x36, 0xc0,
0x9e, 0xb2, 0xe5, 0x0e, 0xb1, 0x90, 0x78, 0x06, 0x9e, 0x4c, 0xf9, 0x98, 0x0d, 0x19, 0xcf, 0x7c,
0xdb, 0xa0, 0x6b, 0xa3, 0xc7, 0xb3, 0xe8, 0x02, 0x1c, 0x5d, 0x73, 0xc1, 0xa1, 0xbd, 0xee, 0x5d,
0xc3, 0x42, 0x0f, 0xca, 0x4f, 0xf4, 0x7e, 0xd0, 0x6b, 0x10, 0xac, 0x81, 0x57, 0x98, 0x66, 0x2c,
0x45, 0x03, 0x70, 0xa8, 0x98, 0xb1, 0x5f, 0x9f, 0xe7, 0x06, 0x6a, 0x53, 0xb6, 0x3c, 0x62, 0xf9,
0xa5, 0xd0, 0x8e, 0xab, 0x6d, 0xfc, 0x09, 0x4c, 0x4f, 0x83, 0xb7, 0xfe, 0x6a, 0x13, 0x58, 0xeb,
0x4d, 0x60, 0xad, 0xb6, 0x01, 0x59, 0x6f, 0x03, 0xf2, 0xb9, 0x0d, 0xc8, 0xfb, 0x57, 0x60, 0x8d,
0x2a, 0xfa, 0x23, 0x3b, 0xdf, 0x01, 0x00, 0x00, 0xff, 0xff, 0x61, 0x66, 0xc6, 0x9d, 0xf4, 0x01,
0x00, 0x00,
// 359 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x91, 0xcf, 0x4e, 0xc2, 0x40,
0x10, 0xc6, 0xbb, 0xb4, 0x60, 0x3b, 0x08, 0x21, 0x1b, 0xa2, 0x0d, 0xc6, 0xda, 0xf4, 0xd4, 0x78,
0x68, 0x15, 0x0e, 0x7a, 0xc5, 0xc8, 0xc1, 0x93, 0x64, 0x83, 0x31, 0xf1, 0x42, 0x8a, 0xdd, 0xd4,
0x06, 0xd8, 0x6d, 0xda, 0xaa, 0xe1, 0xe2, 0x73, 0x78, 0xf0, 0x81, 0x38, 0xf2, 0x08, 0x82, 0x2f,
0x62, 0xba, 0xcb, 0x9f, 0x10, 0x3d, 0xed, 0x37, 0xdf, 0x7c, 0x33, 0xfb, 0xcb, 0x2e, 0x40, 0xf0,
0x9a, 0xbf, 0x78, 0x49, 0xca, 0x73, 0x8e, 0x2b, 0x85, 0x4e, 0x46, 0xad, 0x66, 0xc4, 0x23, 0x2e,
0x2c, 0xbf, 0x50, 0xb2, 0xeb, 0x5c, 0x42, 0xfd, 0x21, 0xa3, 0x69, 0x37, 0x0c, 0xef, 0x93, 0x3c,
0xe6, 0x2c, 0xc3, 0x67, 0x50, 0x65, 0x7c, 0x98, 0x04, 0x59, 0xf6, 0xce, 0xd3, 0xd0, 0x44, 0x36,
0x72, 0x75, 0x02, 0x8c, 0xf7, 0xd7, 0x8e, 0xf3, 0x01, 0x5a, 0x31, 0x82, 0x31, 0x68, 0x2c, 0x98,
0x52, 0x91, 0x38, 0x24, 0x42, 0xe3, 0x16, 0xe8, 0xdb, 0xc9, 0x92, 0xf0, 0xb7, 0x35, 0x6e, 0x42,
0x39, 0xe5, 0x13, 0x9a, 0x99, 0xaa, 0xad, 0xba, 0x06, 0x91, 0x05, 0xbe, 0x80, 0x03, 0x2e, 0x6f,
0x36, 0x35, 0x1b, 0xb9, 0xd5, 0xf6, 0x91, 0x27, 0x81, 0xbd, 0x7d, 0x2e, 0xb2, 0x89, 0x39, 0x5f,
0x08, 0xa0, 0x4f, 0xd3, 0x69, 0x9c, 0x65, 0x31, 0x67, 0xb8, 0x03, 0x7a, 0x42, 0xd3, 0xe9, 0x60,
0x96, 0x48, 0x94, 0x7a, 0xfb, 0x78, 0xb3, 0x61, 0x97, 0xf2, 0x8a, 0x36, 0xd9, 0x06, 0x71, 0x03,
0xd4, 0x31, 0x9d, 0xad, 0x11, 0x0b, 0x89, 0x4f, 0xc0, 0x48, 0x03, 0x16, 0xd1, 0x21, 0x65, 0xa1,
0xa9, 0x4a, 0x74, 0x61, 0xf4, 0x58, 0xe8, 0x9c, 0x83, 0x26, 0xc6, 0x74, 0xd0, 0x48, 0xaf, 0x7b,
0xdb, 0x50, 0xb0, 0x01, 0xe5, 0x47, 0x72, 0x37, 0xe8, 0x35, 0x10, 0xae, 0x81, 0x51, 0x98, 0xb2,
0x2c, 0x39, 0x03, 0xd0, 0x08, 0x9f, 0xd0, 0x7f, 0x9f, 0xe7, 0x1a, 0x6a, 0x63, 0x3a, 0xdb, 0x61,
0x99, 0x25, 0x5b, 0x75, 0xab, 0x6d, 0xfc, 0x17, 0x98, 0xec, 0x07, 0x6f, 0xae, 0xe6, 0x4b, 0x4b,
0x59, 0x2c, 0x2d, 0x65, 0xbe, 0xb2, 0xd0, 0x62, 0x65, 0xa1, 0xef, 0x95, 0x85, 0x3e, 0x7f, 0x2c,
0xe5, 0xe9, 0x34, 0xe2, 0x1e, 0xcd, 0x9f, 0x43, 0x2f, 0xe6, 0x7e, 0x71, 0xfa, 0x41, 0x12, 0xfb,
0x6f, 0x1d, 0x5f, 0xae, 0x1c, 0x55, 0xc4, 0x3f, 0x77, 0x7e, 0x03, 0x00, 0x00, 0xff, 0xff, 0x61,
0x5a, 0xfe, 0x48, 0x13, 0x02, 0x00, 0x00,
}
func (m *UserAddOptions) Marshal() (dAtA []byte, err error) {

View File

@ -3,6 +3,8 @@ package authpb;
import "gogoproto/gogo.proto";
option go_package = "go.etcd.io/etcd/api/v3/authpb";
option (gogoproto.marshaler_all) = true;
option (gogoproto.sizer_all) = true;
option (gogoproto.unmarshaler_all) = true;

View File

@ -129,31 +129,33 @@ func init() {
func init() { proto.RegisterFile("etcdserver.proto", fileDescriptor_09ffbeb3bebbce7e) }
var fileDescriptor_09ffbeb3bebbce7e = []byte{
// 380 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x5c, 0xd2, 0xdd, 0x6e, 0xda, 0x30,
0x14, 0x07, 0x70, 0x0c, 0xe1, 0xcb, 0x63, 0x1b, 0xb3, 0xd0, 0x74, 0x84, 0xa6, 0x2c, 0x42, 0xbb,
0xc8, 0xd5, 0xf6, 0x0e, 0x2c, 0x5c, 0x44, 0x2a, 0x15, 0x0d, 0x15, 0xbd, 0x76, 0xc9, 0x29, 0x58,
0x02, 0x4c, 0x1d, 0x07, 0xf1, 0x06, 0x7d, 0x85, 0x3e, 0x12, 0x97, 0x7d, 0x82, 0xaa, 0xa5, 0x2f,
0x52, 0x39, 0x24, 0xc4, 0xed, 0x5d, 0xf4, 0xfb, 0x9f, 0x1c, 0x1f, 0x7f, 0xd0, 0x2e, 0xea, 0x79,
0x9c, 0xa0, 0xda, 0xa1, 0xfa, 0xbb, 0x55, 0x52, 0x4b, 0xd6, 0x29, 0x65, 0x7b, 0xdb, 0xef, 0x2d,
0xe4, 0x42, 0x66, 0xc1, 0x3f, 0xf3, 0x75, 0xaa, 0x19, 0x3c, 0x38, 0xb4, 0x19, 0xe1, 0x7d, 0x8a,
0x89, 0x66, 0x3d, 0x5a, 0x0d, 0x03, 0x20, 0x1e, 0xf1, 0x9d, 0xa1, 0x73, 0x78, 0xfe, 0x5d, 0x89,
0xaa, 0x61, 0xc0, 0x7e, 0xd1, 0xc6, 0x18, 0xf5, 0x52, 0xc6, 0x50, 0xf5, 0x88, 0xdf, 0xce, 0x93,
0xdc, 0x18, 0x50, 0x67, 0xc2, 0xf5, 0x12, 0x6a, 0x56, 0x96, 0x09, 0xfb, 0x49, 0x6b, 0x33, 0xbe,
0x02, 0xc7, 0x0a, 0x0c, 0x18, 0x0f, 0x84, 0x82, 0xba, 0x47, 0xfc, 0x56, 0xe1, 0x81, 0x50, 0x6c,
0x40, 0xdb, 0x13, 0x85, 0xbb, 0x19, 0x5f, 0xa5, 0x08, 0x0d, 0xeb, 0xaf, 0x92, 0x8b, 0x9a, 0x70,
0x13, 0xe3, 0x1e, 0x9a, 0xd6, 0xa0, 0x25, 0x17, 0x35, 0xa3, 0xbd, 0x48, 0x34, 0xb4, 0xce, 0xab,
0x90, 0xa8, 0x64, 0xf6, 0x87, 0xd2, 0xd1, 0x7e, 0x2b, 0x14, 0xd7, 0x42, 0x6e, 0xa0, 0xed, 0x11,
0xbf, 0x96, 0x37, 0xb2, 0xdc, 0xec, 0xed, 0x86, 0x0b, 0x0d, 0xd4, 0x1a, 0x35, 0x13, 0xd6, 0xa7,
0xf5, 0xa9, 0xd8, 0xcc, 0x11, 0xbe, 0x58, 0x33, 0x9c, 0xc8, 0xac, 0x1f, 0xe1, 0x3c, 0x55, 0x89,
0xd8, 0x21, 0x74, 0xac, 0x5f, 0x4b, 0x36, 0x67, 0x3a, 0x95, 0x4a, 0x63, 0x0c, 0x5f, 0xad, 0x82,
0xdc, 0x4c, 0x7a, 0x95, 0x4a, 0x95, 0xae, 0xe1, 0x9b, 0x9d, 0x9e, 0xcc, 0x4c, 0x75, 0x2d, 0xd6,
0x08, 0xdf, 0xad, 0xa9, 0x33, 0xc9, 0xba, 0x6a, 0x85, 0x7c, 0x0d, 0xdd, 0x0f, 0x5d, 0x33, 0x63,
0xae, 0xb9, 0xe8, 0x3b, 0x85, 0xc9, 0x12, 0x7e, 0x58, 0xa7, 0x52, 0xe0, 0xe0, 0x82, 0xb6, 0xc6,
0xa8, 0x79, 0xcc, 0x35, 0x37, 0x9d, 0x2e, 0x65, 0x8c, 0x9f, 0x5e, 0x43, 0x6e, 0x66, 0x87, 0xff,
0x57, 0x69, 0xa2, 0x51, 0x85, 0x41, 0xf6, 0x28, 0xce, 0xb7, 0x70, 0xe6, 0x61, 0xef, 0xf0, 0xea,
0x56, 0x0e, 0x47, 0x97, 0x3c, 0x1d, 0x5d, 0xf2, 0x72, 0x74, 0xc9, 0xe3, 0x9b, 0x5b, 0x79, 0x0f,
0x00, 0x00, 0xff, 0xff, 0xee, 0x40, 0xba, 0xd6, 0xa4, 0x02, 0x00, 0x00,
// 402 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x5c, 0xd2, 0x41, 0xef, 0xd2, 0x30,
0x14, 0x00, 0x70, 0x0a, 0xfb, 0xff, 0x81, 0x8a, 0x8a, 0x0d, 0x31, 0x2f, 0xc4, 0xcc, 0x05, 0x3d,
0xec, 0xc4, 0x0e, 0x9e, 0xbc, 0xe2, 0x38, 0x2c, 0x11, 0x83, 0xc3, 0x60, 0xe2, 0xad, 0xb2, 0x27,
0x34, 0x01, 0x3a, 0xbb, 0x6e, 0xe1, 0x1b, 0xf8, 0x15, 0xfc, 0x48, 0x1c, 0xfd, 0x04, 0x46, 0xf1,
0x8b, 0x98, 0x8e, 0x8d, 0x55, 0x4f, 0x5b, 0x7e, 0xef, 0xf5, 0xf5, 0xb5, 0x7d, 0x74, 0x88, 0x7a,
0x93, 0x64, 0xa8, 0x0a, 0x54, 0xd3, 0x54, 0x49, 0x2d, 0xd9, 0xa0, 0x91, 0xf4, 0xf3, 0x78, 0xb4,
0x95, 0x5b, 0x59, 0x06, 0x02, 0xf3, 0x77, 0xcd, 0x99, 0x7c, 0x73, 0x68, 0x37, 0xc6, 0xaf, 0x39,
0x66, 0x9a, 0x8d, 0x68, 0x3b, 0x0a, 0x81, 0x78, 0xc4, 0x77, 0x66, 0xce, 0xf9, 0xe7, 0xf3, 0x56,
0xdc, 0x8e, 0x42, 0xf6, 0x8c, 0xde, 0x2f, 0x50, 0xef, 0x64, 0x02, 0x6d, 0x8f, 0xf8, 0xfd, 0x2a,
0x52, 0x19, 0x03, 0xea, 0x2c, 0xb9, 0xde, 0x41, 0xc7, 0x8a, 0x95, 0xc2, 0x9e, 0xd2, 0xce, 0x9a,
0xef, 0xc1, 0xb1, 0x02, 0x06, 0x8c, 0x87, 0x42, 0xc1, 0x9d, 0x47, 0xfc, 0x5e, 0xed, 0xa1, 0x50,
0x6c, 0x42, 0xfb, 0x4b, 0x85, 0xc5, 0x9a, 0xef, 0x73, 0x84, 0x7b, 0x6b, 0x55, 0xc3, 0x75, 0x4e,
0x74, 0x4c, 0xf0, 0x04, 0x5d, 0xab, 0xd1, 0x86, 0xeb, 0x9c, 0xf9, 0x49, 0x64, 0x1a, 0x7a, 0xb7,
0x5d, 0x48, 0xdc, 0x30, 0x7b, 0x49, 0xe9, 0xfc, 0x94, 0x0a, 0xc5, 0xb5, 0x90, 0x47, 0xe8, 0x7b,
0xc4, 0xef, 0x54, 0x85, 0x2c, 0x37, 0x67, 0xfb, 0xc8, 0x85, 0x06, 0x6a, 0xb5, 0x5a, 0x0a, 0x1b,
0xd3, 0xbb, 0x95, 0x38, 0x6e, 0x10, 0x1e, 0x58, 0x3d, 0x5c, 0xc9, 0xec, 0x1f, 0xe3, 0x26, 0x57,
0x99, 0x28, 0x10, 0x06, 0xd6, 0xd2, 0x86, 0xcd, 0x9d, 0xae, 0xa4, 0xd2, 0x98, 0xc0, 0x43, 0x2b,
0xa1, 0x32, 0x13, 0x7d, 0x9f, 0x4b, 0x95, 0x1f, 0xe0, 0x91, 0x1d, 0xbd, 0x9a, 0xe9, 0xea, 0x83,
0x38, 0x20, 0x3c, 0xb6, 0xba, 0x2e, 0xa5, 0xac, 0xaa, 0x15, 0xf2, 0x03, 0x0c, 0xff, 0xa9, 0x5a,
0x1a, 0x73, 0xcd, 0x43, 0x7f, 0x51, 0x98, 0xed, 0xe0, 0x89, 0x75, 0x2b, 0x35, 0x4e, 0xde, 0xd2,
0xde, 0x02, 0x35, 0x4f, 0xb8, 0xe6, 0xa6, 0xd2, 0x3b, 0x99, 0xe0, 0x7f, 0xd3, 0x50, 0x99, 0x39,
0xe1, 0x9b, 0x7d, 0x9e, 0x69, 0x54, 0x51, 0x58, 0x0e, 0xc5, 0xed, 0x15, 0x6e, 0x3c, 0x7b, 0x7d,
0xfe, 0xed, 0xb6, 0xce, 0x17, 0x97, 0xfc, 0xb8, 0xb8, 0xe4, 0xd7, 0xc5, 0x25, 0xdf, 0xff, 0xb8,
0xad, 0x4f, 0x2f, 0xb6, 0x72, 0x6a, 0x86, 0x72, 0x2a, 0x64, 0x60, 0xbe, 0x01, 0x4f, 0x45, 0x50,
0xbc, 0x0a, 0xec, 0x41, 0xfd, 0x1b, 0x00, 0x00, 0xff, 0xff, 0x2b, 0x79, 0xf9, 0xf5, 0xc9, 0x02,
0x00, 0x00,
}
func (m *Request) Marshal() (dAtA []byte, err error) {

View File

@ -3,6 +3,8 @@ package etcdserverpb;
import "gogoproto/gogo.proto";
option go_package = "go.etcd.io/etcd/api/v3/etcdserverpb";
option (gogoproto.marshaler_all) = true;
option (gogoproto.sizer_all) = true;
option (gogoproto.unmarshaler_all) = true;

File diff suppressed because it is too large Load Diff

View File

@ -238,73 +238,74 @@ func init() {
func init() { proto.RegisterFile("raft_internal.proto", fileDescriptor_b4c9a9be0cfca103) }
var fileDescriptor_b4c9a9be0cfca103 = []byte{
// 1054 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x56, 0x5d, 0x6f, 0x1b, 0x45,
0x14, 0xad, 0xd3, 0x34, 0x89, 0xc7, 0x49, 0x9a, 0x4e, 0x52, 0x3a, 0x38, 0x92, 0x71, 0x03, 0x2d,
0x01, 0x8a, 0x53, 0x1c, 0x78, 0xe1, 0x05, 0x5c, 0x3b, 0x4a, 0x83, 0x4a, 0x15, 0x6d, 0x0b, 0xaa,
0x84, 0xd0, 0x32, 0xde, 0xbd, 0xb1, 0xb7, 0x59, 0xef, 0x2e, 0x33, 0x63, 0x37, 0x7d, 0xe5, 0x91,
0x67, 0x40, 0xfc, 0x0c, 0x3e, 0xff, 0x43, 0x85, 0xf8, 0x28, 0xf0, 0x07, 0x20, 0xbc, 0xf0, 0x0e,
0xbc, 0xa3, 0xf9, 0xd8, 0x5d, 0xaf, 0x3d, 0xce, 0xdb, 0xfa, 0xde, 0x73, 0xcf, 0x39, 0x33, 0x73,
0xef, 0x78, 0xd0, 0x3a, 0xa3, 0x47, 0xc2, 0x0d, 0x22, 0x01, 0x2c, 0xa2, 0x61, 0x23, 0x61, 0xb1,
0x88, 0xf1, 0x32, 0x08, 0xcf, 0xe7, 0xc0, 0x46, 0xc0, 0x92, 0x6e, 0x75, 0xa3, 0x17, 0xf7, 0x62,
0x95, 0xd8, 0x91, 0x5f, 0x1a, 0x53, 0x5d, 0xcb, 0x31, 0x26, 0x52, 0x66, 0x89, 0x67, 0x3e, 0xeb,
0x32, 0xb9, 0x43, 0x93, 0x60, 0x67, 0x04, 0x8c, 0x07, 0x71, 0x94, 0x74, 0xd3, 0x2f, 0x83, 0xb8,
0x9e, 0x21, 0x06, 0x30, 0xe8, 0x02, 0xe3, 0xfd, 0x20, 0x49, 0xba, 0x63, 0x3f, 0x34, 0x6e, 0x8b,
0xa1, 0x15, 0x07, 0x3e, 0x1e, 0x02, 0x17, 0xb7, 0x81, 0xfa, 0xc0, 0xf0, 0x2a, 0x9a, 0x3b, 0xe8,
0x90, 0x52, 0xbd, 0xb4, 0x3d, 0xef, 0xcc, 0x1d, 0x74, 0x70, 0x15, 0x2d, 0x0d, 0xb9, 0x34, 0x3f,
0x00, 0x32, 0x57, 0x2f, 0x6d, 0x97, 0x9d, 0xec, 0x37, 0xbe, 0x81, 0x56, 0xe8, 0x50, 0xf4, 0x5d,
0x06, 0xa3, 0x40, 0x6a, 0x93, 0xf3, 0xb2, 0xec, 0xd6, 0xe2, 0xa7, 0xdf, 0x93, 0xf3, 0xbb, 0x8d,
0xd7, 0x9c, 0x65, 0x99, 0x75, 0x4c, 0xf2, 0xcd, 0xc5, 0x4f, 0x54, 0xf8, 0xe6, 0xd6, 0x0f, 0x18,
0xad, 0x1f, 0x98, 0x1d, 0x71, 0xe8, 0x91, 0x30, 0x06, 0xf0, 0x2e, 0x5a, 0xe8, 0x2b, 0x13, 0xc4,
0xaf, 0x97, 0xb6, 0x2b, 0xcd, 0xcd, 0xc6, 0xf8, 0x3e, 0x35, 0x0a, 0x3e, 0x1d, 0x03, 0x9d, 0xf2,
0x7b, 0x0d, 0xcd, 0x8d, 0x9a, 0xca, 0x69, 0xa5, 0x79, 0xd9, 0x4a, 0xe0, 0xcc, 0x8d, 0x9a, 0xf8,
0x26, 0xba, 0xc0, 0x68, 0xd4, 0x03, 0x65, 0xb9, 0xd2, 0xac, 0x4e, 0x20, 0x65, 0x2a, 0x85, 0x6b,
0x20, 0x7e, 0x19, 0x9d, 0x4f, 0x86, 0x82, 0xcc, 0x2b, 0x3c, 0x29, 0xe2, 0x0f, 0x87, 0xe9, 0x22,
0x1c, 0x09, 0xc2, 0x6d, 0xb4, 0xec, 0x43, 0x08, 0x02, 0x5c, 0x2d, 0x72, 0x41, 0x15, 0xd5, 0x8b,
0x45, 0x1d, 0x85, 0x28, 0x48, 0x55, 0xfc, 0x3c, 0x26, 0x05, 0xc5, 0x49, 0x44, 0x16, 0x6c, 0x82,
0xf7, 0x4f, 0xa2, 0x4c, 0x50, 0x9c, 0x44, 0xf8, 0x2d, 0x84, 0xbc, 0x78, 0x90, 0x50, 0x4f, 0xc8,
0x63, 0x58, 0x54, 0x25, 0xcf, 0x15, 0x4b, 0xda, 0x59, 0x3e, 0xad, 0x1c, 0x2b, 0xc1, 0x6f, 0xa3,
0x4a, 0x08, 0x94, 0x83, 0xdb, 0x63, 0x34, 0x12, 0x64, 0xc9, 0xc6, 0x70, 0x47, 0x02, 0xf6, 0x65,
0x3e, 0x63, 0x08, 0xb3, 0x90, 0x5c, 0xb3, 0x66, 0x60, 0x30, 0x8a, 0x8f, 0x81, 0x94, 0x6d, 0x6b,
0x56, 0x14, 0x8e, 0x02, 0x64, 0x6b, 0x0e, 0xf3, 0x98, 0x3c, 0x16, 0x1a, 0x52, 0x36, 0x20, 0xc8,
0x76, 0x2c, 0x2d, 0x99, 0xca, 0x8e, 0x45, 0x01, 0xf1, 0x03, 0xb4, 0xa6, 0x65, 0xbd, 0x3e, 0x78,
0xc7, 0x49, 0x1c, 0x44, 0x82, 0x54, 0x54, 0xf1, 0x0b, 0x16, 0xe9, 0x76, 0x06, 0x32, 0x34, 0x69,
0xb3, 0xbe, 0xee, 0x5c, 0x0c, 0x8b, 0x00, 0xdc, 0x42, 0x15, 0xd5, 0xdd, 0x10, 0xd1, 0x6e, 0x08,
0xe4, 0x6f, 0xeb, 0xae, 0xb6, 0x86, 0xa2, 0xbf, 0xa7, 0x00, 0xd9, 0x9e, 0xd0, 0x2c, 0x84, 0x3b,
0x48, 0x8d, 0x80, 0xeb, 0x07, 0x5c, 0x71, 0xfc, 0xb3, 0x68, 0xdb, 0x14, 0xc9, 0xd1, 0xd1, 0x88,
0x6c, 0x53, 0x68, 0x1e, 0xc3, 0xef, 0x18, 0x23, 0x5c, 0x50, 0x31, 0xe4, 0xe4, 0xbf, 0x99, 0x46,
0xee, 0x29, 0xc0, 0xc4, 0xca, 0xde, 0xd0, 0x8e, 0x74, 0x0e, 0xdf, 0xd5, 0x8e, 0x20, 0x12, 0x81,
0x47, 0x05, 0x90, 0x7f, 0x35, 0xd9, 0x4b, 0x45, 0xb2, 0x74, 0x3a, 0x5b, 0x63, 0xd0, 0xd4, 0x5a,
0xa1, 0x1e, 0xef, 0x99, 0x2b, 0x40, 0xde, 0x09, 0x2e, 0xf5, 0x7d, 0xf2, 0xe3, 0xd2, 0xac, 0x25,
0xbe, 0xc7, 0x81, 0xb5, 0x7c, 0xbf, 0xb0, 0x44, 0x13, 0xc3, 0x77, 0xd1, 0x5a, 0x4e, 0xa3, 0x87,
0x80, 0xfc, 0xa4, 0x99, 0x9e, 0xb7, 0x33, 0x99, 0xe9, 0x31, 0x64, 0xab, 0xb4, 0x10, 0x2e, 0xda,
0xea, 0x81, 0x20, 0x3f, 0x9f, 0x69, 0x6b, 0x1f, 0xc4, 0x94, 0xad, 0x7d, 0x10, 0xb8, 0x87, 0x9e,
0xcd, 0x69, 0xbc, 0xbe, 0x1c, 0x4b, 0x37, 0xa1, 0x9c, 0x3f, 0x8a, 0x99, 0x4f, 0x7e, 0xd1, 0x94,
0xaf, 0xd8, 0x29, 0xdb, 0x0a, 0x7d, 0x68, 0xc0, 0x29, 0xfb, 0x33, 0xd4, 0x9a, 0xc6, 0x0f, 0xd0,
0xc6, 0x98, 0x5f, 0x39, 0x4f, 0x2e, 0x8b, 0x43, 0x20, 0x4f, 0xb5, 0xc6, 0xf5, 0x19, 0xb6, 0xd5,
0x2c, 0xc6, 0x79, 0xdb, 0x5c, 0xa2, 0x93, 0x19, 0xfc, 0x01, 0xba, 0x9c, 0x33, 0xeb, 0xd1, 0xd4,
0xd4, 0xbf, 0x6a, 0xea, 0x17, 0xed, 0xd4, 0x66, 0x46, 0xc7, 0xb8, 0x31, 0x9d, 0x4a, 0xe1, 0xdb,
0x68, 0x35, 0x27, 0x0f, 0x03, 0x2e, 0xc8, 0x6f, 0x9a, 0xf5, 0xaa, 0x9d, 0xf5, 0x4e, 0xc0, 0x45,
0xa1, 0x8f, 0xd2, 0x60, 0xc6, 0x24, 0xad, 0x69, 0xa6, 0xdf, 0x67, 0x32, 0x49, 0xe9, 0x29, 0xa6,
0x34, 0x98, 0x1d, 0xbd, 0x62, 0x92, 0x1d, 0xf9, 0x55, 0x79, 0xd6, 0xd1, 0xcb, 0x9a, 0xc9, 0x8e,
0x34, 0xb1, 0xac, 0x23, 0x15, 0x8d, 0xe9, 0xc8, 0xaf, 0xcb, 0xb3, 0x3a, 0x52, 0x56, 0x59, 0x3a,
0x32, 0x0f, 0x17, 0x6d, 0xc9, 0x8e, 0xfc, 0xe6, 0x4c, 0x5b, 0x93, 0x1d, 0x69, 0x62, 0xf8, 0x21,
0xaa, 0x8e, 0xd1, 0xa8, 0x46, 0x49, 0x80, 0x0d, 0x02, 0xae, 0xfe, 0x7f, 0xbf, 0xd5, 0x9c, 0x37,
0x66, 0x70, 0x4a, 0xf8, 0x61, 0x86, 0x4e, 0xf9, 0xaf, 0x50, 0x7b, 0x1e, 0x0f, 0xd0, 0x66, 0xae,
0x65, 0x5a, 0x67, 0x4c, 0xec, 0x3b, 0x2d, 0xf6, 0xaa, 0x5d, 0x4c, 0x77, 0xc9, 0xb4, 0x1a, 0xa1,
0x33, 0x00, 0xf8, 0x23, 0xb4, 0xee, 0x85, 0x43, 0x2e, 0x80, 0xb9, 0xe6, 0x2d, 0xe3, 0x72, 0x10,
0xe4, 0x33, 0x64, 0x46, 0x60, 0xfc, 0x21, 0xd3, 0x68, 0x6b, 0xe4, 0xfb, 0x1a, 0x78, 0x0f, 0xc4,
0xd4, 0xad, 0x77, 0xc9, 0x9b, 0x84, 0xe0, 0x87, 0xe8, 0x4a, 0xaa, 0xa0, 0xc9, 0x5c, 0x2a, 0x04,
0x53, 0x2a, 0x9f, 0x23, 0x73, 0x0f, 0xda, 0x54, 0xde, 0x55, 0xb1, 0x96, 0x10, 0xcc, 0x26, 0xb4,
0xe1, 0x59, 0x50, 0xf8, 0x43, 0x84, 0xfd, 0xf8, 0x51, 0xd4, 0x63, 0xd4, 0x07, 0x37, 0x88, 0x8e,
0x62, 0x25, 0xf3, 0x85, 0x96, 0xb9, 0x56, 0x94, 0xe9, 0xa4, 0xc0, 0x83, 0xe8, 0x28, 0xb6, 0x49,
0xac, 0xf9, 0x13, 0x88, 0xfc, 0x31, 0x75, 0x11, 0xad, 0xec, 0x0d, 0x12, 0xf1, 0xd8, 0x01, 0x9e,
0xc4, 0x11, 0x87, 0xad, 0xc7, 0x68, 0xf3, 0x8c, 0xeb, 0x1b, 0x63, 0x34, 0xaf, 0xde, 0x72, 0x25,
0xf5, 0x96, 0x53, 0xdf, 0xf2, 0x8d, 0x97, 0xdd, 0x6a, 0xe6, 0x8d, 0x97, 0xfe, 0xc6, 0x57, 0xd1,
0x32, 0x0f, 0x06, 0x49, 0x08, 0xae, 0x88, 0x8f, 0x41, 0x3f, 0xf1, 0xca, 0x4e, 0x45, 0xc7, 0xee,
0xcb, 0x50, 0xe6, 0xe5, 0xd6, 0xc6, 0x93, 0x3f, 0x6b, 0xe7, 0x9e, 0x9c, 0xd6, 0x4a, 0x4f, 0x4f,
0x6b, 0xa5, 0x3f, 0x4e, 0x6b, 0xa5, 0x2f, 0xff, 0xaa, 0x9d, 0xeb, 0x2e, 0xa8, 0x97, 0xe6, 0xee,
0xff, 0x01, 0x00, 0x00, 0xff, 0xff, 0x30, 0x36, 0x53, 0xc6, 0x0b, 0x0b, 0x00, 0x00,
// 1072 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x56, 0x4b, 0x73, 0x1b, 0x45,
0x17, 0x8d, 0x6c, 0xc7, 0xb6, 0x5a, 0xb6, 0xe3, 0xb4, 0x9d, 0x2f, 0xfd, 0xd9, 0x55, 0xc6, 0x71,
0x48, 0x30, 0x10, 0xe4, 0x20, 0xc3, 0x02, 0x36, 0xa0, 0x48, 0x2e, 0xc7, 0x54, 0x48, 0xb9, 0x26,
0x81, 0x4a, 0x41, 0x51, 0x43, 0x6b, 0xe6, 0x5a, 0x9a, 0x78, 0x34, 0x33, 0x74, 0xb7, 0x14, 0x67,
0xcb, 0x92, 0x35, 0x50, 0xfc, 0x0c, 0x9e, 0xff, 0x21, 0x45, 0xf1, 0x08, 0xf0, 0x07, 0xc0, 0x6c,
0xd8, 0x03, 0x7b, 0xaa, 0x1f, 0xf3, 0x92, 0x5a, 0xde, 0x8d, 0xee, 0x3d, 0xf7, 0x9c, 0xd3, 0xdd,
0xb7, 0x5b, 0x17, 0xad, 0x30, 0x7a, 0x24, 0xdc, 0x20, 0x12, 0xc0, 0x22, 0x1a, 0xd6, 0x13, 0x16,
0x8b, 0x18, 0x2f, 0x80, 0xf0, 0x7c, 0x0e, 0x6c, 0x08, 0x2c, 0xe9, 0xac, 0xad, 0x76, 0xe3, 0x6e,
0xac, 0x12, 0x3b, 0xf2, 0x4b, 0x63, 0xd6, 0x96, 0x73, 0x8c, 0x89, 0x54, 0x59, 0xe2, 0x99, 0xcf,
0x4d, 0x99, 0xdc, 0xa1, 0x49, 0xb0, 0x33, 0x04, 0xc6, 0x83, 0x38, 0x4a, 0x3a, 0xe9, 0x97, 0x41,
0x5c, 0xcf, 0x10, 0x7d, 0xe8, 0x77, 0x80, 0xf1, 0x5e, 0x90, 0x24, 0x9d, 0xc2, 0x0f, 0x8d, 0xdb,
0x62, 0x68, 0xd1, 0x81, 0x8f, 0x06, 0xc0, 0xc5, 0x6d, 0xa0, 0x3e, 0x30, 0xbc, 0x84, 0xa6, 0x0e,
0xda, 0xa4, 0xb2, 0x59, 0xd9, 0x9e, 0x71, 0xa6, 0x0e, 0xda, 0x78, 0x0d, 0xcd, 0x0f, 0xb8, 0x34,
0xdf, 0x07, 0x32, 0xb5, 0x59, 0xd9, 0xae, 0x3a, 0xd9, 0x6f, 0x7c, 0x03, 0x2d, 0xd2, 0x81, 0xe8,
0xb9, 0x0c, 0x86, 0x81, 0xd4, 0x26, 0xd3, 0xb2, 0xec, 0xd6, 0xdc, 0x27, 0xdf, 0x91, 0xe9, 0xdd,
0xfa, 0xcb, 0xce, 0x82, 0xcc, 0x3a, 0x26, 0xf9, 0xfa, 0xdc, 0xc7, 0x2a, 0x7c, 0x73, 0xeb, 0x7b,
0x8c, 0x56, 0x0e, 0xcc, 0x8e, 0x38, 0xf4, 0x48, 0x18, 0x03, 0x78, 0x17, 0xcd, 0xf6, 0x94, 0x09,
0xe2, 0x6f, 0x56, 0xb6, 0x6b, 0x8d, 0xf5, 0x7a, 0x71, 0x9f, 0xea, 0x25, 0x9f, 0x8e, 0x81, 0x8e,
0xf9, 0xbd, 0x86, 0xa6, 0x86, 0x0d, 0xe5, 0xb4, 0xd6, 0xb8, 0x64, 0x25, 0x70, 0xa6, 0x86, 0x0d,
0x7c, 0x13, 0x9d, 0x67, 0x34, 0xea, 0x82, 0xb2, 0x5c, 0x6b, 0xac, 0x8d, 0x20, 0x65, 0x2a, 0x85,
0x6b, 0x20, 0x7e, 0x01, 0x4d, 0x27, 0x03, 0x41, 0x66, 0x14, 0x9e, 0x94, 0xf1, 0x87, 0x83, 0x74,
0x11, 0x8e, 0x04, 0xe1, 0x16, 0x5a, 0xf0, 0x21, 0x04, 0x01, 0xae, 0x16, 0x39, 0xaf, 0x8a, 0x36,
0xcb, 0x45, 0x6d, 0x85, 0x28, 0x49, 0xd5, 0xfc, 0x3c, 0x26, 0x05, 0xc5, 0x49, 0x44, 0x66, 0x6d,
0x82, 0xf7, 0x4f, 0xa2, 0x4c, 0x50, 0x9c, 0x44, 0xf8, 0x0d, 0x84, 0xbc, 0xb8, 0x9f, 0x50, 0x4f,
0xc8, 0x63, 0x98, 0x53, 0x25, 0xcf, 0x94, 0x4b, 0x5a, 0x59, 0x3e, 0xad, 0x2c, 0x94, 0xe0, 0x37,
0x51, 0x2d, 0x04, 0xca, 0xc1, 0xed, 0x32, 0x1a, 0x09, 0x32, 0x6f, 0x63, 0xb8, 0x23, 0x01, 0xfb,
0x32, 0x9f, 0x31, 0x84, 0x59, 0x48, 0xae, 0x59, 0x33, 0x30, 0x18, 0xc6, 0xc7, 0x40, 0xaa, 0xb6,
0x35, 0x2b, 0x0a, 0x47, 0x01, 0xb2, 0x35, 0x87, 0x79, 0x4c, 0x1e, 0x0b, 0x0d, 0x29, 0xeb, 0x13,
0x64, 0x3b, 0x96, 0xa6, 0x4c, 0x65, 0xc7, 0xa2, 0x80, 0xf8, 0x01, 0x5a, 0xd6, 0xb2, 0x5e, 0x0f,
0xbc, 0xe3, 0x24, 0x0e, 0x22, 0x41, 0x6a, 0xaa, 0xf8, 0x59, 0x8b, 0x74, 0x2b, 0x03, 0x19, 0x9a,
0xb4, 0x59, 0x5f, 0x71, 0x2e, 0x84, 0x65, 0x00, 0x6e, 0xa2, 0x9a, 0xea, 0x6e, 0x88, 0x68, 0x27,
0x04, 0xf2, 0x97, 0x75, 0x57, 0x9b, 0x03, 0xd1, 0xdb, 0x53, 0x80, 0x6c, 0x4f, 0x68, 0x16, 0xc2,
0x6d, 0xa4, 0xae, 0x80, 0xeb, 0x07, 0x5c, 0x71, 0xfc, 0x3d, 0x67, 0xdb, 0x14, 0xc9, 0xd1, 0xd6,
0x88, 0x6c, 0x53, 0x68, 0x1e, 0xc3, 0x6f, 0x19, 0x23, 0x5c, 0x50, 0x31, 0xe0, 0xe4, 0xdf, 0x89,
0x46, 0xee, 0x29, 0xc0, 0xc8, 0xca, 0x5e, 0xd5, 0x8e, 0x74, 0x0e, 0xdf, 0xd5, 0x8e, 0x20, 0x12,
0x81, 0x47, 0x05, 0x90, 0x7f, 0x34, 0xd9, 0xf3, 0x65, 0xb2, 0xf4, 0x76, 0x36, 0x0b, 0xd0, 0xd4,
0x5a, 0xa9, 0x1e, 0xef, 0x99, 0x27, 0x40, 0xbe, 0x09, 0x2e, 0xf5, 0x7d, 0xf2, 0xc3, 0xfc, 0xa4,
0x25, 0xbe, 0xc3, 0x81, 0x35, 0x7d, 0xbf, 0xb4, 0x44, 0x13, 0xc3, 0x77, 0xd1, 0x72, 0x4e, 0xa3,
0x2f, 0x01, 0xf9, 0x51, 0x33, 0x5d, 0xb5, 0x33, 0x99, 0xdb, 0x63, 0xc8, 0x96, 0x68, 0x29, 0x5c,
0xb6, 0xd5, 0x05, 0x41, 0x7e, 0x3a, 0xd3, 0xd6, 0x3e, 0x88, 0x31, 0x5b, 0xfb, 0x20, 0x70, 0x17,
0xfd, 0x3f, 0xa7, 0xf1, 0x7a, 0xf2, 0x5a, 0xba, 0x09, 0xe5, 0xfc, 0x51, 0xcc, 0x7c, 0xf2, 0xb3,
0xa6, 0x7c, 0xd1, 0x4e, 0xd9, 0x52, 0xe8, 0x43, 0x03, 0x4e, 0xd9, 0xff, 0x47, 0xad, 0x69, 0xfc,
0x00, 0xad, 0x16, 0xfc, 0xca, 0xfb, 0xe4, 0xb2, 0x38, 0x04, 0xf2, 0x54, 0x6b, 0x5c, 0x9f, 0x60,
0x5b, 0xdd, 0xc5, 0x38, 0x6f, 0x9b, 0x8b, 0x74, 0x34, 0x83, 0xdf, 0x47, 0x97, 0x72, 0x66, 0x7d,
0x35, 0x35, 0xf5, 0x2f, 0x9a, 0xfa, 0x39, 0x3b, 0xb5, 0xb9, 0xa3, 0x05, 0x6e, 0x4c, 0xc7, 0x52,
0xf8, 0x36, 0x5a, 0xca, 0xc9, 0xc3, 0x80, 0x0b, 0xf2, 0xab, 0x66, 0xbd, 0x62, 0x67, 0xbd, 0x13,
0x70, 0x51, 0xea, 0xa3, 0x34, 0x98, 0x31, 0x49, 0x6b, 0x9a, 0xe9, 0xb7, 0x89, 0x4c, 0x52, 0x7a,
0x8c, 0x29, 0x0d, 0x66, 0x47, 0xaf, 0x98, 0x64, 0x47, 0x7e, 0x59, 0x9d, 0x74, 0xf4, 0xb2, 0x66,
0xb4, 0x23, 0x4d, 0x2c, 0xeb, 0x48, 0x45, 0x63, 0x3a, 0xf2, 0xab, 0xea, 0xa4, 0x8e, 0x94, 0x55,
0x96, 0x8e, 0xcc, 0xc3, 0x65, 0x5b, 0xb2, 0x23, 0xbf, 0x3e, 0xd3, 0xd6, 0x68, 0x47, 0x9a, 0x18,
0x7e, 0x88, 0xd6, 0x0a, 0x34, 0xaa, 0x51, 0x12, 0x60, 0xfd, 0x80, 0xab, 0xff, 0xdf, 0x6f, 0x34,
0xe7, 0x8d, 0x09, 0x9c, 0x12, 0x7e, 0x98, 0xa1, 0x53, 0xfe, 0xcb, 0xd4, 0x9e, 0xc7, 0x7d, 0xb4,
0x9e, 0x6b, 0x99, 0xd6, 0x29, 0x88, 0x7d, 0xab, 0xc5, 0x5e, 0xb2, 0x8b, 0xe9, 0x2e, 0x19, 0x57,
0x23, 0x74, 0x02, 0x00, 0x7f, 0x88, 0x56, 0xbc, 0x70, 0xc0, 0x05, 0x30, 0xd7, 0xcc, 0x32, 0x2e,
0x07, 0x41, 0x3e, 0x45, 0xe6, 0x0a, 0x14, 0x07, 0x99, 0x7a, 0x4b, 0x23, 0xdf, 0xd5, 0xc0, 0x7b,
0x20, 0xc6, 0x5e, 0xbd, 0x8b, 0xde, 0x28, 0x04, 0x3f, 0x44, 0x97, 0x53, 0x05, 0x4d, 0xe6, 0x52,
0x21, 0x98, 0x52, 0xf9, 0x0c, 0x99, 0x77, 0xd0, 0xa6, 0xf2, 0xb6, 0x8a, 0x35, 0x85, 0x60, 0x36,
0xa1, 0x55, 0xcf, 0x82, 0xc2, 0x1f, 0x20, 0xec, 0xc7, 0x8f, 0xa2, 0x2e, 0xa3, 0x3e, 0xb8, 0x41,
0x74, 0x14, 0x2b, 0x99, 0xcf, 0xb5, 0xcc, 0xb5, 0xb2, 0x4c, 0x3b, 0x05, 0x1e, 0x44, 0x47, 0xb1,
0x4d, 0x62, 0xd9, 0x1f, 0x41, 0xe4, 0xc3, 0xd4, 0x05, 0xb4, 0xb8, 0xd7, 0x4f, 0xc4, 0x63, 0x07,
0x78, 0x12, 0x47, 0x1c, 0xb6, 0x1e, 0xa3, 0xf5, 0x33, 0x9e, 0x6f, 0x8c, 0xd1, 0x8c, 0x9a, 0xe5,
0x2a, 0x6a, 0x96, 0x53, 0xdf, 0x72, 0xc6, 0xcb, 0x5e, 0x35, 0x33, 0xe3, 0xa5, 0xbf, 0xf1, 0x15,
0xb4, 0xc0, 0x83, 0x7e, 0x12, 0x82, 0x2b, 0xe2, 0x63, 0xd0, 0x23, 0x5e, 0xd5, 0xa9, 0xe9, 0xd8,
0x7d, 0x19, 0xca, 0xbc, 0xdc, 0x7a, 0xed, 0xc9, 0x1f, 0x1b, 0xe7, 0x9e, 0x9c, 0x6e, 0x54, 0x9e,
0x9e, 0x6e, 0x54, 0x7e, 0x3f, 0xdd, 0xa8, 0x7c, 0xf1, 0xe7, 0xc6, 0xb9, 0xf7, 0xae, 0x76, 0x63,
0xd5, 0x22, 0xf5, 0x20, 0xde, 0xc9, 0xe7, 0xd6, 0xdd, 0x9d, 0x62, 0xdb, 0x74, 0x66, 0xd5, 0x38,
0xba, 0xfb, 0x5f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x06, 0x59, 0x70, 0x10, 0x30, 0x0b, 0x00, 0x00,
}
func (m *RequestHeader) Marshal() (dAtA []byte, err error) {

View File

@ -7,6 +7,8 @@ import "rpc.proto";
import "etcd/api/versionpb/version.proto";
import "etcd/api/membershippb/membership.proto";
option go_package = "go.etcd.io/etcd/api/v3/etcdserverpb";
option (gogoproto.marshaler_all) = true;
option (gogoproto.sizer_all) = true;
option (gogoproto.unmarshaler_all) = true;

View File

@ -12,6 +12,7 @@ import (
_ "github.com/gogo/protobuf/gogoproto"
proto "github.com/golang/protobuf/proto"
_ "github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2/options"
authpb "go.etcd.io/etcd/api/v3/authpb"
mvccpb "go.etcd.io/etcd/api/v3/mvccpb"
_ "go.etcd.io/etcd/api/v3/versionpb"
@ -6185,284 +6186,289 @@ func init() {
func init() { proto.RegisterFile("rpc.proto", fileDescriptor_77a6da22d6a3feb1) }
var fileDescriptor_77a6da22d6a3feb1 = []byte{
// 4424 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x3c, 0xdf, 0x6f, 0x1c, 0x49,
0x5a, 0xee, 0x19, 0xcf, 0x8c, 0xe7, 0x9b, 0xf1, 0x78, 0x5c, 0x71, 0xb2, 0x93, 0xd9, 0xc4, 0xf1,
0x76, 0x36, 0xbb, 0xd9, 0xec, 0xae, 0x9d, 0xd8, 0xc9, 0x2d, 0x04, 0xed, 0x72, 0x13, 0x7b, 0x36,
0x31, 0x71, 0x6c, 0x5f, 0x7b, 0x92, 0xbd, 0x5d, 0xa4, 0x1b, 0xda, 0x33, 0x15, 0xbb, 0xcf, 0x33,
0xdd, 0x73, 0xdd, 0x3d, 0x8e, 0x7d, 0x3c, 0xdc, 0x71, 0x70, 0x9c, 0x0e, 0xa4, 0x93, 0x38, 0x24,
0x74, 0x42, 0xf0, 0x82, 0x90, 0xe0, 0xe1, 0x40, 0xf0, 0xc0, 0x03, 0x02, 0x89, 0x07, 0x78, 0x80,
0x07, 0x24, 0x24, 0xfe, 0x01, 0x58, 0xee, 0x89, 0x3f, 0x02, 0xa1, 0xfa, 0xd5, 0x55, 0xdd, 0x5d,
0x6d, 0x7b, 0xcf, 0x5e, 0xdd, 0xcb, 0x66, 0xba, 0xea, 0xfb, 0x55, 0xdf, 0x57, 0xdf, 0xf7, 0x55,
0x7d, 0x5f, 0x79, 0xa1, 0xec, 0x8f, 0x7a, 0x8b, 0x23, 0xdf, 0x0b, 0x3d, 0x54, 0xc5, 0x61, 0xaf,
0x1f, 0x60, 0xff, 0x10, 0xfb, 0xa3, 0xdd, 0xe6, 0xdc, 0x9e, 0xb7, 0xe7, 0xd1, 0x89, 0x25, 0xf2,
0x8b, 0xc1, 0x34, 0x1b, 0x04, 0x66, 0xc9, 0x1e, 0x39, 0x4b, 0xc3, 0xc3, 0x5e, 0x6f, 0xb4, 0xbb,
0x74, 0x70, 0xc8, 0x67, 0x9a, 0xd1, 0x8c, 0x3d, 0x0e, 0xf7, 0x47, 0xbb, 0xf4, 0x1f, 0x3e, 0xb7,
0x10, 0xcd, 0x1d, 0x62, 0x3f, 0x70, 0x3c, 0x77, 0xb4, 0x2b, 0x7e, 0x71, 0x88, 0x6b, 0x7b, 0x9e,
0xb7, 0x37, 0xc0, 0x0c, 0xdf, 0x75, 0xbd, 0xd0, 0x0e, 0x1d, 0xcf, 0x0d, 0xd8, 0xac, 0xf9, 0x23,
0x03, 0x6a, 0x16, 0x0e, 0x46, 0x9e, 0x1b, 0xe0, 0x27, 0xd8, 0xee, 0x63, 0x1f, 0x5d, 0x07, 0xe8,
0x0d, 0xc6, 0x41, 0x88, 0xfd, 0xae, 0xd3, 0x6f, 0x18, 0x0b, 0xc6, 0xed, 0x49, 0xab, 0xcc, 0x47,
0xd6, 0xfb, 0xe8, 0x75, 0x28, 0x0f, 0xf1, 0x70, 0x97, 0xcd, 0xe6, 0xe8, 0xec, 0x14, 0x1b, 0x58,
0xef, 0xa3, 0x26, 0x4c, 0xf9, 0xf8, 0xd0, 0x21, 0xec, 0x1b, 0xf9, 0x05, 0xe3, 0x76, 0xde, 0x8a,
0xbe, 0x09, 0xa2, 0x6f, 0xbf, 0x0c, 0xbb, 0x21, 0xf6, 0x87, 0x8d, 0x49, 0x86, 0x48, 0x06, 0x3a,
0xd8, 0x1f, 0x3e, 0x2c, 0x7d, 0xef, 0xef, 0x1a, 0xf9, 0x95, 0xc5, 0xbb, 0xe6, 0x3f, 0x17, 0xa0,
0x6a, 0xd9, 0xee, 0x1e, 0xb6, 0xf0, 0xb7, 0xc6, 0x38, 0x08, 0x51, 0x1d, 0xf2, 0x07, 0xf8, 0x98,
0xca, 0x51, 0xb5, 0xc8, 0x4f, 0x46, 0xc8, 0xdd, 0xc3, 0x5d, 0xec, 0x32, 0x09, 0xaa, 0x84, 0x90,
0xbb, 0x87, 0xdb, 0x6e, 0x1f, 0xcd, 0x41, 0x61, 0xe0, 0x0c, 0x9d, 0x90, 0xb3, 0x67, 0x1f, 0x31,
0xb9, 0x26, 0x13, 0x72, 0xad, 0x02, 0x04, 0x9e, 0x1f, 0x76, 0x3d, 0xbf, 0x8f, 0xfd, 0x46, 0x61,
0xc1, 0xb8, 0x5d, 0x5b, 0x7e, 0x73, 0x51, 0xb5, 0xd8, 0xa2, 0x2a, 0xd0, 0xe2, 0x8e, 0xe7, 0x87,
0x5b, 0x04, 0xd6, 0x2a, 0x07, 0xe2, 0x27, 0xfa, 0x18, 0x2a, 0x94, 0x48, 0x68, 0xfb, 0x7b, 0x38,
0x6c, 0x14, 0x29, 0x95, 0x5b, 0xa7, 0x50, 0xe9, 0x50, 0x60, 0x8b, 0xb2, 0x67, 0xbf, 0x91, 0x09,
0xd5, 0x00, 0xfb, 0x8e, 0x3d, 0x70, 0xbe, 0x6d, 0xef, 0x0e, 0x70, 0xa3, 0xb4, 0x60, 0xdc, 0x9e,
0xb2, 0x62, 0x63, 0x64, 0xfd, 0x07, 0xf8, 0x38, 0xe8, 0x7a, 0xee, 0xe0, 0xb8, 0x31, 0x45, 0x01,
0xa6, 0xc8, 0xc0, 0x96, 0x3b, 0x38, 0xa6, 0xd6, 0xf3, 0xc6, 0x6e, 0xc8, 0x66, 0xcb, 0x74, 0xb6,
0x4c, 0x47, 0xe8, 0xf4, 0x3d, 0xa8, 0x0f, 0x1d, 0xb7, 0x3b, 0xf4, 0xfa, 0xdd, 0x48, 0x21, 0x40,
0x14, 0xf2, 0xa8, 0xf4, 0x7b, 0xd4, 0x02, 0xf7, 0xac, 0xda, 0xd0, 0x71, 0x9f, 0x79, 0x7d, 0x4b,
0xe8, 0x87, 0xa0, 0xd8, 0x47, 0x71, 0x94, 0x4a, 0x12, 0xc5, 0x3e, 0x52, 0x51, 0x3e, 0x80, 0x4b,
0x84, 0x4b, 0xcf, 0xc7, 0x76, 0x88, 0x25, 0x56, 0x35, 0x8e, 0x35, 0x3b, 0x74, 0xdc, 0x55, 0x0a,
0x12, 0x43, 0xb4, 0x8f, 0x52, 0x88, 0xd3, 0x49, 0x44, 0xfb, 0x28, 0x8e, 0x68, 0x7e, 0x00, 0xe5,
0xc8, 0x2e, 0x68, 0x0a, 0x26, 0x37, 0xb7, 0x36, 0xdb, 0xf5, 0x09, 0x04, 0x50, 0x6c, 0xed, 0xac,
0xb6, 0x37, 0xd7, 0xea, 0x06, 0xaa, 0x40, 0x69, 0xad, 0xcd, 0x3e, 0x72, 0xcd, 0xd2, 0x8f, 0xf9,
0x7e, 0x7b, 0x0a, 0x20, 0x4d, 0x81, 0x4a, 0x90, 0x7f, 0xda, 0xfe, 0xb4, 0x3e, 0x41, 0x80, 0x5f,
0xb4, 0xad, 0x9d, 0xf5, 0xad, 0xcd, 0xba, 0x41, 0xa8, 0xac, 0x5a, 0xed, 0x56, 0xa7, 0x5d, 0xcf,
0x11, 0x88, 0x67, 0x5b, 0x6b, 0xf5, 0x3c, 0x2a, 0x43, 0xe1, 0x45, 0x6b, 0xe3, 0x79, 0xbb, 0x3e,
0x19, 0x11, 0x93, 0xbb, 0xf8, 0x4f, 0x0c, 0x98, 0xe6, 0xe6, 0x66, 0xbe, 0x85, 0xee, 0x43, 0x71,
0x9f, 0xfa, 0x17, 0xdd, 0xc9, 0x95, 0xe5, 0x6b, 0x89, 0xbd, 0x11, 0xf3, 0x41, 0x8b, 0xc3, 0x22,
0x13, 0xf2, 0x07, 0x87, 0x41, 0x23, 0xb7, 0x90, 0xbf, 0x5d, 0x59, 0xae, 0x2f, 0xb2, 0xc8, 0xb0,
0xf8, 0x14, 0x1f, 0xbf, 0xb0, 0x07, 0x63, 0x6c, 0x91, 0x49, 0x84, 0x60, 0x72, 0xe8, 0xf9, 0x98,
0x6e, 0xf8, 0x29, 0x8b, 0xfe, 0x26, 0x5e, 0x40, 0x6d, 0xce, 0x37, 0x3b, 0xfb, 0x90, 0xe2, 0xfd,
0xbb, 0x01, 0xb0, 0x3d, 0x0e, 0xb3, 0x5d, 0x6c, 0x0e, 0x0a, 0x87, 0x84, 0x03, 0x77, 0x2f, 0xf6,
0x41, 0x7d, 0x0b, 0xdb, 0x01, 0x8e, 0x7c, 0x8b, 0x7c, 0xa0, 0x05, 0x28, 0x8d, 0x7c, 0x7c, 0xd8,
0x3d, 0x38, 0xa4, 0xdc, 0xa6, 0xa4, 0x9d, 0x8a, 0x64, 0xfc, 0xe9, 0x21, 0xba, 0x03, 0x55, 0x67,
0xcf, 0xf5, 0x7c, 0xdc, 0x65, 0x44, 0x0b, 0x2a, 0xd8, 0xb2, 0x55, 0x61, 0x93, 0x74, 0x49, 0x0a,
0x2c, 0x63, 0x55, 0xd4, 0xc2, 0x6e, 0x90, 0x39, 0xb9, 0x9e, 0xef, 0x1a, 0x50, 0xa1, 0xeb, 0x39,
0x97, 0xb2, 0x97, 0xe5, 0x42, 0x72, 0x14, 0x2d, 0xa5, 0xf0, 0xd4, 0xd2, 0xa4, 0x08, 0x2e, 0xa0,
0x35, 0x3c, 0xc0, 0x21, 0x3e, 0x4f, 0xf0, 0x52, 0x54, 0x99, 0xd7, 0xaa, 0x52, 0xf2, 0xfb, 0x73,
0x03, 0x2e, 0xc5, 0x18, 0x9e, 0x6b, 0xe9, 0x0d, 0x28, 0xf5, 0x29, 0x31, 0x26, 0x53, 0xde, 0x12,
0x9f, 0xe8, 0x3e, 0x4c, 0x71, 0x91, 0x82, 0x46, 0x5e, 0xbf, 0x0d, 0xa5, 0x94, 0x25, 0x26, 0x65,
0x20, 0xc5, 0xfc, 0x87, 0x1c, 0x94, 0xb9, 0x32, 0xb6, 0x46, 0xa8, 0x05, 0xd3, 0x3e, 0xfb, 0xe8,
0xd2, 0x35, 0x73, 0x19, 0x9b, 0xd9, 0x71, 0xf2, 0xc9, 0x84, 0x55, 0xe5, 0x28, 0x74, 0x18, 0xfd,
0x0a, 0x54, 0x04, 0x89, 0xd1, 0x38, 0xe4, 0x86, 0x6a, 0xc4, 0x09, 0xc8, 0xad, 0xfd, 0x64, 0xc2,
0x02, 0x0e, 0xbe, 0x3d, 0x0e, 0x51, 0x07, 0xe6, 0x04, 0x32, 0x5b, 0x1f, 0x17, 0x23, 0x4f, 0xa9,
0x2c, 0xc4, 0xa9, 0xa4, 0xcd, 0xf9, 0x64, 0xc2, 0x42, 0x1c, 0x5f, 0x99, 0x44, 0x6b, 0x52, 0xa4,
0xf0, 0x88, 0xe5, 0x97, 0x94, 0x48, 0x9d, 0x23, 0x97, 0x13, 0x11, 0xda, 0x5a, 0x51, 0x64, 0xeb,
0x1c, 0xb9, 0x91, 0xca, 0x1e, 0x95, 0xa1, 0xc4, 0x87, 0xcd, 0x7f, 0xcb, 0x01, 0x08, 0x8b, 0x6d,
0x8d, 0xd0, 0x1a, 0xd4, 0x7c, 0xfe, 0x15, 0xd3, 0xdf, 0xeb, 0x5a, 0xfd, 0x71, 0x43, 0x4f, 0x58,
0xd3, 0x02, 0x89, 0x89, 0xfb, 0x11, 0x54, 0x23, 0x2a, 0x52, 0x85, 0x57, 0x35, 0x2a, 0x8c, 0x28,
0x54, 0x04, 0x02, 0x51, 0xe2, 0x27, 0x70, 0x39, 0xc2, 0xd7, 0x68, 0xf1, 0x8d, 0x13, 0xb4, 0x18,
0x11, 0xbc, 0x24, 0x28, 0xa8, 0x7a, 0x7c, 0xac, 0x08, 0x26, 0x15, 0x79, 0x55, 0xa3, 0x48, 0x06,
0xa4, 0x6a, 0x32, 0x92, 0x30, 0xa6, 0x4a, 0x20, 0x69, 0x9f, 0x8d, 0x9b, 0x7f, 0x39, 0x09, 0xa5,
0x55, 0x6f, 0x38, 0xb2, 0x7d, 0xb2, 0x89, 0x8a, 0x3e, 0x0e, 0xc6, 0x83, 0x90, 0x2a, 0xb0, 0xb6,
0x7c, 0x33, 0xce, 0x83, 0x83, 0x89, 0x7f, 0x2d, 0x0a, 0x6a, 0x71, 0x14, 0x82, 0xcc, 0xb3, 0x7c,
0xee, 0x0c, 0xc8, 0x3c, 0xc7, 0x73, 0x14, 0x11, 0x10, 0xf2, 0x32, 0x20, 0x34, 0xa1, 0xc4, 0x0f,
0x6c, 0x2c, 0x58, 0x3f, 0x99, 0xb0, 0xc4, 0x00, 0x7a, 0x07, 0x66, 0x92, 0xa9, 0xb0, 0xc0, 0x61,
0x6a, 0xbd, 0x78, 0xe6, 0xbc, 0x09, 0xd5, 0x58, 0x86, 0x2e, 0x72, 0xb8, 0xca, 0x50, 0xc9, 0xcb,
0x57, 0x44, 0x58, 0x27, 0xc7, 0x8a, 0xea, 0x93, 0x09, 0x11, 0xd8, 0x6f, 0x88, 0xc0, 0x3e, 0xa5,
0x26, 0x5a, 0xa2, 0x57, 0x1e, 0xe3, 0xdf, 0x54, 0xa3, 0xd6, 0x57, 0x09, 0x72, 0x04, 0x24, 0xc3,
0x97, 0x69, 0xc1, 0x74, 0x4c, 0x65, 0x24, 0x47, 0xb6, 0xbf, 0xf6, 0xbc, 0xb5, 0xc1, 0x12, 0xea,
0x63, 0x9a, 0x43, 0xad, 0xba, 0x41, 0x12, 0xf4, 0x46, 0x7b, 0x67, 0xa7, 0x9e, 0x43, 0x57, 0xa0,
0xbc, 0xb9, 0xd5, 0xe9, 0x32, 0xa8, 0x7c, 0xb3, 0xf4, 0xc7, 0x2c, 0x92, 0xc8, 0xfc, 0xfc, 0x69,
0x44, 0x93, 0xa7, 0x68, 0x25, 0x33, 0x4f, 0x28, 0x99, 0xd9, 0x10, 0x99, 0x39, 0x27, 0x33, 0x73,
0x1e, 0x21, 0x28, 0x6c, 0xb4, 0x5b, 0x3b, 0x34, 0x49, 0x33, 0xd2, 0x2b, 0xe9, 0x6c, 0xfd, 0xa8,
0x06, 0x55, 0x66, 0x9e, 0xee, 0xd8, 0x25, 0x87, 0x89, 0x9f, 0x1a, 0x00, 0xd2, 0x61, 0xd1, 0x12,
0x94, 0x7a, 0x4c, 0x84, 0x86, 0x41, 0x23, 0xe0, 0x65, 0xad, 0xc5, 0x2d, 0x01, 0x85, 0xee, 0x41,
0x29, 0x18, 0xf7, 0x7a, 0x38, 0x10, 0x99, 0xfb, 0xb5, 0x64, 0x10, 0xe6, 0x01, 0xd1, 0x12, 0x70,
0x04, 0xe5, 0xa5, 0xed, 0x0c, 0xc6, 0x34, 0x8f, 0x9f, 0x8c, 0xc2, 0xe1, 0x64, 0x8c, 0xfd, 0x33,
0x03, 0x2a, 0x8a, 0x5b, 0xfc, 0x9c, 0x29, 0xe0, 0x1a, 0x94, 0xa9, 0x30, 0xb8, 0xcf, 0x93, 0xc0,
0x94, 0x25, 0x07, 0xd0, 0x57, 0xa0, 0x2c, 0x3c, 0x49, 0xe4, 0x81, 0x86, 0x9e, 0xec, 0xd6, 0xc8,
0x92, 0xa0, 0x52, 0xc8, 0x0e, 0xcc, 0x52, 0x3d, 0xf5, 0xc8, 0xed, 0x43, 0x68, 0x56, 0x3d, 0x96,
0x1b, 0x89, 0x63, 0x79, 0x13, 0xa6, 0x46, 0xfb, 0xc7, 0x81, 0xd3, 0xb3, 0x07, 0x5c, 0x9c, 0xe8,
0x5b, 0x52, 0xdd, 0x01, 0xa4, 0x52, 0x3d, 0x8f, 0x02, 0x24, 0xd1, 0x2b, 0x50, 0x79, 0x62, 0x07,
0xfb, 0x5c, 0x48, 0x39, 0x7e, 0x1f, 0xa6, 0xc9, 0xf8, 0xd3, 0x17, 0x67, 0x10, 0x5f, 0x60, 0xad,
0x98, 0xff, 0x68, 0x40, 0x4d, 0xa0, 0x9d, 0xcb, 0x40, 0x08, 0x26, 0xf7, 0xed, 0x60, 0x9f, 0x2a,
0x63, 0xda, 0xa2, 0xbf, 0xd1, 0x3b, 0x50, 0xef, 0xb1, 0xf5, 0x77, 0x13, 0xf7, 0xae, 0x19, 0x3e,
0x1e, 0xf9, 0xfe, 0x7b, 0x30, 0x4d, 0x50, 0xba, 0xf1, 0x7b, 0x90, 0x70, 0xe3, 0xaf, 0x58, 0xd5,
0x7d, 0xba, 0xe6, 0xa4, 0xf8, 0x36, 0x54, 0x99, 0x32, 0x2e, 0x5a, 0x76, 0xa9, 0xd7, 0x26, 0xcc,
0xec, 0xb8, 0xf6, 0x28, 0xd8, 0xf7, 0xc2, 0x84, 0xce, 0x57, 0xcc, 0xbf, 0x35, 0xa0, 0x2e, 0x27,
0xcf, 0x25, 0xc3, 0xdb, 0x30, 0xe3, 0xe3, 0xa1, 0xed, 0xb8, 0x8e, 0xbb, 0xd7, 0xdd, 0x3d, 0x0e,
0x71, 0xc0, 0xaf, 0xaf, 0xb5, 0x68, 0xf8, 0x11, 0x19, 0x25, 0xc2, 0xee, 0x0e, 0xbc, 0x5d, 0x1e,
0xa4, 0xe9, 0x6f, 0xf4, 0x46, 0x3c, 0x4a, 0x97, 0xa5, 0xde, 0xc4, 0xb8, 0x94, 0xf9, 0x27, 0x39,
0xa8, 0x7e, 0x62, 0x87, 0x3d, 0xb1, 0x83, 0xd0, 0x3a, 0xd4, 0xa2, 0x30, 0x4e, 0x47, 0xb8, 0xdc,
0x89, 0x03, 0x07, 0xc5, 0x11, 0xf7, 0x1a, 0x71, 0xe0, 0x98, 0xee, 0xa9, 0x03, 0x94, 0x94, 0xed,
0xf6, 0xf0, 0x20, 0x22, 0x95, 0xcb, 0x26, 0x45, 0x01, 0x55, 0x52, 0xea, 0x00, 0xfa, 0x3a, 0xd4,
0x47, 0xbe, 0xb7, 0xe7, 0xe3, 0x20, 0x88, 0x88, 0xb1, 0x14, 0x6e, 0x6a, 0x88, 0x6d, 0x73, 0xd0,
0xc4, 0x29, 0xe6, 0xfe, 0x93, 0x09, 0x6b, 0x66, 0x14, 0x9f, 0x93, 0x81, 0x75, 0x46, 0x9e, 0xf7,
0x58, 0x64, 0xfd, 0x41, 0x1e, 0x50, 0x7a, 0x99, 0x5f, 0xf4, 0x98, 0x7c, 0x0b, 0x6a, 0x41, 0x68,
0xfb, 0xa9, 0x3d, 0x3f, 0x4d, 0x47, 0xa3, 0x1d, 0xff, 0x36, 0x44, 0x92, 0x75, 0x5d, 0x2f, 0x74,
0x5e, 0x1e, 0xb3, 0x0b, 0x8a, 0x55, 0x13, 0xc3, 0x9b, 0x74, 0x14, 0x6d, 0x42, 0xe9, 0xa5, 0x33,
0x08, 0xb1, 0x1f, 0x34, 0x0a, 0x0b, 0xf9, 0xdb, 0xb5, 0xe5, 0x77, 0x4f, 0x33, 0xcc, 0xe2, 0xc7,
0x14, 0xbe, 0x73, 0x3c, 0x52, 0x4f, 0xbf, 0x9c, 0x88, 0x7a, 0x8c, 0x2f, 0xea, 0x6f, 0x44, 0x26,
0x4c, 0xbd, 0x22, 0x44, 0xbb, 0x4e, 0x9f, 0xe6, 0xe2, 0xc8, 0x0f, 0xef, 0x5b, 0x25, 0x3a, 0xb1,
0xde, 0x47, 0x37, 0x61, 0xea, 0xa5, 0x6f, 0xef, 0x0d, 0xb1, 0x1b, 0xb2, 0x5b, 0xbe, 0x84, 0x89,
0x26, 0xcc, 0x45, 0x00, 0x29, 0x0a, 0xc9, 0x7c, 0x9b, 0x5b, 0xdb, 0xcf, 0x3b, 0xf5, 0x09, 0x54,
0x85, 0xa9, 0xcd, 0xad, 0xb5, 0xf6, 0x46, 0x9b, 0xe4, 0x46, 0x91, 0xf3, 0xee, 0x49, 0xa7, 0x6b,
0x09, 0x43, 0xc4, 0xf6, 0x84, 0x2a, 0x97, 0x11, 0xbf, 0x74, 0x0b, 0xb9, 0x04, 0x89, 0x7b, 0xe6,
0x0d, 0x98, 0xd3, 0x6d, 0x0d, 0x01, 0x70, 0xdf, 0xfc, 0x97, 0x1c, 0x4c, 0x73, 0x47, 0x38, 0x97,
0xe7, 0x5e, 0x55, 0xa4, 0xe2, 0xd7, 0x13, 0xa1, 0xa4, 0x06, 0x94, 0x98, 0x83, 0xf4, 0xf9, 0xfd,
0x57, 0x7c, 0x92, 0xe0, 0xcc, 0xf6, 0x3b, 0xee, 0x73, 0xb3, 0x47, 0xdf, 0xda, 0xb0, 0x59, 0xc8,
0x0c, 0x9b, 0x91, 0xc3, 0xd9, 0x01, 0x3f, 0x58, 0x95, 0xa5, 0x29, 0xaa, 0xc2, 0xa9, 0xc8, 0x64,
0xcc, 0x66, 0xa5, 0x0c, 0x9b, 0xa1, 0x5b, 0x50, 0xc4, 0x87, 0xd8, 0x0d, 0x83, 0x46, 0x85, 0x26,
0xd2, 0x69, 0x71, 0xa1, 0x6a, 0x93, 0x51, 0x8b, 0x4f, 0x4a, 0x53, 0x7d, 0x04, 0xb3, 0xf4, 0xbe,
0xfb, 0xd8, 0xb7, 0x5d, 0xf5, 0xce, 0xde, 0xe9, 0x6c, 0xf0, 0xb4, 0x43, 0x7e, 0xa2, 0x1a, 0xe4,
0xd6, 0xd7, 0xb8, 0x7e, 0x72, 0xeb, 0x6b, 0x12, 0xff, 0xf7, 0x0d, 0x40, 0x2a, 0x81, 0x73, 0xd9,
0x22, 0xc1, 0x45, 0xc8, 0x91, 0x97, 0x72, 0xcc, 0x41, 0x01, 0xfb, 0xbe, 0xe7, 0xb3, 0x40, 0x69,
0xb1, 0x0f, 0x29, 0xcd, 0xfb, 0x5c, 0x18, 0x0b, 0x1f, 0x7a, 0x07, 0x51, 0x04, 0x60, 0x64, 0x8d,
0xb4, 0xf0, 0x1d, 0xb8, 0x14, 0x03, 0xbf, 0x98, 0x14, 0xbf, 0x05, 0x33, 0x94, 0xea, 0xea, 0x3e,
0xee, 0x1d, 0x8c, 0x3c, 0xc7, 0x4d, 0x49, 0x80, 0x6e, 0x92, 0xd8, 0x25, 0xd2, 0x05, 0x59, 0x22,
0x5b, 0x73, 0x35, 0x1a, 0xec, 0x74, 0x36, 0xe4, 0x56, 0xdf, 0x85, 0x2b, 0x09, 0x82, 0x62, 0x65,
0xbf, 0x0a, 0x95, 0x5e, 0x34, 0x18, 0xf0, 0x13, 0xe4, 0xf5, 0xb8, 0xb8, 0x49, 0x54, 0x15, 0x43,
0xf2, 0xf8, 0x3a, 0xbc, 0x96, 0xe2, 0x71, 0x11, 0xea, 0xb8, 0x6f, 0xde, 0x85, 0xcb, 0x94, 0xf2,
0x53, 0x8c, 0x47, 0xad, 0x81, 0x73, 0x78, 0xba, 0x59, 0x8e, 0xf9, 0x7a, 0x15, 0x8c, 0x2f, 0x77,
0x5b, 0x49, 0xd6, 0x6d, 0xce, 0xba, 0xe3, 0x0c, 0x71, 0xc7, 0xdb, 0xc8, 0x96, 0x96, 0x24, 0xf2,
0x03, 0x7c, 0x1c, 0xf0, 0xe3, 0x23, 0xfd, 0x2d, 0xa3, 0xd7, 0x5f, 0x1b, 0x5c, 0x9d, 0x2a, 0x9d,
0x2f, 0xd9, 0x35, 0xe6, 0x01, 0xf6, 0x88, 0x0f, 0xe2, 0x3e, 0x99, 0x60, 0xb5, 0x39, 0x65, 0x24,
0x12, 0x98, 0x64, 0xa1, 0x6a, 0x52, 0xe0, 0xeb, 0xdc, 0x71, 0xe8, 0x7f, 0x82, 0xd4, 0x49, 0xe9,
0x2d, 0xa8, 0xd0, 0x99, 0x9d, 0xd0, 0x0e, 0xc7, 0x41, 0x96, 0xe5, 0x56, 0xcc, 0x1f, 0x18, 0xdc,
0xa3, 0x04, 0x9d, 0x73, 0xad, 0xf9, 0x1e, 0x14, 0xe9, 0x0d, 0x51, 0xdc, 0x74, 0xae, 0x6a, 0x36,
0x36, 0x93, 0xc8, 0xe2, 0x80, 0xca, 0x39, 0xc9, 0x80, 0xe2, 0x33, 0xda, 0x39, 0x50, 0xa4, 0x9d,
0x14, 0x96, 0x73, 0xed, 0x21, 0x2b, 0x3f, 0x96, 0x2d, 0xfa, 0x9b, 0x5e, 0x08, 0x30, 0xf6, 0x9f,
0x5b, 0x1b, 0xec, 0x06, 0x52, 0xb6, 0xa2, 0x6f, 0xa2, 0xd8, 0xde, 0xc0, 0xc1, 0x6e, 0x48, 0x67,
0x27, 0xe9, 0xac, 0x32, 0x82, 0x6e, 0x41, 0xd9, 0x09, 0x36, 0xb0, 0xed, 0xbb, 0xbc, 0xc4, 0xaf,
0x04, 0x66, 0x39, 0x23, 0xf7, 0xd8, 0x37, 0xa0, 0xce, 0x24, 0x6b, 0xf5, 0xfb, 0xca, 0x69, 0x3f,
0xe2, 0x6f, 0x24, 0xf8, 0xc7, 0xe8, 0xe7, 0x4e, 0xa7, 0xff, 0x37, 0x06, 0xcc, 0x2a, 0x0c, 0xce,
0x65, 0x82, 0xf7, 0xa0, 0xc8, 0xfa, 0x2f, 0xfc, 0x28, 0x38, 0x17, 0xc7, 0x62, 0x6c, 0x2c, 0x0e,
0x83, 0x16, 0xa1, 0xc4, 0x7e, 0x89, 0x6b, 0x9c, 0x1e, 0x5c, 0x00, 0x49, 0x91, 0x17, 0xe1, 0x12,
0x9f, 0xc3, 0x43, 0x4f, 0xe7, 0x73, 0x93, 0xf1, 0x08, 0xf1, 0x7d, 0x03, 0xe6, 0xe2, 0x08, 0xe7,
0x5a, 0xa5, 0x22, 0x77, 0xee, 0x0b, 0xc9, 0xfd, 0x6b, 0x42, 0xee, 0xe7, 0xa3, 0xbe, 0x72, 0xe4,
0x4c, 0xee, 0x38, 0xd5, 0xba, 0xb9, 0xb8, 0x75, 0x25, 0xad, 0x1f, 0x45, 0x6b, 0x12, 0xc4, 0xce,
0xb5, 0xa6, 0x0f, 0xce, 0xb4, 0x26, 0xe5, 0x08, 0x96, 0x5a, 0xdc, 0xba, 0xd8, 0x46, 0x1b, 0x4e,
0x10, 0x65, 0x9c, 0x77, 0xa1, 0x3a, 0x70, 0x5c, 0x6c, 0xfb, 0xbc, 0x87, 0x64, 0xa8, 0xfb, 0xf1,
0x81, 0x15, 0x9b, 0x94, 0xa4, 0x7e, 0xdb, 0x00, 0xa4, 0xd2, 0xfa, 0xc5, 0x58, 0x6b, 0x49, 0x28,
0x78, 0xdb, 0xf7, 0x86, 0x5e, 0x78, 0xda, 0x36, 0xbb, 0x6f, 0xfe, 0xae, 0x01, 0x97, 0x13, 0x18,
0xbf, 0x08, 0xc9, 0xef, 0x9b, 0xd7, 0x60, 0x76, 0x0d, 0x8b, 0x33, 0x5e, 0xaa, 0x76, 0xb0, 0x03,
0x48, 0x9d, 0xbd, 0x98, 0x53, 0xcc, 0x2f, 0xc1, 0xec, 0x33, 0xef, 0x90, 0x04, 0x72, 0x32, 0x2d,
0xc3, 0x14, 0x2b, 0x66, 0x45, 0xfa, 0x8a, 0xbe, 0x65, 0xe8, 0xdd, 0x01, 0xa4, 0x62, 0x5e, 0x84,
0x38, 0x2b, 0xe6, 0x7f, 0x1b, 0x50, 0x6d, 0x0d, 0x6c, 0x7f, 0x28, 0x44, 0xf9, 0x08, 0x8a, 0xac,
0x32, 0xc3, 0xcb, 0xac, 0x6f, 0xc5, 0xe9, 0xa9, 0xb0, 0xec, 0xa3, 0xc5, 0xea, 0x38, 0x1c, 0x8b,
0x2c, 0x85, 0x77, 0x96, 0xd7, 0x12, 0x9d, 0xe6, 0x35, 0xf4, 0x3e, 0x14, 0x6c, 0x82, 0x42, 0xd3,
0x6b, 0x2d, 0x59, 0x2e, 0xa3, 0xd4, 0xc8, 0x95, 0xc8, 0x62, 0x50, 0xe6, 0x87, 0x50, 0x51, 0x38,
0xa0, 0x12, 0xe4, 0x1f, 0xb7, 0xf9, 0x35, 0xa9, 0xb5, 0xda, 0x59, 0x7f, 0xc1, 0x4a, 0x88, 0x35,
0x80, 0xb5, 0x76, 0xf4, 0x9d, 0xd3, 0x34, 0xf6, 0x6c, 0x4e, 0x87, 0xe7, 0x2d, 0x55, 0x42, 0x23,
0x4b, 0xc2, 0xdc, 0x59, 0x24, 0x94, 0x2c, 0x7e, 0xcb, 0x80, 0x69, 0xae, 0x9a, 0xf3, 0xa6, 0x66,
0x4a, 0x39, 0x23, 0x35, 0x2b, 0xcb, 0xb0, 0x38, 0xa0, 0x94, 0xe1, 0x9f, 0x0c, 0xa8, 0xaf, 0x79,
0xaf, 0xdc, 0x3d, 0xdf, 0xee, 0x47, 0x3e, 0xf8, 0x71, 0xc2, 0x9c, 0x8b, 0x89, 0x4a, 0x7f, 0x02,
0x5e, 0x0e, 0x24, 0xcc, 0xda, 0x90, 0xb5, 0x14, 0x96, 0xdf, 0xc5, 0xa7, 0xf9, 0x55, 0x98, 0x49,
0x20, 0x11, 0x03, 0xbd, 0x68, 0x6d, 0xac, 0xaf, 0x11, 0x83, 0xd0, 0x7a, 0x6f, 0x7b, 0xb3, 0xf5,
0x68, 0xa3, 0xcd, 0xbb, 0xb2, 0xad, 0xcd, 0xd5, 0xf6, 0x86, 0x34, 0xd4, 0x03, 0xb1, 0x82, 0x07,
0xe6, 0x00, 0x66, 0x15, 0x81, 0xce, 0xdb, 0x1c, 0xd3, 0xcb, 0x2b, 0xb9, 0x35, 0x60, 0x9a, 0x9f,
0x72, 0x92, 0x8e, 0xff, 0xd3, 0x3c, 0xd4, 0xc4, 0xd4, 0x97, 0x23, 0x05, 0xba, 0x02, 0xc5, 0xfe,
0xee, 0x8e, 0xf3, 0x6d, 0xd1, 0x97, 0xe5, 0x5f, 0x64, 0x7c, 0xc0, 0xf8, 0xb0, 0xd7, 0x16, 0xfc,
0x0b, 0x5d, 0x63, 0x0f, 0x31, 0xd6, 0xdd, 0x3e, 0x3e, 0xa2, 0x87, 0xa1, 0x49, 0x4b, 0x0e, 0xd0,
0xa2, 0x26, 0x7f, 0x95, 0x41, 0xef, 0xba, 0xca, 0x2b, 0x0d, 0xb4, 0x02, 0x75, 0xf2, 0xbb, 0x35,
0x1a, 0x0d, 0x1c, 0xdc, 0x67, 0x04, 0xc8, 0x35, 0x77, 0x52, 0x9e, 0x76, 0x52, 0x00, 0xe8, 0x06,
0x14, 0xe9, 0x15, 0x30, 0x68, 0x4c, 0x91, 0xbc, 0x2a, 0x41, 0xf9, 0x30, 0x7a, 0x07, 0x2a, 0x4c,
0xe2, 0x75, 0xf7, 0x79, 0x80, 0xe9, 0x9b, 0x05, 0xa5, 0x1e, 0xa2, 0xce, 0xc5, 0xcf, 0x59, 0x90,
0x75, 0xce, 0x42, 0x4b, 0x50, 0x0b, 0x42, 0xcf, 0xb7, 0xf7, 0xf0, 0x0b, 0xae, 0xb2, 0x4a, 0xbc,
0x68, 0x97, 0x98, 0x96, 0xe6, 0xba, 0x06, 0xb3, 0xad, 0x71, 0xb8, 0xdf, 0x76, 0x49, 0x72, 0x4c,
0x19, 0xf3, 0x3a, 0x20, 0x32, 0xbb, 0xe6, 0x04, 0xda, 0x69, 0x8e, 0xac, 0xdd, 0x09, 0x0f, 0xcc,
0x4d, 0xb8, 0x44, 0x66, 0xb1, 0x1b, 0x3a, 0x3d, 0xe5, 0x20, 0x22, 0x8e, 0xba, 0x46, 0xe2, 0xa8,
0x6b, 0x07, 0xc1, 0x2b, 0xcf, 0xef, 0x73, 0x63, 0x47, 0xdf, 0x92, 0xdb, 0xdf, 0x1b, 0x4c, 0x9a,
0xe7, 0x41, 0xec, 0x98, 0xfa, 0x05, 0xe9, 0xa1, 0x5f, 0x86, 0x92, 0x37, 0xa2, 0x4f, 0x82, 0x78,
0xf5, 0xef, 0xca, 0x22, 0x7b, 0x66, 0xb4, 0xc8, 0x09, 0x6f, 0xb1, 0x59, 0xa5, 0x42, 0xc5, 0xe1,
0x89, 0x9a, 0xf7, 0xed, 0x60, 0x1f, 0xf7, 0xb7, 0x05, 0xf1, 0x58, 0x6d, 0xf4, 0x81, 0x95, 0x98,
0x96, 0xb2, 0xdf, 0x93, 0xa2, 0x3f, 0xc6, 0xe1, 0x09, 0xa2, 0xab, 0xd5, 0xf7, 0xcb, 0x02, 0x85,
0x37, 0x0d, 0xcf, 0x82, 0xf5, 0x43, 0x03, 0xae, 0x0b, 0xb4, 0xd5, 0x7d, 0xdb, 0xdd, 0xc3, 0x42,
0x98, 0x9f, 0x57, 0x5f, 0xe9, 0x45, 0xe7, 0xcf, 0xb8, 0xe8, 0xa7, 0xd0, 0x88, 0x16, 0x4d, 0x2b,
0x31, 0xde, 0x40, 0x5d, 0xc4, 0x38, 0xe0, 0x11, 0xa1, 0x6c, 0xd1, 0xdf, 0x64, 0xcc, 0xf7, 0x06,
0xd1, 0x25, 0x88, 0xfc, 0x96, 0xc4, 0x36, 0xe0, 0xaa, 0x20, 0xc6, 0x4b, 0x23, 0x71, 0x6a, 0xa9,
0x35, 0x9d, 0x48, 0x8d, 0xdb, 0x83, 0xd0, 0x38, 0x79, 0x2b, 0x69, 0x51, 0xe2, 0x26, 0xa4, 0x5c,
0x0c, 0x1d, 0x97, 0x79, 0xe6, 0x01, 0x44, 0x66, 0xe5, 0xbc, 0x9a, 0x9a, 0x27, 0x24, 0xb5, 0xf3,
0x7c, 0x0b, 0x90, 0xf9, 0xd4, 0x16, 0xc8, 0xe6, 0x8a, 0x61, 0x3e, 0x12, 0x94, 0xa8, 0x7d, 0x1b,
0xfb, 0x43, 0x27, 0x08, 0x94, 0x36, 0x94, 0x4e, 0x5d, 0x6f, 0xc1, 0xe4, 0x08, 0xf3, 0xe4, 0x5d,
0x59, 0x46, 0xc2, 0x27, 0x14, 0x64, 0x3a, 0x2f, 0xd9, 0x0c, 0xe1, 0x86, 0x60, 0xc3, 0x0c, 0xa2,
0xe5, 0x93, 0x14, 0x53, 0x94, 0xbe, 0x73, 0x19, 0xa5, 0xef, 0x7c, 0xbc, 0xf4, 0x1d, 0x3b, 0x50,
0xaa, 0x81, 0xea, 0x62, 0x0e, 0x94, 0x1d, 0x66, 0x80, 0x28, 0xbe, 0x5d, 0x0c, 0xd5, 0x3f, 0xe0,
0x81, 0xea, 0xa2, 0xd2, 0x20, 0xa6, 0x6b, 0x16, 0x4d, 0x4a, 0xf1, 0x89, 0x4c, 0xa8, 0x12, 0x23,
0x59, 0x6a, 0x4f, 0x60, 0xd2, 0x8a, 0x8d, 0xc9, 0x60, 0x7c, 0x00, 0x73, 0xf1, 0x60, 0x7c, 0x2e,
0xa1, 0xe6, 0xa0, 0x10, 0x7a, 0x07, 0x58, 0x64, 0x66, 0xf6, 0x91, 0x52, 0x6b, 0x14, 0xa8, 0x2f,
0x46, 0xad, 0xdf, 0x94, 0x54, 0xa9, 0x03, 0x9e, 0x77, 0x05, 0x64, 0x3b, 0x8a, 0xbb, 0x2f, 0xfb,
0x90, 0xbc, 0x3e, 0x81, 0x2b, 0xc9, 0xe0, 0x7b, 0x31, 0x8b, 0xe8, 0x32, 0xe7, 0xd4, 0x85, 0xe7,
0x8b, 0x61, 0xf0, 0x99, 0x8c, 0x93, 0x4a, 0xd0, 0xbd, 0x18, 0xda, 0xbf, 0x0e, 0x4d, 0x5d, 0x0c,
0xbe, 0x50, 0x5f, 0x8c, 0x42, 0xf2, 0xc5, 0x50, 0xfd, 0xbe, 0x21, 0xc9, 0xaa, 0xbb, 0xe6, 0xc3,
0x2f, 0x42, 0x56, 0xe4, 0xba, 0xbb, 0xd1, 0xf6, 0x59, 0x8a, 0xa2, 0x65, 0x5e, 0x1f, 0x2d, 0x25,
0x0a, 0x05, 0x14, 0xfe, 0x27, 0x43, 0xfd, 0x97, 0xb9, 0x7b, 0x39, 0x33, 0x99, 0x77, 0xce, 0xcb,
0x8c, 0xa4, 0xe7, 0x88, 0x19, 0xfd, 0x48, 0xb9, 0x8a, 0x9a, 0xa4, 0x2e, 0xc6, 0x74, 0xbf, 0x21,
0x13, 0x4c, 0x2a, 0x8f, 0x5d, 0x0c, 0x07, 0x1b, 0x16, 0xb2, 0x53, 0xd8, 0x85, 0xb0, 0xb8, 0xd3,
0x82, 0x72, 0x74, 0xf3, 0x55, 0xde, 0xe9, 0x56, 0xa0, 0xb4, 0xb9, 0xb5, 0xb3, 0xdd, 0x5a, 0x25,
0x17, 0xbb, 0x39, 0x28, 0xad, 0x6e, 0x59, 0xd6, 0xf3, 0xed, 0x0e, 0xb9, 0xd9, 0x25, 0x9f, 0xed,
0x2c, 0xff, 0x2c, 0x0f, 0xb9, 0xa7, 0x2f, 0xd0, 0xa7, 0x50, 0x60, 0xcf, 0xc6, 0x4e, 0x78, 0x3d,
0xd8, 0x3c, 0xe9, 0x65, 0x9c, 0xf9, 0xda, 0xf7, 0xfe, 0xf3, 0x67, 0x7f, 0x98, 0x9b, 0x35, 0xab,
0x4b, 0x87, 0x2b, 0x4b, 0x07, 0x87, 0x4b, 0x34, 0xc9, 0x3e, 0x34, 0xee, 0xa0, 0xaf, 0x41, 0x7e,
0x7b, 0x1c, 0xa2, 0xcc, 0x57, 0x85, 0xcd, 0xec, 0xc7, 0x72, 0xe6, 0x65, 0x4a, 0x74, 0xc6, 0x04,
0x4e, 0x74, 0x34, 0x0e, 0x09, 0xc9, 0x6f, 0x41, 0x45, 0x7d, 0xea, 0x76, 0xea, 0x53, 0xc3, 0xe6,
0xe9, 0xcf, 0xe8, 0xcc, 0xeb, 0x94, 0xd5, 0x6b, 0x26, 0xe2, 0xac, 0xd8, 0x63, 0x3c, 0x75, 0x15,
0x9d, 0x23, 0x17, 0x65, 0x3e, 0x44, 0x6c, 0x66, 0xbf, 0xac, 0x4b, 0xad, 0x22, 0x3c, 0x72, 0x09,
0xc9, 0x6f, 0xf2, 0x27, 0x74, 0xbd, 0x10, 0xdd, 0xd0, 0xbc, 0x81, 0x52, 0xdf, 0xf6, 0x34, 0x17,
0xb2, 0x01, 0x38, 0x93, 0x6b, 0x94, 0xc9, 0x15, 0x73, 0x96, 0x33, 0xe9, 0x45, 0x20, 0x0f, 0x8d,
0x3b, 0xcb, 0x3d, 0x28, 0xd0, 0xde, 0x31, 0xfa, 0x4c, 0xfc, 0x68, 0x6a, 0xba, 0xf2, 0x19, 0x86,
0x8e, 0x75, 0x9d, 0xcd, 0x39, 0xca, 0xa8, 0x66, 0x96, 0x09, 0x23, 0xda, 0x39, 0x7e, 0x68, 0xdc,
0xb9, 0x6d, 0xdc, 0x35, 0x96, 0xff, 0xaa, 0x00, 0x05, 0xda, 0xa3, 0x40, 0x07, 0x00, 0xb2, 0x47,
0x9a, 0x5c, 0x5d, 0xaa, 0xfd, 0x9a, 0x5c, 0x5d, 0xba, 0xbd, 0x6a, 0x36, 0x29, 0xd3, 0x39, 0x73,
0x86, 0x30, 0xa5, 0xad, 0x8f, 0x25, 0xda, 0xe9, 0x21, 0x7a, 0xfc, 0xa1, 0xc1, 0x9b, 0x35, 0xcc,
0xcd, 0x90, 0x8e, 0x5a, 0xac, 0x3f, 0x9a, 0xdc, 0x0e, 0x9a, 0x96, 0xa8, 0xf9, 0x80, 0x32, 0x5c,
0x32, 0xeb, 0x92, 0xa1, 0x4f, 0x21, 0x1e, 0x1a, 0x77, 0x3e, 0x6b, 0x98, 0x97, 0xb8, 0x96, 0x13,
0x33, 0xe8, 0x3b, 0x50, 0x8b, 0x77, 0xf2, 0xd0, 0x4d, 0x0d, 0xaf, 0x64, 0x67, 0xb0, 0xf9, 0xe6,
0xc9, 0x40, 0x5c, 0xa6, 0x79, 0x2a, 0x13, 0x67, 0xce, 0x38, 0x1f, 0x60, 0x3c, 0xb2, 0x09, 0x10,
0xb7, 0x01, 0xfa, 0x53, 0x83, 0x37, 0x63, 0x65, 0x23, 0x0e, 0xe9, 0xa8, 0xa7, 0xfa, 0x7d, 0xcd,
0x5b, 0xa7, 0x40, 0x71, 0x21, 0x3e, 0xa4, 0x42, 0x7c, 0x60, 0xce, 0x49, 0x21, 0x42, 0x67, 0x88,
0x43, 0x8f, 0x4b, 0xf1, 0xd9, 0x35, 0xf3, 0xb5, 0x98, 0x72, 0x62, 0xb3, 0xd2, 0x58, 0xac, 0x61,
0xa6, 0x35, 0x56, 0xac, 0x27, 0xa7, 0x35, 0x56, 0xbc, 0xdb, 0xa6, 0x33, 0x16, 0x6f, 0x8f, 0x69,
0x8c, 0x15, 0xcd, 0x2c, 0xff, 0xef, 0x24, 0x94, 0x56, 0xd9, 0x9f, 0xe2, 0x20, 0x0f, 0xca, 0x51,
0x0b, 0x09, 0xcd, 0xeb, 0xaa, 0xd4, 0xf2, 0x2a, 0xd7, 0xbc, 0x91, 0x39, 0xcf, 0x05, 0x7a, 0x83,
0x0a, 0xf4, 0xba, 0x79, 0x85, 0x70, 0xe6, 0x7f, 0xed, 0xb3, 0xc4, 0x6a, 0x99, 0x4b, 0x76, 0xbf,
0x4f, 0x14, 0xf1, 0x9b, 0x50, 0x55, 0x1b, 0x3a, 0xe8, 0x0d, 0x6d, 0x65, 0x5c, 0xed, 0x0e, 0x35,
0xcd, 0x93, 0x40, 0x38, 0xe7, 0x37, 0x29, 0xe7, 0x79, 0xf3, 0xaa, 0x86, 0xb3, 0x4f, 0x41, 0x63,
0xcc, 0x59, 0xe7, 0x45, 0xcf, 0x3c, 0xd6, 0xe2, 0xd1, 0x33, 0x8f, 0x37, 0x6e, 0x4e, 0x64, 0x3e,
0xa6, 0xa0, 0x84, 0x79, 0x00, 0x20, 0x5b, 0x23, 0x48, 0xab, 0x4b, 0xe5, 0xc2, 0x9a, 0x0c, 0x0e,
0xe9, 0xae, 0x8a, 0x69, 0x52, 0xb6, 0x7c, 0xdf, 0x25, 0xd8, 0x0e, 0x9c, 0x20, 0x64, 0x8e, 0x39,
0x1d, 0x6b, 0x6c, 0x20, 0xed, 0x7a, 0xe2, 0x7d, 0x92, 0xe6, 0xcd, 0x13, 0x61, 0x38, 0xf7, 0x5b,
0x94, 0xfb, 0x0d, 0xb3, 0xa9, 0xe1, 0x3e, 0x62, 0xb0, 0x64, 0xb3, 0xfd, 0x5f, 0x11, 0x2a, 0xcf,
0x6c, 0xc7, 0x0d, 0xb1, 0x6b, 0xbb, 0x3d, 0x8c, 0x76, 0xa1, 0x40, 0x73, 0x77, 0x32, 0x10, 0xab,
0x75, 0xfc, 0x64, 0x20, 0x8e, 0x15, 0xb2, 0xcd, 0x05, 0xca, 0xb8, 0x69, 0x5e, 0x26, 0x8c, 0x87,
0x92, 0xf4, 0x12, 0x2b, 0x81, 0x1b, 0x77, 0xd0, 0x4b, 0x28, 0xf2, 0x06, 0x76, 0x82, 0x50, 0xac,
0xa8, 0xd6, 0xbc, 0xa6, 0x9f, 0xd4, 0xed, 0x65, 0x95, 0x4d, 0x40, 0xe1, 0x08, 0x9f, 0x43, 0x00,
0xd9, 0x8f, 0x49, 0x5a, 0x34, 0xd5, 0xc7, 0x69, 0x2e, 0x64, 0x03, 0xe8, 0x74, 0xaa, 0xf2, 0xec,
0x47, 0xb0, 0x84, 0xef, 0x37, 0x60, 0xf2, 0x89, 0x1d, 0xec, 0xa3, 0x44, 0xee, 0x55, 0xde, 0x9b,
0x36, 0x9b, 0xba, 0x29, 0xce, 0xe5, 0x06, 0xe5, 0x72, 0x95, 0x85, 0x32, 0x95, 0x0b, 0x7d, 0x51,
0x69, 0xdc, 0x41, 0x7d, 0x28, 0xb2, 0xc7, 0xa6, 0x49, 0xfd, 0xc5, 0x5e, 0xae, 0x26, 0xf5, 0x17,
0x7f, 0x9f, 0x7a, 0x3a, 0x97, 0x11, 0x4c, 0x89, 0x47, 0x99, 0x28, 0xf1, 0x94, 0x25, 0xf1, 0x92,
0xb3, 0x39, 0x9f, 0x35, 0xcd, 0x79, 0xdd, 0xa4, 0xbc, 0xae, 0x9b, 0x8d, 0x94, 0xad, 0x38, 0xe4,
0x43, 0xe3, 0xce, 0x5d, 0x03, 0x7d, 0x07, 0x40, 0x36, 0xac, 0x52, 0x1e, 0x98, 0x6c, 0x82, 0xa5,
0x3c, 0x30, 0xd5, 0xeb, 0x32, 0x17, 0x29, 0xdf, 0xdb, 0xe6, 0xcd, 0x24, 0xdf, 0xd0, 0xb7, 0xdd,
0xe0, 0x25, 0xf6, 0xdf, 0x67, 0xd5, 0xf2, 0x60, 0xdf, 0x19, 0x91, 0x25, 0xfb, 0x50, 0x8e, 0xfa,
0x09, 0xc9, 0x68, 0x9b, 0xec, 0x7c, 0x24, 0xa3, 0x6d, 0xaa, 0x11, 0x11, 0x0f, 0x3b, 0xb1, 0xdd,
0x22, 0x40, 0x89, 0x03, 0xfe, 0x45, 0x1d, 0x26, 0xc9, 0x81, 0x9c, 0x1c, 0x4e, 0x64, 0xb1, 0x27,
0xb9, 0xfa, 0x54, 0xbd, 0x3a, 0xb9, 0xfa, 0x74, 0x9d, 0x28, 0x7e, 0x38, 0x21, 0x97, 0xb5, 0x25,
0x56, 0x45, 0x21, 0x2b, 0xf5, 0xa0, 0xa2, 0x14, 0x81, 0x90, 0x86, 0x58, 0xbc, 0xfe, 0x9d, 0x4c,
0x77, 0x9a, 0x0a, 0x92, 0xf9, 0x3a, 0xe5, 0x77, 0x99, 0xa5, 0x3b, 0xca, 0xaf, 0xcf, 0x20, 0x08,
0x43, 0xbe, 0x3a, 0xee, 0xf7, 0x9a, 0xd5, 0xc5, 0x7d, 0x7f, 0x21, 0x1b, 0x20, 0x73, 0x75, 0xd2,
0xf1, 0x5f, 0x41, 0x55, 0x2d, 0xfc, 0x20, 0x8d, 0xf0, 0x89, 0x0a, 0x7d, 0x32, 0x8f, 0xe8, 0xea,
0x46, 0xf1, 0xc8, 0x46, 0x59, 0xda, 0x0a, 0x18, 0x61, 0x3c, 0x80, 0x12, 0x2f, 0x00, 0xe9, 0x54,
0x1a, 0x2f, 0xe2, 0xeb, 0x54, 0x9a, 0xa8, 0x1e, 0xc5, 0x4f, 0xcf, 0x94, 0x23, 0xb9, 0x88, 0x8a,
0x5c, 0xcd, 0xb9, 0x3d, 0xc6, 0x61, 0x16, 0x37, 0x59, 0xb4, 0xcd, 0xe2, 0xa6, 0xd4, 0x07, 0xb2,
0xb8, 0xed, 0xe1, 0x90, 0xc7, 0x03, 0x71, 0xb9, 0x46, 0x19, 0xc4, 0xd4, 0xfc, 0x68, 0x9e, 0x04,
0xa2, 0xbb, 0xdc, 0x48, 0x86, 0x22, 0x39, 0x1e, 0x01, 0xc8, 0x62, 0x54, 0xf2, 0xc4, 0xaa, 0xed,
0x13, 0x24, 0x4f, 0xac, 0xfa, 0x7a, 0x56, 0x3c, 0xf6, 0x49, 0xbe, 0xec, 0x6e, 0x45, 0x38, 0xff,
0xd8, 0x00, 0x94, 0x2e, 0x57, 0xa1, 0x77, 0xf5, 0xd4, 0xb5, 0x3d, 0x87, 0xe6, 0x7b, 0x67, 0x03,
0xd6, 0xa5, 0x33, 0x29, 0x52, 0x8f, 0x42, 0x8f, 0x5e, 0x11, 0xa1, 0xbe, 0x6b, 0xc0, 0x74, 0xac,
0xc4, 0x85, 0xde, 0xca, 0xb0, 0x69, 0xa2, 0xf1, 0xd0, 0x7c, 0xfb, 0x54, 0x38, 0xdd, 0x51, 0x5e,
0xd9, 0x01, 0xe2, 0x4e, 0xf3, 0x3b, 0x06, 0xd4, 0xe2, 0x95, 0x30, 0x94, 0x41, 0x3b, 0xd5, 0xaf,
0x68, 0xde, 0x3e, 0x1d, 0xf0, 0x64, 0xf3, 0xc8, 0xeb, 0xcc, 0x00, 0x4a, 0xbc, 0x64, 0xa6, 0xdb,
0xf8, 0xf1, 0x06, 0x87, 0x6e, 0xe3, 0x27, 0xea, 0x6d, 0x9a, 0x8d, 0xef, 0x7b, 0x03, 0xac, 0xb8,
0x19, 0xaf, 0xa4, 0x65, 0x71, 0x3b, 0xd9, 0xcd, 0x12, 0x65, 0xb8, 0x2c, 0x6e, 0xd2, 0xcd, 0x44,
0xc1, 0x0c, 0x65, 0x10, 0x3b, 0xc5, 0xcd, 0x92, 0xf5, 0x36, 0x8d, 0x9b, 0x51, 0x86, 0x8a, 0x9b,
0xc9, 0x42, 0x96, 0xce, 0xcd, 0x52, 0xbd, 0x18, 0x9d, 0x9b, 0xa5, 0x6b, 0x61, 0x1a, 0x3b, 0x52,
0xbe, 0x31, 0x37, 0xbb, 0xa4, 0x29, 0x75, 0xa1, 0xf7, 0x32, 0x94, 0xa8, 0xed, 0xec, 0x34, 0xdf,
0x3f, 0x23, 0x74, 0xe6, 0x1e, 0x67, 0xea, 0x17, 0x7b, 0xfc, 0x8f, 0x0c, 0x98, 0xd3, 0x55, 0xc7,
0x50, 0x06, 0x9f, 0x8c, 0x46, 0x50, 0x73, 0xf1, 0xac, 0xe0, 0x27, 0x6b, 0x2b, 0xda, 0xf5, 0x8f,
0xea, 0xff, 0xfa, 0xf9, 0xbc, 0xf1, 0x1f, 0x9f, 0xcf, 0x1b, 0xff, 0xf5, 0xf9, 0xbc, 0xf1, 0x93,
0xff, 0x99, 0x9f, 0xd8, 0x2d, 0xd2, 0xff, 0xbf, 0xc3, 0xca, 0xff, 0x07, 0x00, 0x00, 0xff, 0xff,
0x48, 0x49, 0x02, 0x7c, 0x86, 0x42, 0x00, 0x00,
// 4499 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x7c, 0x5f, 0x6f, 0x1b, 0x49,
0x72, 0xb8, 0x86, 0x94, 0x44, 0xb1, 0x48, 0x51, 0x54, 0x5b, 0xb6, 0x69, 0xae, 0x2d, 0x6b, 0xc7,
0xeb, 0x5d, 0xaf, 0x77, 0x2d, 0xda, 0x92, 0x7d, 0xfb, 0xfb, 0x39, 0xd8, 0xcd, 0xd1, 0x12, 0xd7,
0x56, 0x2c, 0x4b, 0xba, 0x11, 0xed, 0xbd, 0x75, 0x80, 0x53, 0x46, 0x64, 0x9b, 0x9a, 0x13, 0x39,
0xc3, 0x9b, 0x19, 0xd1, 0xd2, 0xe6, 0xe1, 0x36, 0x97, 0x5c, 0x0e, 0x97, 0x00, 0x07, 0x64, 0x03,
0x04, 0x87, 0x20, 0x79, 0x09, 0x02, 0x24, 0x0f, 0x97, 0x20, 0x79, 0xc8, 0x43, 0x90, 0x00, 0x79,
0x48, 0x1e, 0x92, 0x87, 0x00, 0x01, 0xf2, 0x05, 0x92, 0xcd, 0x3d, 0xe5, 0x53, 0x04, 0xfd, 0x6f,
0xba, 0x67, 0xa6, 0x47, 0xd2, 0x9e, 0xb4, 0xb8, 0x17, 0x6b, 0xba, 0xbb, 0xba, 0xaa, 0xba, 0xaa,
0xab, 0xaa, 0xbb, 0xaa, 0x4d, 0x28, 0xfa, 0xc3, 0xce, 0xe2, 0xd0, 0xf7, 0x42, 0x0f, 0x95, 0x71,
0xd8, 0xe9, 0x06, 0xd8, 0x1f, 0x61, 0x7f, 0xb8, 0x5b, 0x9f, 0xeb, 0x79, 0x3d, 0x8f, 0x0e, 0x34,
0xc8, 0x17, 0x83, 0xa9, 0xd7, 0x08, 0x4c, 0xc3, 0x1e, 0x3a, 0x8d, 0xc1, 0xa8, 0xd3, 0x19, 0xee,
0x36, 0xf6, 0x47, 0x7c, 0xa4, 0x1e, 0x8d, 0xd8, 0x07, 0xe1, 0xde, 0x70, 0x97, 0xfe, 0xe1, 0x63,
0x0b, 0xd1, 0xd8, 0x08, 0xfb, 0x81, 0xe3, 0xb9, 0xc3, 0x5d, 0xf1, 0xc5, 0x21, 0xae, 0xf6, 0x3c,
0xaf, 0xd7, 0xc7, 0x6c, 0xbe, 0xeb, 0x7a, 0xa1, 0x1d, 0x3a, 0x9e, 0x1b, 0xf0, 0x51, 0xf6, 0xa7,
0x73, 0xa7, 0x87, 0xdd, 0x3b, 0xde, 0x10, 0xbb, 0xf6, 0xd0, 0x19, 0x2d, 0x35, 0xbc, 0x21, 0x85,
0x49, 0xc3, 0x9b, 0x3f, 0x31, 0xa0, 0x62, 0xe1, 0x60, 0xe8, 0xb9, 0x01, 0x7e, 0x82, 0xed, 0x2e,
0xf6, 0xd1, 0x35, 0x80, 0x4e, 0xff, 0x20, 0x08, 0xb1, 0xbf, 0xe3, 0x74, 0x6b, 0xc6, 0x82, 0x71,
0x6b, 0xdc, 0x2a, 0xf2, 0x9e, 0xb5, 0x2e, 0x7a, 0x03, 0x8a, 0x03, 0x3c, 0xd8, 0x65, 0xa3, 0x39,
0x3a, 0x3a, 0xc5, 0x3a, 0xd6, 0xba, 0xa8, 0x0e, 0x53, 0x3e, 0x1e, 0x39, 0x84, 0xdd, 0x5a, 0x7e,
0xc1, 0xb8, 0x95, 0xb7, 0xa2, 0x36, 0x99, 0xe8, 0xdb, 0xaf, 0xc2, 0x9d, 0x10, 0xfb, 0x83, 0xda,
0x38, 0x9b, 0x48, 0x3a, 0xda, 0xd8, 0x1f, 0x3c, 0x2c, 0xfc, 0xe0, 0xef, 0x6a, 0xf9, 0xe5, 0xc5,
0xbb, 0xe6, 0x3f, 0x4f, 0x40, 0xd9, 0xb2, 0xdd, 0x1e, 0xb6, 0xf0, 0xf7, 0x0e, 0x70, 0x10, 0xa2,
0x2a, 0xe4, 0xf7, 0xf1, 0x11, 0xe5, 0xa3, 0x6c, 0x91, 0x4f, 0x86, 0xc8, 0xed, 0xe1, 0x1d, 0xec,
0x32, 0x0e, 0xca, 0x04, 0x91, 0xdb, 0xc3, 0x2d, 0xb7, 0x8b, 0xe6, 0x60, 0xa2, 0xef, 0x0c, 0x9c,
0x90, 0x93, 0x67, 0x8d, 0x18, 0x5f, 0xe3, 0x09, 0xbe, 0x56, 0x00, 0x02, 0xcf, 0x0f, 0x77, 0x3c,
0xbf, 0x8b, 0xfd, 0xda, 0xc4, 0x82, 0x71, 0xab, 0xb2, 0xf4, 0xd6, 0xa2, 0xaa, 0xe1, 0x45, 0x95,
0xa1, 0xc5, 0x6d, 0xcf, 0x0f, 0x37, 0x09, 0xac, 0x55, 0x0c, 0xc4, 0x27, 0xfa, 0x18, 0x4a, 0x14,
0x49, 0x68, 0xfb, 0x3d, 0x1c, 0xd6, 0x26, 0x29, 0x96, 0x9b, 0x27, 0x60, 0x69, 0x53, 0x60, 0x8b,
0x92, 0x67, 0xdf, 0xc8, 0x84, 0x72, 0x80, 0x7d, 0xc7, 0xee, 0x3b, 0x9f, 0xd9, 0xbb, 0x7d, 0x5c,
0x2b, 0x2c, 0x18, 0xb7, 0xa6, 0xac, 0x58, 0x1f, 0x59, 0xff, 0x3e, 0x3e, 0x0a, 0x76, 0x3c, 0xb7,
0x7f, 0x54, 0x9b, 0xa2, 0x00, 0x53, 0xa4, 0x63, 0xd3, 0xed, 0x1f, 0x51, 0xed, 0x79, 0x07, 0x6e,
0xc8, 0x46, 0x8b, 0x74, 0xb4, 0x48, 0x7b, 0xe8, 0xf0, 0x3d, 0xa8, 0x0e, 0x1c, 0x77, 0x67, 0xe0,
0x75, 0x77, 0x22, 0x81, 0x00, 0x11, 0xc8, 0xa3, 0xc2, 0xef, 0x51, 0x0d, 0xdc, 0xb3, 0x2a, 0x03,
0xc7, 0x7d, 0xe6, 0x75, 0x2d, 0x21, 0x1f, 0x32, 0xc5, 0x3e, 0x8c, 0x4f, 0x29, 0x25, 0xa7, 0xd8,
0x87, 0xea, 0x94, 0x0f, 0xe0, 0x02, 0xa1, 0xd2, 0xf1, 0xb1, 0x1d, 0x62, 0x39, 0xab, 0x1c, 0x9f,
0x35, 0x3b, 0x70, 0xdc, 0x15, 0x0a, 0x12, 0x9b, 0x68, 0x1f, 0xa6, 0x26, 0x4e, 0x27, 0x27, 0xda,
0x87, 0xf1, 0x89, 0xe6, 0x07, 0x50, 0x8c, 0xf4, 0x82, 0xa6, 0x60, 0x7c, 0x63, 0x73, 0xa3, 0x55,
0x1d, 0x43, 0x00, 0x93, 0xcd, 0xed, 0x95, 0xd6, 0xc6, 0x6a, 0xd5, 0x40, 0x25, 0x28, 0xac, 0xb6,
0x58, 0x23, 0x57, 0x2f, 0x7c, 0xc1, 0xf7, 0xdb, 0x53, 0x00, 0xa9, 0x0a, 0x54, 0x80, 0xfc, 0xd3,
0xd6, 0xa7, 0xd5, 0x31, 0x02, 0xfc, 0xa2, 0x65, 0x6d, 0xaf, 0x6d, 0x6e, 0x54, 0x0d, 0x82, 0x65,
0xc5, 0x6a, 0x35, 0xdb, 0xad, 0x6a, 0x8e, 0x40, 0x3c, 0xdb, 0x5c, 0xad, 0xe6, 0x51, 0x11, 0x26,
0x5e, 0x34, 0xd7, 0x9f, 0xb7, 0xaa, 0xe3, 0x11, 0x32, 0xb9, 0x8b, 0xff, 0xc4, 0x80, 0x69, 0xae,
0x6e, 0x66, 0x5b, 0xe8, 0x3e, 0x4c, 0xee, 0x51, 0xfb, 0xa2, 0x3b, 0xb9, 0xb4, 0x74, 0x35, 0xb1,
0x37, 0x62, 0x36, 0x68, 0x71, 0x58, 0x64, 0x42, 0x7e, 0x7f, 0x14, 0xd4, 0x72, 0x0b, 0xf9, 0x5b,
0xa5, 0xa5, 0xea, 0x22, 0xf3, 0x24, 0x8b, 0x4f, 0xf1, 0xd1, 0x0b, 0xbb, 0x7f, 0x80, 0x2d, 0x32,
0x88, 0x10, 0x8c, 0x0f, 0x3c, 0x1f, 0xd3, 0x0d, 0x3f, 0x65, 0xd1, 0x6f, 0x62, 0x05, 0x54, 0xe7,
0x7c, 0xb3, 0xb3, 0x86, 0x64, 0xef, 0xdf, 0x0d, 0x80, 0xad, 0x83, 0x30, 0xdb, 0xc4, 0xe6, 0x60,
0x62, 0x44, 0x28, 0x70, 0xf3, 0x62, 0x0d, 0x6a, 0x5b, 0xd8, 0x0e, 0x70, 0x64, 0x5b, 0xa4, 0x81,
0x16, 0xa0, 0x30, 0xf4, 0xf1, 0x68, 0x67, 0x7f, 0x44, 0xa9, 0x4d, 0x49, 0x3d, 0x4d, 0x92, 0xfe,
0xa7, 0x23, 0x74, 0x1b, 0xca, 0x4e, 0xcf, 0xf5, 0x7c, 0xbc, 0xc3, 0x90, 0x4e, 0xa8, 0x60, 0x4b,
0x56, 0x89, 0x0d, 0xd2, 0x25, 0x29, 0xb0, 0x8c, 0xd4, 0xa4, 0x16, 0x76, 0x9d, 0x8c, 0xc9, 0xf5,
0x7c, 0x6e, 0x40, 0x89, 0xae, 0xe7, 0x4c, 0xc2, 0x5e, 0x92, 0x0b, 0xc9, 0xd1, 0x69, 0x29, 0x81,
0xa7, 0x96, 0x26, 0x59, 0x70, 0x01, 0xad, 0xe2, 0x3e, 0x0e, 0xf1, 0x59, 0x9c, 0x97, 0x22, 0xca,
0xbc, 0x56, 0x94, 0x92, 0xde, 0x9f, 0x1b, 0x70, 0x21, 0x46, 0xf0, 0x4c, 0x4b, 0xaf, 0x41, 0xa1,
0x4b, 0x91, 0x31, 0x9e, 0xf2, 0x96, 0x68, 0xa2, 0xfb, 0x30, 0xc5, 0x59, 0x0a, 0x6a, 0x79, 0xfd,
0x36, 0x94, 0x5c, 0x16, 0x18, 0x97, 0x81, 0x64, 0xf3, 0x1f, 0x72, 0x50, 0xe4, 0xc2, 0xd8, 0x1c,
0xa2, 0x26, 0x4c, 0xfb, 0xac, 0xb1, 0x43, 0xd7, 0xcc, 0x79, 0xac, 0x67, 0xfb, 0xc9, 0x27, 0x63,
0x56, 0x99, 0x4f, 0xa1, 0xdd, 0xe8, 0x57, 0xa0, 0x24, 0x50, 0x0c, 0x0f, 0x42, 0xae, 0xa8, 0x5a,
0x1c, 0x81, 0xdc, 0xda, 0x4f, 0xc6, 0x2c, 0xe0, 0xe0, 0x5b, 0x07, 0x21, 0x6a, 0xc3, 0x9c, 0x98,
0xcc, 0xd6, 0xc7, 0xd9, 0xc8, 0x53, 0x2c, 0x0b, 0x71, 0x2c, 0x69, 0x75, 0x3e, 0x19, 0xb3, 0x10,
0x9f, 0xaf, 0x0c, 0xa2, 0x55, 0xc9, 0x52, 0x78, 0xc8, 0xe2, 0x4b, 0x8a, 0xa5, 0xf6, 0xa1, 0xcb,
0x91, 0x08, 0x69, 0x2d, 0x2b, 0xbc, 0xb5, 0x0f, 0xdd, 0x48, 0x64, 0x8f, 0x8a, 0x50, 0xe0, 0xdd,
0xe6, 0xbf, 0xe5, 0x00, 0x84, 0xc6, 0x36, 0x87, 0x68, 0x15, 0x2a, 0x3e, 0x6f, 0xc5, 0xe4, 0xf7,
0x86, 0x56, 0x7e, 0x5c, 0xd1, 0x63, 0xd6, 0xb4, 0x98, 0xc4, 0xd8, 0xfd, 0x08, 0xca, 0x11, 0x16,
0x29, 0xc2, 0x2b, 0x1a, 0x11, 0x46, 0x18, 0x4a, 0x62, 0x02, 0x11, 0xe2, 0x27, 0x70, 0x31, 0x9a,
0xaf, 0x91, 0xe2, 0x9b, 0xc7, 0x48, 0x31, 0x42, 0x78, 0x41, 0x60, 0x50, 0xe5, 0xf8, 0x58, 0x61,
0x4c, 0x0a, 0xf2, 0x8a, 0x46, 0x90, 0x0c, 0x48, 0x95, 0x64, 0xc4, 0x61, 0x4c, 0x94, 0x40, 0xc2,
0x3e, 0xeb, 0x37, 0xff, 0x72, 0x1c, 0x0a, 0x2b, 0xde, 0x60, 0x68, 0xfb, 0x64, 0x13, 0x4d, 0xfa,
0x38, 0x38, 0xe8, 0x87, 0x54, 0x80, 0x95, 0xa5, 0x1b, 0x71, 0x1a, 0x1c, 0x4c, 0xfc, 0xb5, 0x28,
0xa8, 0xc5, 0xa7, 0x90, 0xc9, 0x3c, 0xca, 0xe7, 0x4e, 0x31, 0x99, 0xc7, 0x78, 0x3e, 0x45, 0x38,
0x84, 0xbc, 0x74, 0x08, 0x75, 0x28, 0xf0, 0x03, 0x1e, 0x73, 0xd6, 0x4f, 0xc6, 0x2c, 0xd1, 0x81,
0xde, 0x85, 0x99, 0x64, 0x28, 0x9c, 0xe0, 0x30, 0x95, 0x4e, 0x3c, 0x72, 0xde, 0x80, 0x72, 0x2c,
0x42, 0x4f, 0x72, 0xb8, 0xd2, 0x40, 0x89, 0xcb, 0x97, 0x84, 0x5b, 0x27, 0xc7, 0x8a, 0xf2, 0x93,
0x31, 0xe1, 0xd8, 0xaf, 0x0b, 0xc7, 0x3e, 0xa5, 0x06, 0x5a, 0x22, 0x57, 0xee, 0xe3, 0xdf, 0x52,
0xbd, 0xd6, 0x37, 0xc9, 0xe4, 0x08, 0x48, 0xba, 0x2f, 0xd3, 0x82, 0xe9, 0x98, 0xc8, 0x48, 0x8c,
0x6c, 0x7d, 0xeb, 0x79, 0x73, 0x9d, 0x05, 0xd4, 0xc7, 0x34, 0x86, 0x5a, 0x55, 0x83, 0x04, 0xe8,
0xf5, 0xd6, 0xf6, 0x76, 0x35, 0x87, 0x2e, 0x41, 0x71, 0x63, 0xb3, 0xbd, 0xc3, 0xa0, 0xf2, 0xf5,
0xc2, 0x1f, 0x33, 0x4f, 0x22, 0xe3, 0xf3, 0xa7, 0x11, 0x4e, 0x1e, 0xa2, 0x95, 0xc8, 0x3c, 0xa6,
0x44, 0x66, 0x43, 0x44, 0xe6, 0x9c, 0x8c, 0xcc, 0x79, 0x84, 0x60, 0x62, 0xbd, 0xd5, 0xdc, 0xa6,
0x41, 0x9a, 0xa1, 0x5e, 0x4e, 0x47, 0xeb, 0x47, 0x15, 0x28, 0x33, 0xf5, 0xec, 0x1c, 0xb8, 0xe4,
0x30, 0xf1, 0x33, 0x03, 0x40, 0x1a, 0x2c, 0x6a, 0x40, 0xa1, 0xc3, 0x58, 0xa8, 0x19, 0xd4, 0x03,
0x5e, 0xd4, 0x6a, 0xdc, 0x12, 0x50, 0xe8, 0x1e, 0x14, 0x82, 0x83, 0x4e, 0x07, 0x07, 0x22, 0x72,
0x5f, 0x4e, 0x3a, 0x61, 0xee, 0x10, 0x2d, 0x01, 0x47, 0xa6, 0xbc, 0xb2, 0x9d, 0xfe, 0x01, 0x8d,
0xe3, 0xc7, 0x4f, 0xe1, 0x70, 0xd2, 0xc7, 0xfe, 0x99, 0x01, 0x25, 0xc5, 0x2c, 0x7e, 0xc1, 0x10,
0x70, 0x15, 0x8a, 0x94, 0x19, 0xdc, 0xe5, 0x41, 0x60, 0xca, 0x92, 0x1d, 0xe8, 0x1b, 0x50, 0x14,
0x96, 0x24, 0xe2, 0x40, 0x4d, 0x8f, 0x76, 0x73, 0x68, 0x49, 0x50, 0xc9, 0x64, 0x1b, 0x66, 0xa9,
0x9c, 0x3a, 0xe4, 0xf6, 0x21, 0x24, 0xab, 0x1e, 0xcb, 0x8d, 0xc4, 0xb1, 0xbc, 0x0e, 0x53, 0xc3,
0xbd, 0xa3, 0xc0, 0xe9, 0xd8, 0x7d, 0xce, 0x4e, 0xd4, 0x96, 0x58, 0xb7, 0x01, 0xa9, 0x58, 0xcf,
0x22, 0x00, 0x89, 0xf4, 0x12, 0x94, 0x9e, 0xd8, 0xc1, 0x1e, 0x67, 0x52, 0xf6, 0xdf, 0x87, 0x69,
0xd2, 0xff, 0xf4, 0xc5, 0x29, 0xd8, 0x17, 0xb3, 0x96, 0xcd, 0x7f, 0x34, 0xa0, 0x22, 0xa6, 0x9d,
0x49, 0x41, 0x08, 0xc6, 0xf7, 0xec, 0x60, 0x8f, 0x0a, 0x63, 0xda, 0xa2, 0xdf, 0xe8, 0x5d, 0xa8,
0x76, 0xd8, 0xfa, 0x77, 0x12, 0xf7, 0xae, 0x19, 0xde, 0x1f, 0xd9, 0xfe, 0xfb, 0x30, 0x4d, 0xa6,
0xec, 0xc4, 0xef, 0x41, 0xc2, 0x8c, 0xbf, 0x61, 0x95, 0xf7, 0xe8, 0x9a, 0x93, 0xec, 0xdb, 0x50,
0x66, 0xc2, 0x38, 0x6f, 0xde, 0xa5, 0x5c, 0xeb, 0x30, 0xb3, 0xed, 0xda, 0xc3, 0x60, 0xcf, 0x0b,
0x13, 0x32, 0x5f, 0x36, 0xff, 0xd6, 0x80, 0xaa, 0x1c, 0x3c, 0x13, 0x0f, 0xef, 0xc0, 0x8c, 0x8f,
0x07, 0xb6, 0xe3, 0x3a, 0x6e, 0x6f, 0x67, 0xf7, 0x28, 0xc4, 0x01, 0xbf, 0xbe, 0x56, 0xa2, 0xee,
0x47, 0xa4, 0x97, 0x30, 0xbb, 0xdb, 0xf7, 0x76, 0xb9, 0x93, 0xa6, 0xdf, 0xe8, 0xcd, 0xb8, 0x97,
0x2e, 0x4a, 0xb9, 0x89, 0x7e, 0xc9, 0xf3, 0x4f, 0x73, 0x50, 0xfe, 0xc4, 0x0e, 0x3b, 0x62, 0x07,
0xa1, 0x35, 0xa8, 0x44, 0x6e, 0x9c, 0xf6, 0x70, 0xbe, 0x13, 0x07, 0x0e, 0x3a, 0x47, 0xdc, 0x6b,
0xc4, 0x81, 0x63, 0xba, 0xa3, 0x76, 0x50, 0x54, 0xb6, 0xdb, 0xc1, 0xfd, 0x08, 0x55, 0x2e, 0x1b,
0x15, 0x05, 0x54, 0x51, 0xa9, 0x1d, 0xe8, 0xdb, 0x50, 0x1d, 0xfa, 0x5e, 0xcf, 0xc7, 0x41, 0x10,
0x21, 0x63, 0x21, 0xdc, 0xd4, 0x20, 0xdb, 0xe2, 0xa0, 0x89, 0x53, 0xcc, 0xfd, 0x27, 0x63, 0xd6,
0xcc, 0x30, 0x3e, 0x26, 0x1d, 0xeb, 0x8c, 0x3c, 0xef, 0x31, 0xcf, 0xfa, 0xa3, 0x3c, 0xa0, 0xf4,
0x32, 0xbf, 0xea, 0x31, 0xf9, 0x26, 0x54, 0x82, 0xd0, 0xf6, 0x53, 0x7b, 0x7e, 0x9a, 0xf6, 0x46,
0x3b, 0xfe, 0x1d, 0x88, 0x38, 0xdb, 0x71, 0xbd, 0xd0, 0x79, 0x75, 0xc4, 0x2e, 0x28, 0x56, 0x45,
0x74, 0x6f, 0xd0, 0x5e, 0xb4, 0x01, 0x85, 0x57, 0x4e, 0x3f, 0xc4, 0x7e, 0x50, 0x9b, 0x58, 0xc8,
0xdf, 0xaa, 0x2c, 0xbd, 0x77, 0x92, 0x62, 0x16, 0x3f, 0xa6, 0xf0, 0xed, 0xa3, 0xa1, 0x7a, 0xfa,
0xe5, 0x48, 0xd4, 0x63, 0xfc, 0xa4, 0xfe, 0x46, 0x64, 0xc2, 0xd4, 0x6b, 0x82, 0x74, 0xc7, 0xe9,
0xd2, 0x58, 0x1c, 0xd9, 0xe1, 0x7d, 0xab, 0x40, 0x07, 0xd6, 0xba, 0xe8, 0x06, 0x4c, 0xbd, 0xf2,
0xed, 0xde, 0x00, 0xbb, 0x21, 0xbb, 0xe5, 0x4b, 0x98, 0x68, 0xc0, 0x5c, 0x04, 0x90, 0xac, 0x90,
0xc8, 0xb7, 0xb1, 0xb9, 0xf5, 0xbc, 0x5d, 0x1d, 0x43, 0x65, 0x98, 0xda, 0xd8, 0x5c, 0x6d, 0xad,
0xb7, 0x48, 0x6c, 0x14, 0x31, 0xef, 0x9e, 0x34, 0xba, 0xa6, 0x50, 0x44, 0x6c, 0x4f, 0xa8, 0x7c,
0x19, 0xf1, 0x4b, 0xb7, 0xe0, 0x4b, 0xa0, 0xb8, 0x67, 0x5e, 0x87, 0x39, 0xdd, 0xd6, 0x10, 0x00,
0xf7, 0xcd, 0x7f, 0xc9, 0xc1, 0x34, 0x37, 0x84, 0x33, 0x59, 0xee, 0x15, 0x85, 0x2b, 0x7e, 0x3d,
0x11, 0x42, 0xaa, 0x41, 0x81, 0x19, 0x48, 0x97, 0xdf, 0x7f, 0x45, 0x93, 0x38, 0x67, 0xb6, 0xdf,
0x71, 0x97, 0xab, 0x3d, 0x6a, 0x6b, 0xdd, 0xe6, 0x44, 0xa6, 0xdb, 0x8c, 0x0c, 0xce, 0x0e, 0xf8,
0xc1, 0xaa, 0x28, 0x55, 0x51, 0x16, 0x46, 0x45, 0x06, 0x63, 0x3a, 0x2b, 0x64, 0xe8, 0x0c, 0xdd,
0x84, 0x49, 0x3c, 0xc2, 0x6e, 0x18, 0xd4, 0x4a, 0x34, 0x90, 0x4e, 0x8b, 0x0b, 0x55, 0x8b, 0xf4,
0x5a, 0x7c, 0x50, 0xaa, 0xea, 0x23, 0x98, 0xa5, 0xf7, 0xdd, 0xc7, 0xbe, 0xed, 0xaa, 0x77, 0xf6,
0x76, 0x7b, 0x9d, 0x87, 0x1d, 0xf2, 0x89, 0x2a, 0x90, 0x5b, 0x5b, 0xe5, 0xf2, 0xc9, 0xad, 0xad,
0xca, 0xf9, 0xbf, 0x6f, 0x00, 0x52, 0x11, 0x9c, 0x49, 0x17, 0x09, 0x2a, 0x82, 0x8f, 0xbc, 0xe4,
0x63, 0x0e, 0x26, 0xb0, 0xef, 0x7b, 0x3e, 0x73, 0x94, 0x16, 0x6b, 0x48, 0x6e, 0xee, 0x70, 0x66,
0x2c, 0x3c, 0xf2, 0xf6, 0x23, 0x0f, 0xc0, 0xd0, 0x1a, 0x69, 0xe6, 0xdb, 0x70, 0x21, 0x06, 0x7e,
0x3e, 0x21, 0x7e, 0x13, 0x66, 0x28, 0xd6, 0x95, 0x3d, 0xdc, 0xd9, 0x1f, 0x7a, 0x8e, 0x9b, 0xe2,
0x00, 0xdd, 0x20, 0xbe, 0x4b, 0x84, 0x0b, 0xb2, 0x44, 0xb6, 0xe6, 0x72, 0xd4, 0xd9, 0x6e, 0xaf,
0xcb, 0xad, 0xbe, 0x0b, 0x97, 0x12, 0x08, 0xc5, 0xca, 0x7e, 0x15, 0x4a, 0x9d, 0xa8, 0x33, 0xe0,
0x27, 0xc8, 0x6b, 0x71, 0x76, 0x93, 0x53, 0xd5, 0x19, 0x92, 0xc6, 0xb7, 0xe1, 0x72, 0x8a, 0xc6,
0x79, 0x88, 0xe3, 0xbe, 0x79, 0x17, 0x2e, 0x52, 0xcc, 0x4f, 0x31, 0x1e, 0x36, 0xfb, 0xce, 0xe8,
0x64, 0xb5, 0x1c, 0xf1, 0xf5, 0x2a, 0x33, 0xbe, 0xde, 0x6d, 0x25, 0x49, 0xb7, 0x38, 0xe9, 0xb6,
0x33, 0xc0, 0x6d, 0x6f, 0x3d, 0x9b, 0x5b, 0x12, 0xc8, 0xf7, 0xf1, 0x51, 0xc0, 0x8f, 0x8f, 0xf4,
0x5b, 0x7a, 0xaf, 0xbf, 0x36, 0xb8, 0x38, 0x55, 0x3c, 0x5f, 0xb3, 0x69, 0xcc, 0x03, 0xf4, 0x88,
0x0d, 0xe2, 0x2e, 0x19, 0x60, 0xb9, 0x39, 0xa5, 0x27, 0x62, 0x98, 0x44, 0xa1, 0x72, 0x92, 0xe1,
0x6b, 0xdc, 0x70, 0xe8, 0x3f, 0x41, 0xea, 0xa4, 0xf4, 0x36, 0x94, 0xe8, 0xc8, 0x76, 0x68, 0x87,
0x07, 0x41, 0x96, 0xe6, 0x96, 0xcd, 0x1f, 0x19, 0xdc, 0xa2, 0x04, 0x9e, 0x33, 0xad, 0xf9, 0x1e,
0x4c, 0xd2, 0x1b, 0xa2, 0xb8, 0xe9, 0x5c, 0xd1, 0x6c, 0x6c, 0xc6, 0x91, 0xc5, 0x01, 0x95, 0x73,
0x92, 0x01, 0x93, 0xcf, 0x68, 0xe5, 0x40, 0xe1, 0x76, 0x5c, 0x68, 0xce, 0xb5, 0x07, 0x2c, 0xfd,
0x58, 0xb4, 0xe8, 0x37, 0xbd, 0x10, 0x60, 0xec, 0x3f, 0xb7, 0xd6, 0xd9, 0x0d, 0xa4, 0x68, 0x45,
0x6d, 0x22, 0xd8, 0x4e, 0xdf, 0xc1, 0x6e, 0x48, 0x47, 0xc7, 0xe9, 0xa8, 0xd2, 0x83, 0x6e, 0x42,
0xd1, 0x09, 0xd6, 0xb1, 0xed, 0xbb, 0x3c, 0xc5, 0xaf, 0x38, 0x66, 0x39, 0x22, 0xf7, 0xd8, 0x77,
0xa0, 0xca, 0x38, 0x6b, 0x76, 0xbb, 0xca, 0x69, 0x3f, 0xa2, 0x6f, 0x24, 0xe8, 0xc7, 0xf0, 0xe7,
0x4e, 0xc6, 0xff, 0x37, 0x06, 0xcc, 0x2a, 0x04, 0xce, 0xa4, 0x82, 0xf7, 0x61, 0x92, 0xd5, 0x5f,
0xf8, 0x51, 0x70, 0x2e, 0x3e, 0x8b, 0x91, 0xb1, 0x38, 0x0c, 0x5a, 0x84, 0x02, 0xfb, 0x12, 0xd7,
0x38, 0x3d, 0xb8, 0x00, 0x92, 0x2c, 0x2f, 0xc2, 0x05, 0x3e, 0x86, 0x07, 0x9e, 0xce, 0xe6, 0xc6,
0xe3, 0x1e, 0xe2, 0x87, 0x06, 0xcc, 0xc5, 0x27, 0x9c, 0x69, 0x95, 0x0a, 0xdf, 0xb9, 0xaf, 0xc4,
0xf7, 0xaf, 0x09, 0xbe, 0x9f, 0x0f, 0xbb, 0xca, 0x91, 0x33, 0xb9, 0xe3, 0x54, 0xed, 0xe6, 0xe2,
0xda, 0x95, 0xb8, 0x7e, 0x12, 0xad, 0x49, 0x20, 0x3b, 0xd3, 0x9a, 0x3e, 0x38, 0xd5, 0x9a, 0x94,
0x23, 0x58, 0x6a, 0x71, 0x6b, 0x62, 0x1b, 0xad, 0x3b, 0x41, 0x14, 0x71, 0xde, 0x83, 0x72, 0xdf,
0x71, 0xb1, 0xed, 0xf3, 0x1a, 0x92, 0xa1, 0xee, 0xc7, 0x07, 0x56, 0x6c, 0x50, 0xa2, 0xfa, 0x6d,
0x03, 0x90, 0x8a, 0xeb, 0x97, 0xa3, 0xad, 0x86, 0x10, 0xf0, 0x96, 0xef, 0x0d, 0xbc, 0xf0, 0xa4,
0x6d, 0x76, 0xdf, 0xfc, 0x5d, 0x03, 0x2e, 0x26, 0x66, 0xfc, 0x32, 0x38, 0xbf, 0x6f, 0x5e, 0x85,
0xd9, 0x55, 0x2c, 0xce, 0x78, 0xa9, 0xdc, 0xc1, 0x36, 0x20, 0x75, 0xf4, 0x7c, 0x4e, 0x31, 0xff,
0x0f, 0x66, 0x9f, 0x79, 0x23, 0xe2, 0xc8, 0xc9, 0xb0, 0x74, 0x53, 0x2c, 0x99, 0x15, 0xc9, 0x2b,
0x6a, 0x4b, 0xd7, 0xbb, 0x0d, 0x48, 0x9d, 0x79, 0x1e, 0xec, 0x2c, 0x9b, 0xff, 0x6d, 0x40, 0xb9,
0xd9, 0xb7, 0xfd, 0x81, 0x60, 0xe5, 0x23, 0x98, 0x64, 0x99, 0x19, 0x9e, 0x66, 0x7d, 0x3b, 0x8e,
0x4f, 0x85, 0x65, 0x8d, 0x26, 0xcb, 0xe3, 0xf0, 0x59, 0x64, 0x29, 0xbc, 0xb2, 0xbc, 0x9a, 0xa8,
0x34, 0xaf, 0xa2, 0x3b, 0x30, 0x61, 0x93, 0x29, 0x34, 0xbc, 0x56, 0x92, 0xe9, 0x32, 0x8a, 0x8d,
0x5c, 0x89, 0x2c, 0x06, 0x65, 0x7e, 0x08, 0x25, 0x85, 0x02, 0x2a, 0x40, 0xfe, 0x71, 0x8b, 0x5f,
0x93, 0x9a, 0x2b, 0xed, 0xb5, 0x17, 0x2c, 0x85, 0x58, 0x01, 0x58, 0x6d, 0x45, 0xed, 0x9c, 0xa6,
0xb0, 0x67, 0x73, 0x3c, 0x3c, 0x6e, 0xa9, 0x1c, 0x1a, 0x59, 0x1c, 0xe6, 0x4e, 0xc3, 0xa1, 0x24,
0xf1, 0x5b, 0x06, 0x4c, 0x73, 0xd1, 0x9c, 0x35, 0x34, 0x53, 0xcc, 0x19, 0xa1, 0x59, 0x59, 0x86,
0xc5, 0x01, 0x25, 0x0f, 0xff, 0x64, 0x40, 0x75, 0xd5, 0x7b, 0xed, 0xf6, 0x7c, 0xbb, 0x1b, 0xd9,
0xe0, 0xc7, 0x09, 0x75, 0x2e, 0x26, 0x32, 0xfd, 0x09, 0x78, 0xd9, 0x91, 0x50, 0x6b, 0x4d, 0xe6,
0x52, 0x58, 0x7c, 0x17, 0x4d, 0xf3, 0x9b, 0x30, 0x93, 0x98, 0x44, 0x14, 0xf4, 0xa2, 0xb9, 0xbe,
0xb6, 0x4a, 0x14, 0x42, 0xf3, 0xbd, 0xad, 0x8d, 0xe6, 0xa3, 0xf5, 0x16, 0xaf, 0xca, 0x36, 0x37,
0x56, 0x5a, 0xeb, 0x52, 0x51, 0x0f, 0xc4, 0x0a, 0x1e, 0x98, 0x7d, 0x98, 0x55, 0x18, 0x3a, 0x6b,
0x71, 0x4c, 0xcf, 0xaf, 0xa4, 0x56, 0x83, 0x69, 0x7e, 0xca, 0x49, 0x1a, 0xfe, 0xcf, 0xf2, 0x50,
0x11, 0x43, 0x5f, 0x0f, 0x17, 0xe8, 0x12, 0x4c, 0x76, 0x77, 0xb7, 0x9d, 0xcf, 0x44, 0x5d, 0x96,
0xb7, 0x48, 0x7f, 0x9f, 0xd1, 0x61, 0xaf, 0x2d, 0x78, 0x0b, 0x5d, 0x65, 0x0f, 0x31, 0xd6, 0xdc,
0x2e, 0x3e, 0xa4, 0x87, 0xa1, 0x71, 0x4b, 0x76, 0xd0, 0xa4, 0x26, 0x7f, 0x95, 0x41, 0xef, 0xba,
0xca, 0x2b, 0x0d, 0xb4, 0x0c, 0x55, 0xf2, 0xdd, 0x1c, 0x0e, 0xfb, 0x0e, 0xee, 0x32, 0x04, 0xe4,
0x9a, 0x3b, 0x2e, 0x4f, 0x3b, 0x29, 0x00, 0x74, 0x1d, 0x26, 0xe9, 0x15, 0x30, 0xa8, 0x4d, 0x91,
0xb8, 0x2a, 0x41, 0x79, 0x37, 0x7a, 0x17, 0x4a, 0x8c, 0xe3, 0x35, 0xf7, 0x79, 0x80, 0xe9, 0x9b,
0x05, 0x25, 0x1f, 0xa2, 0x8e, 0xc5, 0xcf, 0x59, 0x90, 0x75, 0xce, 0x42, 0x0d, 0xa8, 0x04, 0xa1,
0xe7, 0xdb, 0x3d, 0xfc, 0x82, 0x8b, 0xac, 0x14, 0x4f, 0xda, 0x25, 0x86, 0xa5, 0xba, 0xae, 0xc2,
0x6c, 0xf3, 0x20, 0xdc, 0x6b, 0xb9, 0x24, 0x38, 0xa6, 0x94, 0x79, 0x0d, 0x10, 0x19, 0x5d, 0x75,
0x02, 0xed, 0x30, 0x9f, 0xac, 0xdd, 0x09, 0x0f, 0xcc, 0x0d, 0xb8, 0x40, 0x46, 0xb1, 0x1b, 0x3a,
0x1d, 0xe5, 0x20, 0x22, 0x8e, 0xba, 0x46, 0xe2, 0xa8, 0x6b, 0x07, 0xc1, 0x6b, 0xcf, 0xef, 0x72,
0x65, 0x47, 0x6d, 0x49, 0xed, 0xef, 0x0d, 0xc6, 0xcd, 0xf3, 0x20, 0x76, 0x4c, 0xfd, 0x8a, 0xf8,
0xd0, 0xff, 0x87, 0x02, 0x7f, 0x1e, 0xc4, 0xb3, 0x7f, 0x97, 0x16, 0xd9, 0xb3, 0xa4, 0x45, 0x8e,
0x78, 0x93, 0x8d, 0x2a, 0x19, 0x2a, 0x0e, 0x4f, 0xc4, 0xbc, 0x67, 0x07, 0x7b, 0xb8, 0xbb, 0x25,
0x90, 0xc7, 0x72, 0xa3, 0x0f, 0xac, 0xc4, 0xb0, 0xe4, 0xfd, 0x9e, 0x64, 0xfd, 0x31, 0x0e, 0x8f,
0x61, 0x5d, 0xcd, 0xbe, 0x5f, 0x14, 0x53, 0x78, 0xd1, 0xf0, 0x34, 0xb3, 0x7e, 0x6c, 0xc0, 0x35,
0x31, 0x6d, 0x65, 0xcf, 0x76, 0x7b, 0x58, 0x30, 0xf3, 0x8b, 0xca, 0x2b, 0xbd, 0xe8, 0xfc, 0x29,
0x17, 0xfd, 0x14, 0x6a, 0xd1, 0xa2, 0x69, 0x26, 0xc6, 0xeb, 0xab, 0x8b, 0x38, 0x08, 0xb8, 0x47,
0x28, 0x5a, 0xf4, 0x9b, 0xf4, 0xf9, 0x5e, 0x3f, 0xba, 0x04, 0x91, 0x6f, 0x89, 0x6c, 0x1d, 0xae,
0x08, 0x64, 0x3c, 0x35, 0x12, 0xc7, 0x96, 0x5a, 0xd3, 0xb1, 0xd8, 0xb8, 0x3e, 0x08, 0x8e, 0xe3,
0xb7, 0x92, 0x76, 0x4a, 0x5c, 0x85, 0x94, 0x8a, 0xa1, 0xa3, 0x32, 0xcf, 0x2c, 0x80, 0xf0, 0xac,
0x9c, 0x57, 0x53, 0xe3, 0x04, 0xa5, 0x76, 0x9c, 0x6f, 0x01, 0x32, 0x9e, 0xda, 0x02, 0xd9, 0x54,
0x31, 0xcc, 0x47, 0x8c, 0x12, 0xb1, 0x6f, 0x61, 0x7f, 0xe0, 0x04, 0x81, 0x52, 0x86, 0xd2, 0x89,
0xeb, 0x6d, 0x18, 0x1f, 0x62, 0x1e, 0xbc, 0x4b, 0x4b, 0x48, 0xd8, 0x84, 0x32, 0x99, 0x8e, 0x4b,
0x32, 0x03, 0xb8, 0x2e, 0xc8, 0x30, 0x85, 0x68, 0xe9, 0x24, 0xd9, 0x14, 0xa9, 0xef, 0x5c, 0x46,
0xea, 0x3b, 0x1f, 0x4f, 0x7d, 0xc7, 0x0e, 0x94, 0xaa, 0xa3, 0x3a, 0x9f, 0x03, 0x65, 0x9b, 0x29,
0x20, 0xf2, 0x6f, 0xe7, 0x83, 0xf5, 0x0f, 0xb8, 0xa3, 0x3a, 0xaf, 0x30, 0x88, 0xe9, 0x9a, 0x45,
0x91, 0x52, 0x34, 0x91, 0x09, 0x65, 0xa2, 0x24, 0x4b, 0xad, 0x09, 0x8c, 0x5b, 0xb1, 0x3e, 0xe9,
0x8c, 0xf7, 0x61, 0x2e, 0xee, 0x8c, 0xcf, 0xc4, 0xd4, 0x1c, 0x4c, 0x84, 0xde, 0x3e, 0x16, 0x91,
0x99, 0x35, 0x52, 0x62, 0x8d, 0x1c, 0xf5, 0xf9, 0x88, 0xf5, 0xbb, 0x12, 0x2b, 0x35, 0xc0, 0xb3,
0xae, 0x80, 0x6c, 0x47, 0x71, 0xf7, 0x65, 0x0d, 0x49, 0xeb, 0x13, 0xb8, 0x94, 0x74, 0xbe, 0xe7,
0xb3, 0x88, 0x1d, 0x66, 0x9c, 0x3a, 0xf7, 0x7c, 0x3e, 0x04, 0x5e, 0x4a, 0x3f, 0xa9, 0x38, 0xdd,
0xf3, 0xc1, 0xfd, 0xeb, 0x50, 0xd7, 0xf9, 0xe0, 0x73, 0xb5, 0xc5, 0xc8, 0x25, 0x9f, 0x0f, 0xd6,
0x1f, 0x1a, 0x12, 0xad, 0xba, 0x6b, 0x3e, 0xfc, 0x2a, 0x68, 0x45, 0xac, 0xbb, 0x1b, 0x6d, 0x9f,
0x46, 0xe4, 0x2d, 0xf3, 0x7a, 0x6f, 0x29, 0xa7, 0x50, 0x40, 0x61, 0x7f, 0xd2, 0xd5, 0x7f, 0x9d,
0xbb, 0x97, 0x13, 0x93, 0x71, 0xe7, 0xac, 0xc4, 0x48, 0x78, 0x8e, 0x88, 0xd1, 0x46, 0xca, 0x54,
0xd4, 0x20, 0x75, 0x3e, 0xaa, 0xfb, 0x0d, 0x19, 0x60, 0x52, 0x71, 0xec, 0x7c, 0x28, 0xd8, 0xb0,
0x90, 0x1d, 0xc2, 0xce, 0x85, 0xc4, 0xed, 0x26, 0x14, 0xa3, 0x9b, 0xaf, 0xf2, 0x4e, 0xb7, 0x04,
0x85, 0x8d, 0xcd, 0xed, 0xad, 0xe6, 0x0a, 0xb9, 0xd8, 0xcd, 0x41, 0x61, 0x65, 0xd3, 0xb2, 0x9e,
0x6f, 0xb5, 0xc9, 0xcd, 0x2e, 0xf9, 0x6c, 0x67, 0xe9, 0xe7, 0x79, 0xc8, 0x3d, 0x7d, 0x81, 0x3e,
0x85, 0x09, 0xf6, 0x6c, 0xec, 0x98, 0xd7, 0x83, 0xf5, 0xe3, 0x5e, 0xc6, 0x99, 0x97, 0x7f, 0xf0,
0x9f, 0x3f, 0xff, 0xc3, 0xdc, 0xac, 0x59, 0x6e, 0x8c, 0x96, 0x1b, 0xfb, 0xa3, 0x06, 0x0d, 0xb2,
0x0f, 0x8d, 0xdb, 0xe8, 0x5b, 0x90, 0xdf, 0x3a, 0x08, 0x51, 0xe6, 0xab, 0xc2, 0x7a, 0xf6, 0x63,
0x39, 0xf3, 0x22, 0x45, 0x3a, 0x63, 0x02, 0x47, 0x3a, 0x3c, 0x08, 0x09, 0xca, 0xef, 0x41, 0x49,
0x7d, 0xea, 0x76, 0xe2, 0x53, 0xc3, 0xfa, 0xc9, 0xcf, 0xe8, 0xcc, 0x6b, 0x94, 0xd4, 0x65, 0x13,
0x71, 0x52, 0xec, 0x31, 0x9e, 0xba, 0x8a, 0xf6, 0xa1, 0x8b, 0x32, 0x1f, 0x22, 0xd6, 0xb3, 0x5f,
0xd6, 0xa5, 0x56, 0x11, 0x1e, 0xba, 0x04, 0xe5, 0x77, 0xf9, 0x13, 0xba, 0x4e, 0x88, 0xae, 0x6b,
0xde, 0x40, 0xa9, 0x6f, 0x7b, 0xea, 0x0b, 0xd9, 0x00, 0x9c, 0xc8, 0x55, 0x4a, 0xe4, 0x92, 0x39,
0xcb, 0x89, 0x74, 0x22, 0x90, 0x87, 0xc6, 0xed, 0xa5, 0x0e, 0x4c, 0xd0, 0xda, 0x31, 0x7a, 0x29,
0x3e, 0xea, 0x9a, 0xaa, 0x7c, 0x86, 0xa2, 0x63, 0x55, 0x67, 0x73, 0x8e, 0x12, 0xaa, 0x98, 0x45,
0x42, 0x88, 0x56, 0x8e, 0x1f, 0x1a, 0xb7, 0x6f, 0x19, 0x77, 0x8d, 0xa5, 0xbf, 0x9a, 0x80, 0x09,
0x5a, 0xa3, 0x40, 0xfb, 0x00, 0xb2, 0x46, 0x9a, 0x5c, 0x5d, 0xaa, 0xfc, 0x9a, 0x5c, 0x5d, 0xba,
0xbc, 0x6a, 0xd6, 0x29, 0xd1, 0x39, 0x73, 0x86, 0x10, 0xa5, 0xa5, 0x8f, 0x06, 0xad, 0xf4, 0x10,
0x39, 0xfe, 0xd8, 0xe0, 0xc5, 0x1a, 0x66, 0x66, 0x48, 0x87, 0x2d, 0x56, 0x1f, 0x4d, 0x6e, 0x07,
0x4d, 0x49, 0xd4, 0x7c, 0x40, 0x09, 0x36, 0xcc, 0xaa, 0x24, 0xe8, 0x53, 0x88, 0x87, 0xc6, 0xed,
0x97, 0x35, 0xf3, 0x02, 0x97, 0x72, 0x62, 0x04, 0x7d, 0x1f, 0x2a, 0xf1, 0x4a, 0x1e, 0xba, 0xa1,
0xa1, 0x95, 0xac, 0x0c, 0xd6, 0xdf, 0x3a, 0x1e, 0x88, 0xf3, 0x34, 0x4f, 0x79, 0xe2, 0xc4, 0x19,
0xe5, 0x7d, 0x8c, 0x87, 0x36, 0x01, 0xe2, 0x3a, 0x40, 0x7f, 0x6a, 0xf0, 0x62, 0xac, 0x2c, 0xc4,
0x21, 0x1d, 0xf6, 0x54, 0xbd, 0xaf, 0x7e, 0xf3, 0x04, 0x28, 0xce, 0xc4, 0x87, 0x94, 0x89, 0x0f,
0xcc, 0x39, 0xc9, 0x44, 0xe8, 0x0c, 0x70, 0xe8, 0x71, 0x2e, 0x5e, 0x5e, 0x35, 0x2f, 0xc7, 0x84,
0x13, 0x1b, 0x95, 0xca, 0x62, 0x05, 0x33, 0xad, 0xb2, 0x62, 0x35, 0x39, 0xad, 0xb2, 0xe2, 0xd5,
0x36, 0x9d, 0xb2, 0x78, 0x79, 0x4c, 0xa3, 0xac, 0x68, 0x64, 0xe9, 0x7f, 0xc7, 0xa1, 0xb0, 0xc2,
0xfe, 0x2b, 0x0e, 0xf2, 0xa0, 0x18, 0x95, 0x90, 0xd0, 0xbc, 0x2e, 0x4b, 0x2d, 0xaf, 0x72, 0xf5,
0xeb, 0x99, 0xe3, 0x9c, 0xa1, 0x37, 0x29, 0x43, 0x6f, 0x98, 0x97, 0x08, 0x65, 0xfe, 0xbf, 0x7d,
0x1a, 0x2c, 0x97, 0xd9, 0xb0, 0xbb, 0x5d, 0x22, 0x88, 0xdf, 0x84, 0xb2, 0x5a, 0xd0, 0x41, 0x6f,
0x6a, 0x33, 0xe3, 0x6a, 0x75, 0xa8, 0x6e, 0x1e, 0x07, 0xc2, 0x29, 0xbf, 0x45, 0x29, 0xcf, 0x9b,
0x57, 0x34, 0x94, 0x7d, 0x0a, 0x1a, 0x23, 0xce, 0x2a, 0x2f, 0x7a, 0xe2, 0xb1, 0x12, 0x8f, 0x9e,
0x78, 0xbc, 0x70, 0x73, 0x2c, 0xf1, 0x03, 0x0a, 0x4a, 0x88, 0x07, 0x00, 0xb2, 0x34, 0x82, 0xb4,
0xb2, 0x54, 0x2e, 0xac, 0x49, 0xe7, 0x90, 0xae, 0xaa, 0x98, 0x26, 0x25, 0xcb, 0xf7, 0x5d, 0x82,
0x6c, 0xdf, 0x09, 0x42, 0x66, 0x98, 0xd3, 0xb1, 0xc2, 0x06, 0xd2, 0xae, 0x27, 0x5e, 0x27, 0xa9,
0xdf, 0x38, 0x16, 0x86, 0x53, 0xbf, 0x49, 0xa9, 0x5f, 0x37, 0xeb, 0x1a, 0xea, 0x43, 0x06, 0x4b,
0x36, 0xdb, 0xe7, 0x05, 0x28, 0x3d, 0xb3, 0x1d, 0x37, 0xc4, 0xae, 0xed, 0x76, 0x30, 0xda, 0x85,
0x09, 0x1a, 0xbb, 0x93, 0x8e, 0x58, 0xcd, 0xe3, 0x27, 0x1d, 0x71, 0x2c, 0x91, 0x6d, 0x2e, 0x50,
0xc2, 0x75, 0xf3, 0x22, 0x21, 0x3c, 0x90, 0xa8, 0x1b, 0x2c, 0x05, 0x6e, 0xdc, 0x46, 0xaf, 0x60,
0x92, 0x17, 0xb0, 0x13, 0x88, 0x62, 0x49, 0xb5, 0xfa, 0x55, 0xfd, 0xa0, 0x6e, 0x2f, 0xab, 0x64,
0x02, 0x0a, 0x47, 0xe8, 0x8c, 0x00, 0x64, 0x3d, 0x26, 0xa9, 0xd1, 0x54, 0x1d, 0xa7, 0xbe, 0x90,
0x0d, 0xa0, 0x93, 0xa9, 0x4a, 0xb3, 0x1b, 0xc1, 0x12, 0xba, 0xdf, 0x81, 0xf1, 0x27, 0x76, 0xb0,
0x87, 0x12, 0xb1, 0x57, 0x79, 0x6f, 0x5a, 0xaf, 0xeb, 0x86, 0x38, 0x95, 0xeb, 0x94, 0xca, 0x15,
0xe6, 0xca, 0x54, 0x2a, 0xf4, 0x45, 0x25, 0x93, 0x1f, 0x7b, 0x6c, 0x9a, 0x94, 0x5f, 0xec, 0xe5,
0x6a, 0x52, 0x7e, 0xf1, 0xf7, 0xa9, 0xd9, 0xf2, 0x23, 0x54, 0xf6, 0x47, 0x84, 0xce, 0x10, 0xa6,
0xc4, 0xb3, 0x4c, 0x94, 0x78, 0xcc, 0x92, 0x78, 0xcb, 0x59, 0x9f, 0xcf, 0x1a, 0xe6, 0xd4, 0x6e,
0x50, 0x6a, 0xd7, 0xcc, 0x5a, 0x4a, 0x5b, 0x1c, 0xf2, 0xa1, 0x71, 0xfb, 0xae, 0x81, 0xbe, 0x0f,
0x20, 0x4b, 0x56, 0x29, 0x1b, 0x4c, 0x96, 0xc1, 0x52, 0x36, 0x98, 0xaa, 0x76, 0x99, 0x8b, 0x94,
0xee, 0x2d, 0xf3, 0x46, 0x92, 0x6e, 0xe8, 0xdb, 0x6e, 0xf0, 0x0a, 0xfb, 0x77, 0x58, 0xbe, 0x3c,
0xd8, 0x73, 0x86, 0x64, 0xc9, 0x3e, 0x14, 0xa3, 0x8a, 0x42, 0xd2, 0xdf, 0x26, 0x6b, 0x1f, 0x49,
0x7f, 0x9b, 0x2a, 0x45, 0xc4, 0x1d, 0x4f, 0x6c, 0xbf, 0x08, 0x50, 0x62, 0x82, 0x7f, 0x51, 0x85,
0x71, 0x72, 0x24, 0x27, 0xc7, 0x13, 0x99, 0xee, 0x49, 0xae, 0x3e, 0x95, 0xb1, 0x4e, 0xae, 0x3e,
0x9d, 0x29, 0x8a, 0x1f, 0x4f, 0xc8, 0x75, 0xad, 0xc1, 0xf2, 0x28, 0x64, 0xa5, 0x1e, 0x94, 0x94,
0x34, 0x10, 0xd2, 0x20, 0x8b, 0x67, 0xc0, 0x93, 0x01, 0x4f, 0x93, 0x43, 0x32, 0xdf, 0xa0, 0xf4,
0x2e, 0xb2, 0x80, 0x47, 0xe9, 0x75, 0x19, 0x04, 0x21, 0xc8, 0x57, 0xc7, 0x2d, 0x5f, 0xb3, 0xba,
0xb8, 0xf5, 0x2f, 0x64, 0x03, 0x64, 0xae, 0x4e, 0x9a, 0xfe, 0x6b, 0x28, 0xab, 0xa9, 0x1f, 0xa4,
0x61, 0x3e, 0x91, 0xa3, 0x4f, 0x46, 0x12, 0x5d, 0xe6, 0x28, 0xee, 0xdb, 0x28, 0x49, 0x5b, 0x01,
0x23, 0x84, 0xfb, 0x50, 0xe0, 0x29, 0x20, 0x9d, 0x48, 0xe3, 0x69, 0x7c, 0x9d, 0x48, 0x13, 0xf9,
0xa3, 0xf8, 0xf9, 0x99, 0x52, 0x24, 0x57, 0x51, 0x11, 0xad, 0x39, 0xb5, 0xc7, 0x38, 0xcc, 0xa2,
0x26, 0xd3, 0xb6, 0x59, 0xd4, 0x94, 0x0c, 0x41, 0x16, 0xb5, 0x1e, 0x0e, 0xb9, 0x3f, 0x10, 0xd7,
0x6b, 0x94, 0x81, 0x4c, 0x8d, 0x90, 0xe6, 0x71, 0x20, 0xba, 0xeb, 0x8d, 0x24, 0x28, 0xc2, 0xe3,
0x21, 0x80, 0x4c, 0x47, 0x25, 0xcf, 0xac, 0xda, 0x4a, 0x41, 0xf2, 0xcc, 0xaa, 0xcf, 0x68, 0xc5,
0x7d, 0xac, 0xa4, 0xcb, 0x6e, 0x57, 0x84, 0xf2, 0x17, 0x06, 0xa0, 0x74, 0xc2, 0x0a, 0xbd, 0xa7,
0xc7, 0xae, 0xad, 0x3a, 0xd4, 0xdf, 0x3f, 0x1d, 0xb0, 0xce, 0x21, 0x4b, 0x96, 0x3a, 0x14, 0x7a,
0xf8, 0x9a, 0x30, 0xf5, 0xb9, 0x01, 0xd3, 0xb1, 0x24, 0x17, 0x7a, 0x3b, 0x43, 0xa7, 0x89, 0xd2,
0x43, 0xfd, 0x9d, 0x13, 0xe1, 0x74, 0x87, 0x79, 0x65, 0x07, 0x88, 0x5b, 0xcd, 0xef, 0x18, 0x50,
0x89, 0xe7, 0xc2, 0x50, 0x06, 0xee, 0x54, 0xc5, 0xa2, 0x7e, 0xeb, 0x64, 0xc0, 0xe3, 0xd5, 0x23,
0x2f, 0x34, 0x7d, 0x28, 0xf0, 0xa4, 0x99, 0x6e, 0xe3, 0xc7, 0x4b, 0x1c, 0xba, 0x8d, 0x9f, 0xc8,
0xb8, 0x69, 0x36, 0xbe, 0xef, 0xf5, 0xb1, 0x62, 0x66, 0x3c, 0x97, 0x96, 0x45, 0xed, 0x78, 0x33,
0x4b, 0x24, 0xe2, 0xb2, 0xa8, 0x49, 0x33, 0x13, 0x29, 0x33, 0x94, 0x81, 0xec, 0x04, 0x33, 0x4b,
0x66, 0xdc, 0x34, 0x66, 0x46, 0x09, 0x2a, 0x66, 0x26, 0x53, 0x59, 0x3a, 0x33, 0x4b, 0x55, 0x63,
0x74, 0x66, 0x96, 0xce, 0x86, 0x69, 0xf4, 0x48, 0xe9, 0xc6, 0xcc, 0xec, 0x82, 0x26, 0xd9, 0x85,
0xde, 0xcf, 0x10, 0xa2, 0xb6, 0xb6, 0x53, 0xbf, 0x73, 0x4a, 0xe8, 0xcc, 0x3d, 0xce, 0xc4, 0x2f,
0xf6, 0xf8, 0x1f, 0x19, 0x30, 0xa7, 0xcb, 0x8f, 0xa1, 0x0c, 0x3a, 0x19, 0xa5, 0xa0, 0xfa, 0xe2,
0x69, 0xc1, 0x8f, 0x97, 0x56, 0xb4, 0xeb, 0x1f, 0xf5, 0xbe, 0x68, 0x36, 0x5e, 0x5e, 0x87, 0x6b,
0x30, 0xd9, 0x1c, 0x3a, 0x4f, 0xf1, 0x11, 0xba, 0x30, 0x95, 0xab, 0x4f, 0x13, 0xbc, 0x9e, 0xef,
0x7c, 0x46, 0x7f, 0xf3, 0x61, 0x21, 0xb7, 0x5b, 0x06, 0x88, 0x00, 0xc6, 0xfe, 0xf5, 0xcb, 0x79,
0xe3, 0x3f, 0xbe, 0x9c, 0x37, 0xfe, 0xeb, 0xcb, 0x79, 0xe3, 0xa7, 0xff, 0x33, 0x3f, 0xf6, 0xf2,
0x46, 0xcf, 0xa3, 0x6c, 0x2d, 0x3a, 0x5e, 0x43, 0xfe, 0x0e, 0xc5, 0x72, 0x43, 0x65, 0x75, 0x77,
0x92, 0xfe, 0x70, 0xc4, 0xf2, 0xff, 0x05, 0x00, 0x00, 0xff, 0xff, 0x52, 0x62, 0x44, 0x5a, 0x0f,
0x43, 0x00, 0x00,
}
// Reference imports to suppress errors if they are not otherwise used.

View File

@ -8,10 +8,32 @@ import "etcd/api/versionpb/version.proto";
// for grpc-gateway
import "google/api/annotations.proto";
import "protoc-gen-openapiv2/options/annotations.proto";
option go_package = "go.etcd.io/etcd/api/v3/etcdserverpb";
option (gogoproto.marshaler_all) = true;
option (gogoproto.unmarshaler_all) = true;
option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_swagger) = {
security_definitions: {
security: {
key: "ApiKey";
value: {
type: TYPE_API_KEY;
in: IN_HEADER;
name: "Authorization";
}
}
}
security: {
security_requirement: {
key: "ApiKey";
value: {};
}
}
};
service KV {
// Range gets the keys in the range from the key-value store.
rpc Range(RangeRequest) returns (RangeResponse) {
@ -218,7 +240,7 @@ service Maintenance {
// It only iterates "key" bucket in backend storage.
rpc HashKV(HashKVRequest) returns (HashKVResponse) {
option (google.api.http) = {
post: "/v3/maintenance/hash"
post: "/v3/maintenance/hashkv"
body: "*"
};
}

View File

@ -1,24 +1,28 @@
module go.etcd.io/etcd/api/v3
go 1.19
go 1.21
require (
github.com/coreos/go-semver v0.3.1
github.com/gogo/protobuf v1.3.2
github.com/golang/protobuf v1.5.3
github.com/grpc-ecosystem/grpc-gateway v1.16.0
github.com/stretchr/testify v1.8.2
google.golang.org/genproto v0.0.0-20211118181313-81c1377c94b1
google.golang.org/grpc v1.51.0
github.com/grpc-ecosystem/grpc-gateway/v2 v2.18.1
github.com/stretchr/testify v1.8.4
google.golang.org/genproto/googleapis/api v0.0.0-20231106174013-bbf56f31fb17
google.golang.org/grpc v1.60.1
google.golang.org/protobuf v1.32.0
)
require (
github.com/davecgh/go-spew v1.1.1 // indirect
github.com/kr/text v0.2.0 // indirect
github.com/pmezard/go-difflib v1.0.0 // indirect
golang.org/x/net v0.9.0 // indirect
golang.org/x/sys v0.7.0 // indirect
golang.org/x/text v0.9.0 // indirect
google.golang.org/protobuf v1.30.0 // indirect
github.com/rogpeppe/go-internal v1.11.0 // indirect
golang.org/x/net v0.19.0 // indirect
golang.org/x/sys v0.15.0 // indirect
golang.org/x/text v0.14.0 // indirect
google.golang.org/genproto v0.0.0-20231030173426-d783a09b4405 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20231030173426-d783a09b4405 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
)

View File

@ -1,169 +1,77 @@
cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU=
github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY=
github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc=
github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc=
github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk=
github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
github.com/coreos/go-semver v0.3.1 h1:yi21YpKnrx1gt5R+la8n5WgS0kCrsPp33dmEyHReZr4=
github.com/coreos/go-semver v0.3.1/go.mod h1:irMmmIw/7yzSRPWryHsK7EYSg09caPQL03VsM8rvUec=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98=
github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk=
github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ=
github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=
github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q=
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw=
github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8=
github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA=
github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs=
github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w=
github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0=
github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8=
github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI=
github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI=
github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg=
github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ=
github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/grpc-ecosystem/grpc-gateway v1.16.0 h1:gmcG1KaJ57LophUzW0Hy8NmPhnMZb4M0+kPpLofRdBo=
github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw=
github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
github.com/grpc-ecosystem/grpc-gateway/v2 v2.18.1 h1:6UKoz5ujsI55KNpsJH3UwCq3T8kKbZwNZBNPuTTje8U=
github.com/grpc-ecosystem/grpc-gateway/v2 v2.18.1/go.mod h1:YvJ2f6MplWDhfxiUC3KpyTy76kYUZA4W3pTv/wdKQ9Y=
github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8=
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ=
github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo=
github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA=
github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
github.com/stretchr/testify v1.8.2 h1:+h33VjcLVPDHtOdpUCuF+7gSuG3yGIftsP1YvFihtJ8=
github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
github.com/rogpeppe/go-internal v1.11.0 h1:cWPaGQEPrBb5/AsnsZesgZZ9yb1OQ+GOISoDNXVBh4M=
github.com/rogpeppe/go-internal v1.11.0/go.mod h1:ddIwULY96R17DhadqLgMfk9H9tvdUzkipdSkR5nkCZA=
github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk=
github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM=
golang.org/x/net v0.9.0 h1:aWJ/m6xSmxWBx+V0XRHTlrYrPG56jKsLdTFmsSsCzOM=
golang.org/x/net v0.9.0/go.mod h1:d48xBJpPfHeWQsugry2m+kC02ZBRGRgulfHnEXEuWns=
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/net v0.19.0 h1:zTwKpTd2XuCqf8huc7Fo2iSy+4RHPd10s4KzeTnVr1c=
golang.org/x/net v0.19.0/go.mod h1:CfAk/cbD4CthTvqiEl8NpboMuiuOYsAr/7NOjZJtv1U=
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.7.0 h1:3jlCCIQZPdOYu1h8BkNvLz8Kgwtae2cagcG/VamtZRU=
golang.org/x/sys v0.7.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/sys v0.15.0 h1:h48lPFYpsTvQJZF4EKyI4aLHaev3CxivZmv7yZig9pc=
golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.9.0 h1:2sjJmO8cDvYveuX97RDLsxlyUxLl+GHoLxBiRdHllBE=
golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ=
golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY=
golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE=
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc=
google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo=
google.golang.org/genproto v0.0.0-20211118181313-81c1377c94b1 h1:b9mVrqYfq3P4bCdaLg1qtBnPzUYgglsIdjZkL/fQVOE=
google.golang.org/genproto v0.0.0-20211118181313-81c1377c94b1/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg=
google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY=
google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0=
google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU=
google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34=
google.golang.org/grpc v1.51.0 h1:E1eGv1FTqoLIdnBCZufiSHgKjlqG6fKFf6pPWtMTh8U=
google.golang.org/grpc v1.51.0/go.mod h1:wgNDFcnuBGmxLKI/qn4T+m5BtEBYXJPvibbUPsAIPww=
google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM=
google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE=
google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo=
google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c=
google.golang.org/genproto v0.0.0-20231030173426-d783a09b4405 h1:I6WNifs6pF9tNdSob2W24JtyxIYjzFB9qDlpUC76q+U=
google.golang.org/genproto v0.0.0-20231030173426-d783a09b4405/go.mod h1:3WDQMjmJk36UQhjQ89emUzb1mdaHcPeeAh4SCBKznB4=
google.golang.org/genproto/googleapis/api v0.0.0-20231106174013-bbf56f31fb17 h1:JpwMPBpFN3uKhdaekDpiNlImDdkUAyiJ6ez/uxGaUSo=
google.golang.org/genproto/googleapis/api v0.0.0-20231106174013-bbf56f31fb17/go.mod h1:0xJLfVdJqpAPl8tDg1ujOCGzx6LFLttXT5NhllGOXY4=
google.golang.org/genproto/googleapis/rpc v0.0.0-20231030173426-d783a09b4405 h1:AB/lmRny7e2pLhFEYIbl5qkDAUt2h0ZRO4wGPhZf+ik=
google.golang.org/genproto/googleapis/rpc v0.0.0-20231030173426-d783a09b4405/go.mod h1:67X1fPuzjcrkymZzZV1vvkFeTn2Rvc6lYF9MYFGCcwE=
google.golang.org/grpc v1.60.1 h1:26+wFr+cNqSGFcOXcabYC0lUVJVRa2Sb2ortSK7VrEU=
google.golang.org/grpc v1.60.1/go.mod h1:OlCHIeLYqSSsLi6i49B5QGdzaMZK9+M7LXN2FKz4eGM=
google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
google.golang.org/protobuf v1.30.0 h1:kPPoIgf3TsEvrm0PFe15JQ+570QVxYzEvvHqChK+cng=
google.golang.org/protobuf v1.30.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
google.golang.org/protobuf v1.32.0 h1:pPC6BG5ex8PDFnkbrGU3EixyhKcQ2aDuBS36lqK/C7I=
google.golang.org/protobuf v1.32.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=

View File

@ -287,33 +287,34 @@ func init() {
func init() { proto.RegisterFile("membership.proto", fileDescriptor_949fe0d019050ef5) }
var fileDescriptor_949fe0d019050ef5 = []byte{
// 401 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x52, 0xcd, 0xae, 0xd2, 0x40,
0x14, 0xbe, 0xd3, 0xde, 0xdc, 0xdb, 0x9e, 0x6b, 0x10, 0x27, 0x24, 0x36, 0xa0, 0xb5, 0x61, 0xc5,
0xaa, 0x24, 0x12, 0x36, 0xee, 0x54, 0x58, 0x60, 0xc4, 0xc5, 0x18, 0xdc, 0x92, 0x29, 0x1c, 0xb0,
0x49, 0x69, 0xeb, 0xcc, 0x14, 0xf7, 0x2e, 0x7d, 0x02, 0xdf, 0xc2, 0x95, 0xef, 0xc0, 0xd2, 0x47,
0x50, 0x7c, 0x11, 0xd3, 0x99, 0x42, 0x4b, 0x74, 0x75, 0x77, 0xa7, 0x5f, 0xcf, 0xf9, 0xfe, 0x5a,
0x68, 0xef, 0x70, 0x17, 0xa1, 0x90, 0x1f, 0xe3, 0x3c, 0xcc, 0x45, 0xa6, 0x32, 0xfa, 0xa0, 0x46,
0xf2, 0xa8, 0xdb, 0xd9, 0x66, 0xdb, 0x4c, 0xbf, 0x18, 0x96, 0x93, 0xd9, 0xe9, 0x06, 0xa8, 0x56,
0xeb, 0x21, 0xcf, 0xe3, 0xe1, 0x1e, 0x85, 0x8c, 0xb3, 0x34, 0x8f, 0x4e, 0x93, 0xd9, 0xe8, 0x2f,
0xa0, 0xc5, 0xf8, 0x46, 0xbd, 0x54, 0x4a, 0xc4, 0x51, 0xa1, 0x50, 0xd2, 0x1e, 0xb8, 0x39, 0xa2,
0x58, 0x16, 0x22, 0x91, 0x1e, 0x09, 0xec, 0x81, 0xcb, 0x9c, 0x12, 0x58, 0x88, 0x44, 0xd2, 0xa7,
0x00, 0xb1, 0x5c, 0x26, 0xc8, 0x45, 0x8a, 0xc2, 0xb3, 0x02, 0x32, 0x70, 0x98, 0x1b, 0xcb, 0xb7,
0x06, 0x78, 0x71, 0xfb, 0xe5, 0x87, 0x67, 0x8f, 0xc2, 0x71, 0xff, 0x0d, 0x40, 0x83, 0x92, 0xc2,
0x75, 0xca, 0x77, 0xe8, 0x91, 0x80, 0x0c, 0x5c, 0xa6, 0x67, 0xfa, 0x0c, 0xee, 0x56, 0x49, 0x8c,
0xa9, 0x32, 0x42, 0x96, 0x16, 0x02, 0x03, 0x95, 0x52, 0x35, 0xd7, 0x77, 0x02, 0x37, 0x73, 0x9d,
0x95, 0xb6, 0xc0, 0x9a, 0x4d, 0x34, 0xcd, 0x35, 0xb3, 0x66, 0x13, 0x3a, 0x85, 0x87, 0x82, 0x6f,
0xd4, 0x92, 0x9f, 0xb5, 0xb4, 0xa7, 0xbb, 0xe7, 0x4f, 0xc2, 0x66, 0x3b, 0xe1, 0x65, 0x44, 0xd6,
0x12, 0x97, 0x91, 0xa7, 0xf0, 0xc8, 0xac, 0x37, 0x89, 0x6c, 0x4d, 0xe4, 0x5d, 0x12, 0x35, 0x48,
0xaa, 0x2f, 0x52, 0x23, 0xb5, 0xe3, 0x31, 0x78, 0xaf, 0x93, 0x42, 0x2a, 0x14, 0x1f, 0x4c, 0xd9,
0xef, 0x51, 0x31, 0xfc, 0x54, 0xa0, 0x54, 0xb4, 0x0d, 0xf6, 0x1e, 0x45, 0x55, 0x45, 0x39, 0xd6,
0x67, 0x5f, 0x09, 0xf4, 0xaa, 0xbb, 0xf9, 0x99, 0xbb, 0x71, 0xda, 0x03, 0xb7, 0xb2, 0x79, 0x2e,
0xc1, 0x31, 0x80, 0xae, 0xe2, 0x3f, 0x19, 0xac, 0xfb, 0x67, 0x78, 0x07, 0x8f, 0x27, 0xd9, 0xe7,
0x74, 0x2b, 0xf8, 0x1a, 0x67, 0xe9, 0x26, 0x6b, 0xf8, 0xf0, 0xe0, 0x16, 0x53, 0x1e, 0x25, 0xb8,
0xd6, 0x2e, 0x1c, 0x76, 0x7a, 0x3c, 0x85, 0xb3, 0xfe, 0x0d, 0xf7, 0xaa, 0x73, 0xf8, 0xed, 0x5f,
0x1d, 0x8e, 0x3e, 0xf9, 0x79, 0xf4, 0xc9, 0xaf, 0xa3, 0x4f, 0xbe, 0xfd, 0xf1, 0xaf, 0xa2, 0x1b,
0xfd, 0x17, 0x8e, 0xfe, 0x06, 0x00, 0x00, 0xff, 0xff, 0xf1, 0xa3, 0xbd, 0xee, 0xdf, 0x02, 0x00,
0x00,
// 422 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x52, 0xc1, 0x6e, 0xd3, 0x40,
0x10, 0xed, 0x3a, 0x55, 0x6b, 0x4f, 0x51, 0x28, 0x2b, 0x24, 0xac, 0x06, 0x8c, 0x55, 0x2e, 0x39,
0xd9, 0x12, 0x51, 0x0f, 0x70, 0x03, 0xd2, 0x43, 0x10, 0xe5, 0xb0, 0xa8, 0x1c, 0xb8, 0x44, 0xeb,
0x66, 0x62, 0x56, 0x72, 0xbc, 0x66, 0x77, 0x5d, 0xee, 0x1c, 0xf9, 0x02, 0xfe, 0x82, 0x13, 0xff,
0xd0, 0x23, 0x9f, 0x00, 0xe1, 0x47, 0x90, 0x77, 0x9d, 0xd8, 0x11, 0x9c, 0x7a, 0x1b, 0x3f, 0xcf,
0xbc, 0x79, 0xef, 0xed, 0xc0, 0xf1, 0x0a, 0x57, 0x19, 0x2a, 0xfd, 0x51, 0x54, 0x49, 0xa5, 0xa4,
0x91, 0xf4, 0x4e, 0x87, 0x54, 0xd9, 0xc9, 0xfd, 0x5c, 0xe6, 0xd2, 0xfe, 0x48, 0x9b, 0xca, 0xf5,
0x9c, 0xc4, 0x68, 0xae, 0x16, 0x29, 0xaf, 0x44, 0x7a, 0x8d, 0x4a, 0x0b, 0x59, 0x56, 0xd9, 0xa6,
0x72, 0x1d, 0xa7, 0x97, 0x30, 0x64, 0x7c, 0x69, 0x5e, 0x18, 0xa3, 0x44, 0x56, 0x1b, 0xd4, 0x74,
0x04, 0x41, 0x85, 0xa8, 0xe6, 0xb5, 0x2a, 0x74, 0x48, 0xe2, 0xc1, 0x38, 0x60, 0x7e, 0x03, 0x5c,
0xaa, 0x42, 0xd3, 0x47, 0x00, 0x42, 0xcf, 0x0b, 0xe4, 0xaa, 0x44, 0x15, 0x7a, 0x31, 0x19, 0xfb,
0x2c, 0x10, 0xfa, 0x8d, 0x03, 0x9e, 0x1f, 0x7e, 0xf9, 0x11, 0x0e, 0x26, 0xc9, 0xd9, 0xe9, 0x6b,
0x80, 0x1e, 0x25, 0x85, 0xfd, 0x92, 0xaf, 0x30, 0x24, 0x31, 0x19, 0x07, 0xcc, 0xd6, 0xf4, 0x31,
0x1c, 0x5d, 0x15, 0x02, 0x4b, 0xe3, 0x16, 0x79, 0x76, 0x11, 0x38, 0xa8, 0x59, 0xd5, 0x71, 0x7d,
0x27, 0x70, 0x70, 0x61, 0xbd, 0xd2, 0x21, 0x78, 0xb3, 0xa9, 0xa5, 0xd9, 0x67, 0xde, 0x6c, 0x4a,
0xcf, 0xe1, 0xae, 0xe2, 0x4b, 0x33, 0xe7, 0xdb, 0x5d, 0x56, 0xd3, 0xd1, 0xd3, 0x87, 0x49, 0x3f,
0x9d, 0x64, 0xd7, 0x22, 0x1b, 0xaa, 0x5d, 0xcb, 0xe7, 0x70, 0xcf, 0xb5, 0xf7, 0x89, 0x06, 0x96,
0x28, 0xdc, 0x25, 0xea, 0x91, 0xb4, 0x2f, 0xd2, 0x21, 0x9d, 0xe2, 0x33, 0x08, 0x5f, 0x15, 0xb5,
0x36, 0xa8, 0xde, 0xbb, 0xb0, 0xdf, 0xa1, 0x61, 0xf8, 0xa9, 0x46, 0x6d, 0xe8, 0x31, 0x0c, 0xae,
0x51, 0xb5, 0x51, 0x34, 0x65, 0x37, 0xf6, 0x95, 0xc0, 0xa8, 0x9d, 0xbb, 0xd8, 0x72, 0xf7, 0x46,
0x47, 0x10, 0xb4, 0x32, 0xb7, 0x21, 0xf8, 0x0e, 0xb0, 0x51, 0xfc, 0xc7, 0x83, 0x77, 0x7b, 0x0f,
0x6f, 0xe1, 0xc1, 0x54, 0x7e, 0x2e, 0x73, 0xc5, 0x17, 0x38, 0x2b, 0x97, 0xb2, 0xa7, 0x23, 0x84,
0x43, 0x2c, 0x79, 0x56, 0xe0, 0xc2, 0xaa, 0xf0, 0xd9, 0xe6, 0x73, 0x63, 0xce, 0xfb, 0xd7, 0xdc,
0xcb, 0x67, 0x37, 0xbf, 0xa3, 0xbd, 0x9b, 0x75, 0x44, 0x7e, 0xae, 0x23, 0xf2, 0x6b, 0x1d, 0x91,
0x6f, 0x7f, 0xa2, 0xbd, 0x0f, 0x4f, 0x72, 0x99, 0x34, 0x37, 0x9a, 0x08, 0x99, 0x76, 0xb7, 0x3a,
0x49, 0xfb, 0x82, 0xb3, 0x03, 0x7b, 0xaa, 0x93, 0xbf, 0x01, 0x00, 0x00, 0xff, 0xff, 0xcf, 0x56,
0x21, 0x97, 0x04, 0x03, 0x00, 0x00,
}
func (m *RaftAttributes) Marshal() (dAtA []byte, err error) {

View File

@ -4,6 +4,8 @@ package membershippb;
import "gogoproto/gogo.proto";
import "etcd/api/versionpb/version.proto";
option go_package = "go.etcd.io/etcd/api/v3/membershippb";
option (gogoproto.marshaler_all) = true;
option (gogoproto.sizer_all) = true;
option (gogoproto.unmarshaler_all) = true;

View File

@ -164,26 +164,28 @@ func init() {
func init() { proto.RegisterFile("kv.proto", fileDescriptor_2216fe83c9c12408) }
var fileDescriptor_2216fe83c9c12408 = []byte{
// 303 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x90, 0x41, 0x4e, 0xc2, 0x40,
0x14, 0x86, 0x3b, 0x14, 0x0a, 0x3e, 0x08, 0x36, 0x13, 0x12, 0x27, 0x2e, 0x26, 0x95, 0x8d, 0x18,
0x13, 0x4c, 0xf0, 0x06, 0xc6, 0xae, 0x70, 0x61, 0x1a, 0x74, 0x4b, 0x4a, 0x79, 0x21, 0xa4, 0x94,
0x69, 0x4a, 0x9d, 0xa4, 0x37, 0x71, 0xef, 0xde, 0x73, 0xb0, 0xe4, 0x08, 0x52, 0x2f, 0x62, 0xfa,
0xc6, 0xe2, 0xc6, 0xcd, 0xe4, 0xfd, 0xff, 0xff, 0x65, 0xe6, 0x7f, 0x03, 0x9d, 0x58, 0x8f, 0xd3,
0x4c, 0xe5, 0x8a, 0x3b, 0x89, 0x8e, 0xa2, 0x74, 0x71, 0x39, 0x58, 0xa9, 0x95, 0x22, 0xeb, 0xae,
0x9a, 0x4c, 0x3a, 0xfc, 0x64, 0xd0, 0x99, 0x62, 0xf1, 0x1a, 0x6e, 0xde, 0x90, 0xbb, 0x60, 0xc7,
0x58, 0x08, 0xe6, 0xb1, 0x51, 0x2f, 0xa8, 0x46, 0x7e, 0x0d, 0xe7, 0x51, 0x86, 0x61, 0x8e, 0xf3,
0x0c, 0xf5, 0x7a, 0xb7, 0x56, 0x5b, 0xd1, 0xf0, 0xd8, 0xc8, 0x0e, 0xfa, 0xc6, 0x0e, 0x7e, 0x5d,
0x7e, 0x05, 0xbd, 0x44, 0x2d, 0xff, 0x28, 0x9b, 0xa8, 0x6e, 0xa2, 0x96, 0x27, 0x44, 0x40, 0x5b,
0x63, 0x46, 0x69, 0x93, 0xd2, 0x5a, 0xf2, 0x01, 0xb4, 0x74, 0x55, 0x40, 0xb4, 0xe8, 0x65, 0x23,
0x2a, 0x77, 0x83, 0xe1, 0x0e, 0x85, 0x43, 0xb4, 0x11, 0xc3, 0x0f, 0x06, 0x2d, 0x5f, 0xe3, 0x36,
0xe7, 0xb7, 0xd0, 0xcc, 0x8b, 0x14, 0xa9, 0x6e, 0x7f, 0x72, 0x31, 0x36, 0x7b, 0x8e, 0x29, 0x34,
0xe7, 0xac, 0x48, 0x31, 0x20, 0x88, 0x7b, 0xd0, 0x88, 0x35, 0x75, 0xef, 0x4e, 0xdc, 0x1a, 0xad,
0x17, 0x0f, 0x1a, 0xb1, 0xe6, 0x37, 0xd0, 0x4e, 0x33, 0xd4, 0xf3, 0x58, 0x53, 0xf9, 0xff, 0x30,
0xa7, 0x02, 0xa6, 0x7a, 0xe8, 0xc1, 0xd9, 0xe9, 0x7e, 0xde, 0x06, 0xfb, 0xf9, 0x65, 0xe6, 0x5a,
0x1c, 0xc0, 0x79, 0xf4, 0x9f, 0xfc, 0x99, 0xef, 0xb2, 0x07, 0xb1, 0x3f, 0x4a, 0xeb, 0x70, 0x94,
0xd6, 0xbe, 0x94, 0xec, 0x50, 0x4a, 0xf6, 0x55, 0x4a, 0xf6, 0xfe, 0x2d, 0xad, 0x85, 0x43, 0xff,
0x7e, 0xff, 0x13, 0x00, 0x00, 0xff, 0xff, 0xb5, 0x45, 0x92, 0x5d, 0xa1, 0x01, 0x00, 0x00,
// 327 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x91, 0xc1, 0x6a, 0xfa, 0x40,
0x10, 0xc6, 0xb3, 0x46, 0xa3, 0xff, 0x51, 0xfc, 0x87, 0x45, 0x68, 0x28, 0x34, 0xa4, 0x5e, 0x6a,
0x29, 0x24, 0xa0, 0x87, 0xde, 0x4b, 0x73, 0xb2, 0x87, 0x12, 0x6c, 0x0f, 0xbd, 0x48, 0x8c, 0x83,
0x84, 0xa8, 0x1b, 0x62, 0xba, 0x90, 0x37, 0xe9, 0xbd, 0xf7, 0x3e, 0x87, 0x47, 0x1f, 0xa1, 0xda,
0x17, 0x29, 0x3b, 0x5b, 0xed, 0xa5, 0x97, 0xdd, 0x99, 0xef, 0xfb, 0xb1, 0xf3, 0x0d, 0x0b, 0xad,
0x4c, 0xfa, 0x79, 0x21, 0x4a, 0xc1, 0xad, 0x95, 0x4c, 0x92, 0x7c, 0x76, 0xde, 0x5b, 0x88, 0x85,
0x20, 0x29, 0x50, 0x95, 0x76, 0xfb, 0x1f, 0x0c, 0x5a, 0x63, 0xac, 0x9e, 0xe3, 0xe5, 0x2b, 0x72,
0x1b, 0xcc, 0x0c, 0x2b, 0x87, 0x79, 0x6c, 0xd0, 0x89, 0x54, 0xc9, 0xaf, 0xe0, 0x7f, 0x52, 0x60,
0x5c, 0xe2, 0xb4, 0x40, 0x99, 0x6e, 0x52, 0xb1, 0x76, 0x6a, 0x1e, 0x1b, 0x98, 0x51, 0x57, 0xcb,
0xd1, 0x8f, 0xca, 0x2f, 0xa1, 0xb3, 0x12, 0xf3, 0x5f, 0xca, 0x24, 0xaa, 0xbd, 0x12, 0xf3, 0x13,
0xe2, 0x40, 0x53, 0x62, 0x41, 0x6e, 0x9d, 0xdc, 0x63, 0xcb, 0x7b, 0xd0, 0x90, 0x2a, 0x80, 0xd3,
0xa0, 0xc9, 0xba, 0x51, 0xea, 0x12, 0xe3, 0x0d, 0x3a, 0x16, 0xd1, 0xba, 0xe9, 0xbf, 0x33, 0x68,
0x84, 0x12, 0xd7, 0x25, 0xbf, 0x81, 0x7a, 0x59, 0xe5, 0x48, 0x71, 0xbb, 0xc3, 0x33, 0x5f, 0xef,
0xe9, 0x93, 0xa9, 0xcf, 0x49, 0x95, 0x63, 0x44, 0x10, 0xf7, 0xa0, 0x96, 0x49, 0xca, 0xde, 0x1e,
0xda, 0x47, 0xf4, 0xb8, 0x78, 0x54, 0xcb, 0x24, 0xbf, 0x86, 0x66, 0x5e, 0xa0, 0x9c, 0x66, 0x92,
0xc2, 0xff, 0x85, 0x59, 0x0a, 0x18, 0xcb, 0xbe, 0x07, 0xff, 0x4e, 0xef, 0xf3, 0x26, 0x98, 0x8f,
0x4f, 0x13, 0xdb, 0xe0, 0x00, 0xd6, 0x7d, 0xf8, 0x10, 0x4e, 0x42, 0x9b, 0xdd, 0xdd, 0x6e, 0xf7,
0xae, 0xb1, 0xdb, 0xbb, 0xc6, 0xf6, 0xe0, 0xb2, 0xdd, 0xc1, 0x65, 0x9f, 0x07, 0x97, 0xbd, 0x7d,
0xb9, 0xc6, 0xcb, 0xc5, 0x42, 0xf8, 0x58, 0x26, 0x73, 0x3f, 0x15, 0x81, 0xba, 0x83, 0x38, 0x4f,
0x03, 0x39, 0x0a, 0xf4, 0xac, 0x99, 0x45, 0xdf, 0x32, 0xfa, 0x0e, 0x00, 0x00, 0xff, 0xff, 0x78,
0x06, 0x46, 0xf5, 0xc0, 0x01, 0x00, 0x00,
}
func (m *KeyValue) Marshal() (dAtA []byte, err error) {

View File

@ -3,6 +3,8 @@ package mvccpb;
import "gogoproto/gogo.proto";
option go_package = "go.etcd.io/etcd/api/v3/mvccpb";
option (gogoproto.marshaler_all) = true;
option (gogoproto.sizer_all) = true;
option (gogoproto.unmarshaler_all) = true;

View File

@ -47,6 +47,7 @@ var (
ErrGRPCMemberNotLearner = status.Error(codes.FailedPrecondition, "etcdserver: can only promote a learner member")
ErrGRPCLearnerNotReady = status.Error(codes.FailedPrecondition, "etcdserver: can only promote a learner member which is in sync with leader")
ErrGRPCTooManyLearners = status.Error(codes.FailedPrecondition, "etcdserver: too many learner members in cluster")
ErrGRPCClusterIdMismatch = status.Error(codes.FailedPrecondition, "etcdserver: cluster ID mismatch")
ErrGRPCRequestTooLarge = status.Error(codes.InvalidArgument, "etcdserver: request is too large")
ErrGRPCRequestTooManyRequests = status.Error(codes.ResourceExhausted, "etcdserver: too many requests")
@ -117,6 +118,7 @@ var (
ErrorDesc(ErrGRPCMemberNotLearner): ErrGRPCMemberNotLearner,
ErrorDesc(ErrGRPCLearnerNotReady): ErrGRPCLearnerNotReady,
ErrorDesc(ErrGRPCTooManyLearners): ErrGRPCTooManyLearners,
ErrorDesc(ErrGRPCClusterIdMismatch): ErrGRPCClusterIdMismatch,
ErrorDesc(ErrGRPCRequestTooLarge): ErrGRPCRequestTooLarge,
ErrorDesc(ErrGRPCRequestTooManyRequests): ErrGRPCRequestTooManyRequests,
@ -204,6 +206,7 @@ var (
ErrInvalidAuthToken = Error(ErrGRPCInvalidAuthToken)
ErrAuthOldRevision = Error(ErrGRPCAuthOldRevision)
ErrInvalidAuthMgmt = Error(ErrGRPCInvalidAuthMgmt)
ErrClusterIdMismatch = Error(ErrGRPCClusterIdMismatch)
ErrNoLeader = Error(ErrGRPCNoLeader)
ErrNotLeader = Error(ErrGRPCNotLeader)

View File

@ -18,3 +18,6 @@ var (
TokenFieldNameGRPC = "token"
TokenFieldNameSwagger = "authorization"
)
// TokenFieldNameGRPCKey is used as a key of context to store token.
type TokenFieldNameGRPCKey struct{}

View File

@ -44,6 +44,9 @@ var (
V3_6 = semver.Version{Major: 3, Minor: 6}
V3_7 = semver.Version{Major: 3, Minor: 7}
V4_0 = semver.Version{Major: 4, Minor: 0}
// AllVersions keeps all the versions in ascending order.
AllVersions = []semver.Version{V3_0, V3_1, V3_2, V3_3, V3_4, V3_5, V3_6, V3_7, V4_0}
)
func init() {

View File

@ -8,7 +8,7 @@ import (
math "math"
_ "github.com/gogo/protobuf/gogoproto"
protobuf "github.com/gogo/protobuf/protoc-gen-gogo/descriptor"
descriptor "github.com/gogo/protobuf/protoc-gen-gogo/descriptor"
proto "github.com/golang/protobuf/proto"
)
@ -24,7 +24,7 @@ var _ = math.Inf
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
var E_EtcdVersionMsg = &proto.ExtensionDesc{
ExtendedType: (*protobuf.MessageOptions)(nil),
ExtendedType: (*descriptor.MessageOptions)(nil),
ExtensionType: (*string)(nil),
Field: 50000,
Name: "versionpb.etcd_version_msg",
@ -33,7 +33,7 @@ var E_EtcdVersionMsg = &proto.ExtensionDesc{
}
var E_EtcdVersionField = &proto.ExtensionDesc{
ExtendedType: (*protobuf.FieldOptions)(nil),
ExtendedType: (*descriptor.FieldOptions)(nil),
ExtensionType: (*string)(nil),
Field: 50001,
Name: "versionpb.etcd_version_field",
@ -42,7 +42,7 @@ var E_EtcdVersionField = &proto.ExtensionDesc{
}
var E_EtcdVersionEnum = &proto.ExtensionDesc{
ExtendedType: (*protobuf.EnumOptions)(nil),
ExtendedType: (*descriptor.EnumOptions)(nil),
ExtensionType: (*string)(nil),
Field: 50002,
Name: "versionpb.etcd_version_enum",
@ -51,7 +51,7 @@ var E_EtcdVersionEnum = &proto.ExtensionDesc{
}
var E_EtcdVersionEnumValue = &proto.ExtensionDesc{
ExtendedType: (*protobuf.EnumValueOptions)(nil),
ExtendedType: (*descriptor.EnumValueOptions)(nil),
ExtensionType: (*string)(nil),
Field: 50003,
Name: "versionpb.etcd_version_enum_value",
@ -69,22 +69,23 @@ func init() {
func init() { proto.RegisterFile("version.proto", fileDescriptor_7d2c07d79758f814) }
var fileDescriptor_7d2c07d79758f814 = []byte{
// 261 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0x2d, 0x4b, 0x2d, 0x2a,
0xce, 0xcc, 0xcf, 0xd3, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0xe2, 0x84, 0x72, 0x0b, 0x92, 0xa4,
0x44, 0xd2, 0xf3, 0xd3, 0xf3, 0xc1, 0xa2, 0xfa, 0x20, 0x16, 0x44, 0x81, 0x94, 0x42, 0x7a, 0x7e,
0x7e, 0x7a, 0x4e, 0xaa, 0x3e, 0x98, 0x97, 0x54, 0x9a, 0xa6, 0x9f, 0x92, 0x5a, 0x9c, 0x5c, 0x94,
0x59, 0x50, 0x92, 0x5f, 0x04, 0x51, 0x61, 0xe5, 0xc7, 0x25, 0x90, 0x5a, 0x92, 0x9c, 0x12, 0x0f,
0x35, 0x29, 0x3e, 0xb7, 0x38, 0x5d, 0x48, 0x5e, 0x0f, 0xa2, 0x4d, 0x0f, 0xa6, 0x4d, 0xcf, 0x37,
0xb5, 0xb8, 0x38, 0x31, 0x3d, 0xd5, 0xbf, 0xa0, 0x24, 0x33, 0x3f, 0xaf, 0x58, 0xe2, 0x42, 0x1b,
0xb3, 0x02, 0xa3, 0x06, 0x67, 0x10, 0x1f, 0x48, 0x6b, 0x18, 0x44, 0xa7, 0x6f, 0x71, 0x7a, 0x07,
0x23, 0xa3, 0x55, 0x00, 0x97, 0x10, 0x8a, 0x79, 0x69, 0x99, 0xa9, 0x39, 0x29, 0x42, 0xb2, 0x18,
0x26, 0xba, 0x81, 0xc4, 0x61, 0xe6, 0x5d, 0x84, 0x9a, 0x27, 0x80, 0x64, 0x1e, 0x58, 0x01, 0xc8,
0x44, 0x5f, 0x2e, 0x41, 0x14, 0x13, 0x53, 0xf3, 0x4a, 0x73, 0x85, 0x64, 0x30, 0x0c, 0x74, 0xcd,
0x2b, 0xcd, 0x85, 0x99, 0x77, 0x09, 0x6a, 0x1e, 0x3f, 0x92, 0x79, 0x20, 0x79, 0x90, 0x71, 0xb1,
0x5c, 0xe2, 0x18, 0xc6, 0xc5, 0x97, 0x25, 0xe6, 0x94, 0xa6, 0x0a, 0x29, 0x62, 0x35, 0x34, 0x0c,
0x24, 0x07, 0x33, 0xf9, 0x32, 0xd4, 0x64, 0x11, 0x34, 0x93, 0xc1, 0x8a, 0x3a, 0x18, 0x19, 0x9d,
0x04, 0x4e, 0x3c, 0x92, 0x63, 0xbc, 0xf0, 0x48, 0x8e, 0xf1, 0xc1, 0x23, 0x39, 0xc6, 0x19, 0x8f,
0xe5, 0x18, 0x92, 0xd8, 0xc0, 0xa6, 0x19, 0x03, 0x02, 0x00, 0x00, 0xff, 0xff, 0x77, 0x44, 0xe2,
0xa4, 0xbc, 0x01, 0x00, 0x00,
// 284 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0xd1, 0xc1, 0x4a, 0xc3, 0x30,
0x18, 0x07, 0x70, 0x83, 0x20, 0x2c, 0xa0, 0xce, 0x30, 0x50, 0x86, 0xd6, 0x7a, 0xf3, 0x94, 0x80,
0xbb, 0xed, 0x28, 0xe8, 0xad, 0x2a, 0x1e, 0x76, 0x10, 0xa4, 0xb4, 0x6b, 0x16, 0x02, 0x6d, 0xbf,
0xd0, 0xb4, 0x7d, 0x04, 0xd9, 0x23, 0xf8, 0x48, 0x1e, 0xa7, 0xbe, 0x80, 0xd4, 0x17, 0x91, 0xa4,
0xa9, 0xac, 0xd6, 0x53, 0xfb, 0x7d, 0xdf, 0xff, 0xff, 0xeb, 0xa1, 0x78, 0xbf, 0xe6, 0x85, 0x96,
0x90, 0x53, 0x55, 0x40, 0x09, 0x64, 0xe4, 0x46, 0x15, 0x4f, 0x27, 0x02, 0x04, 0xd8, 0x2d, 0x33,
0x6f, 0x6d, 0x60, 0xea, 0x0b, 0x00, 0x91, 0x72, 0x66, 0xa7, 0xb8, 0x5a, 0xb1, 0x84, 0xeb, 0x65,
0x21, 0x55, 0x09, 0x45, 0x9b, 0x98, 0xdf, 0xe1, 0x31, 0x2f, 0x97, 0x49, 0xe8, 0xa4, 0x30, 0xd3,
0x82, 0x9c, 0xd3, 0xb6, 0x46, 0xbb, 0x1a, 0x0d, 0xb8, 0xd6, 0x91, 0xe0, 0xf7, 0xaa, 0x94, 0x90,
0xeb, 0x93, 0xcd, 0xcb, 0xae, 0x8f, 0x2e, 0x47, 0x8f, 0x07, 0xa6, 0xba, 0x68, 0x9b, 0x81, 0x16,
0x6b, 0x84, 0xe6, 0x0f, 0x98, 0xf4, 0xbc, 0x95, 0xe4, 0x69, 0x42, 0xce, 0x06, 0xe2, 0xad, 0xd9,
0x77, 0xde, 0xbb, 0xf3, 0xc6, 0x5b, 0x9e, 0x0d, 0x18, 0x31, 0xc0, 0x47, 0x3d, 0x91, 0xe7, 0x55,
0x46, 0x4e, 0x07, 0xe0, 0x4d, 0x5e, 0x65, 0x9d, 0xf7, 0xe1, 0xbc, 0xc3, 0x2d, 0xcf, 0xdc, 0x0d,
0xf7, 0x8c, 0x8f, 0x07, 0x5c, 0x58, 0x47, 0x69, 0xc5, 0xc9, 0xc5, 0xbf, 0xe8, 0xc2, 0xdc, 0x3a,
0xf9, 0xd3, 0xc9, 0x93, 0x3f, 0xb2, 0x0d, 0xad, 0x11, 0xba, 0xbe, 0x7a, 0x6b, 0x3c, 0xb4, 0x69,
0x3c, 0xf4, 0xd5, 0x78, 0xe8, 0xf5, 0xdb, 0xdb, 0x79, 0xf2, 0x05, 0x50, 0x93, 0xa6, 0x12, 0x98,
0x79, 0xb2, 0x48, 0x49, 0x56, 0xcf, 0xd8, 0xef, 0xbf, 0x8b, 0xf7, 0xec, 0xf7, 0x66, 0x3f, 0x01,
0x00, 0x00, 0xff, 0xff, 0xe8, 0x02, 0x15, 0xc0, 0xde, 0x01, 0x00, 0x00,
}

View File

@ -4,6 +4,8 @@ package versionpb;
import "gogoproto/gogo.proto";
import "google/protobuf/descriptor.proto";
option go_package = "go.etcd.io/etcd/api/v3/versionpb";
option (gogoproto.marshaler_all) = true;
option (gogoproto.unmarshaler_all) = true;

View File

@ -17,15 +17,6 @@
}
]
},
{
"project": "github.com/benbjohnson/clock",
"licenses": [
{
"type": "MIT License",
"confidence": 1
}
]
},
{
"project": "github.com/beorn7/perks/quantile",
"licenses": [
@ -224,15 +215,6 @@
}
]
},
{
"project": "github.com/grpc-ecosystem/grpc-gateway",
"licenses": [
{
"type": "BSD 3-clause \"New\" or \"Revised\" License",
"confidence": 0.979253112033195
}
]
},
{
"project": "github.com/grpc-ecosystem/grpc-gateway/v2",
"licenses": [
@ -288,7 +270,7 @@
]
},
{
"project": "github.com/matttproud/golang_protobuf_extensions/pbutil",
"project": "github.com/matttproud/golang_protobuf_extensions/v2/pbutil",
"licenses": [
{
"type": "Apache License 2.0",
@ -521,6 +503,15 @@
}
]
},
{
"project": "go.etcd.io/gofail/runtime",
"licenses": [
{
"type": "Apache License 2.0",
"confidence": 1
}
]
},
{
"project": "go.etcd.io/raft/v3",
"licenses": [
@ -548,15 +539,6 @@
}
]
},
{
"project": "go.opentelemetry.io/otel/exporters/otlp/internal/retry",
"licenses": [
{
"type": "Apache License 2.0",
"confidence": 1
}
]
},
{
"project": "go.opentelemetry.io/otel/exporters/otlp/otlptrace",
"licenses": [
@ -611,15 +593,6 @@
}
]
},
{
"project": "go.uber.org/atomic",
"licenses": [
{
"type": "MIT License",
"confidence": 0.9891304347826086
}
]
},
{
"project": "go.uber.org/multierr",
"licenses": [
@ -693,7 +666,16 @@
]
},
{
"project": "google.golang.org/genproto",
"project": "google.golang.org/genproto/googleapis/api",
"licenses": [
{
"type": "Apache License 2.0",
"confidence": 1
}
]
},
{
"project": "google.golang.org/genproto/googleapis/rpc",
"licenses": [
{
"type": "Apache License 2.0",
@ -728,19 +710,6 @@
}
]
},
{
"project": "gopkg.in/yaml.v2",
"licenses": [
{
"type": "Apache License 2.0",
"confidence": 1
},
{
"type": "MIT License",
"confidence": 0.8975609756097561
}
]
},
{
"project": "gopkg.in/yaml.v3",
"licenses": [
@ -767,5 +736,18 @@
"confidence": 1
}
]
},
{
"project": "sigs.k8s.io/yaml/goyaml.v2",
"licenses": [
{
"type": "Apache License 2.0",
"confidence": 1
},
{
"type": "MIT License",
"confidence": 0.8975609756097561
}
]
}
]

View File

@ -8,7 +8,7 @@ package client
import "net/http"
func requestCanceler(tr CancelableTransport, req *http.Request) func() {
func requestCanceler(req *http.Request) func() {
ch := make(chan struct{})
req.Cancel = ch

View File

@ -41,7 +41,7 @@ var (
// oneShotCtxValue is set on a context using WithValue(&oneShotValue) so
// that Do() will not retry a request
oneShotCtxValue interface{}
oneShotCtxValue any
)
var DefaultRequestTimeout = 5 * time.Second
@ -556,7 +556,7 @@ func (c *simpleHTTPClient) Do(ctx context.Context, act httpAction) (*http.Respon
}
defer hcancel()
reqcancel := requestCanceler(c.transport, req)
reqcancel := requestCanceler(req)
rtchan := make(chan roundTripResponse, 1)
go func() {

View File

@ -496,10 +496,10 @@ func (f fakeCancelContext) Done() <-chan struct{} {
d <- struct{}{}
return d
}
func (f fakeCancelContext) Err() error { return errFakeCancelContext }
func (f fakeCancelContext) Value(key interface{}) interface{} { return 1 }
func (f fakeCancelContext) Err() error { return errFakeCancelContext }
func (f fakeCancelContext) Value(key any) any { return 1 }
func withTimeout(parent context.Context, timeout time.Duration) (
func withTimeout(parent context.Context, _timeout time.Duration) (
ctx context.Context,
cancel context.CancelFunc) {
ctx = parent

View File

@ -1,6 +1,6 @@
module go.etcd.io/etcd/client/v2
go 1.19
go 1.21
require (
go.etcd.io/etcd/api/v3 v3.6.0-alpha.0
@ -12,7 +12,7 @@ require (
github.com/coreos/go-semver v0.3.1 // indirect
github.com/davecgh/go-spew v1.1.1 // indirect
github.com/pmezard/go-difflib v1.0.0 // indirect
github.com/stretchr/testify v1.8.2 // indirect
github.com/stretchr/testify v1.8.4 // indirect
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
)

View File

@ -1,26 +1,20 @@
github.com/coreos/go-semver v0.3.1 h1:yi21YpKnrx1gt5R+la8n5WgS0kCrsPp33dmEyHReZr4=
github.com/coreos/go-semver v0.3.1/go.mod h1:irMmmIw/7yzSRPWryHsK7EYSg09caPQL03VsM8rvUec=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/kr/pretty v0.2.1 h1:Fmg33tUaq4/8ym9TJN1x7sLJnHVwhP33CNkpYV/7rwI=
github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo=
github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
github.com/stretchr/testify v1.8.2 h1:+h33VjcLVPDHtOdpUCuF+7gSuG3yGIftsP1YvFihtJ8=
github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk=
github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
sigs.k8s.io/json v0.0.0-20211020170558-c049b76a60c6 h1:fD1pz4yfdADVNfFmcP2aBEtudwUQ1AlLnRBALr33v3s=

View File

@ -15,23 +15,11 @@
package client_test
import (
"net/http"
"testing"
"go.etcd.io/etcd/client/pkg/v3/testutil"
)
func exampleEndpoints() []string { return nil }
func exampleTransport() *http.Transport { return nil }
func forUnitTestsRunInMockedContext(mocking func(), example func()) {
mocking()
// TODO: Call 'example' when mocking() provides realistic mocking of transport.
// The real testing logic of examples gets executed
// as part of ./tests/integration/client/example/...
}
func TestMain(m *testing.M) {
testutil.MustTestMainWithLeakDetection(m)
}

View File

@ -25,18 +25,24 @@ import (
)
func PurgeFile(lg *zap.Logger, dirname string, suffix string, max uint, interval time.Duration, stop <-chan struct{}) <-chan error {
return purgeFile(lg, dirname, suffix, max, interval, stop, nil, nil)
return purgeFile(lg, dirname, suffix, max, interval, stop, nil, nil, true)
}
func PurgeFileWithDoneNotify(lg *zap.Logger, dirname string, suffix string, max uint, interval time.Duration, stop <-chan struct{}) (<-chan struct{}, <-chan error) {
doneC := make(chan struct{})
errC := purgeFile(lg, dirname, suffix, max, interval, stop, nil, doneC)
errC := purgeFile(lg, dirname, suffix, max, interval, stop, nil, doneC, true)
return doneC, errC
}
func PurgeFileWithoutFlock(lg *zap.Logger, dirname string, suffix string, max uint, interval time.Duration, stop <-chan struct{}) (<-chan struct{}, <-chan error) {
doneC := make(chan struct{})
errC := purgeFile(lg, dirname, suffix, max, interval, stop, nil, doneC, false)
return doneC, errC
}
// purgeFile is the internal implementation for PurgeFile which can post purged files to purgec if non-nil.
// if donec is non-nil, the function closes it to notify its exit.
func purgeFile(lg *zap.Logger, dirname string, suffix string, max uint, interval time.Duration, stop <-chan struct{}, purgec chan<- string, donec chan<- struct{}) <-chan error {
func purgeFile(lg *zap.Logger, dirname string, suffix string, max uint, interval time.Duration, stop <-chan struct{}, purgec chan<- string, donec chan<- struct{}, flock bool) <-chan error {
if lg == nil {
lg = zap.NewNop()
}
@ -67,20 +73,25 @@ func purgeFile(lg *zap.Logger, dirname string, suffix string, max uint, interval
fnames = newfnames
for len(newfnames) > int(max) {
f := filepath.Join(dirname, newfnames[0])
l, err := TryLockFile(f, os.O_WRONLY, PrivateFileMode)
if err != nil {
lg.Warn("failed to lock file", zap.String("path", f), zap.Error(err))
break
var l *LockedFile
if flock {
l, err = TryLockFile(f, os.O_WRONLY, PrivateFileMode)
if err != nil {
lg.Warn("failed to lock file", zap.String("path", f), zap.Error(err))
break
}
}
if err = os.Remove(f); err != nil {
lg.Error("failed to remove file", zap.String("path", f), zap.Error(err))
errC <- err
return
}
if err = l.Close(); err != nil {
lg.Error("failed to unlock/close", zap.String("path", l.Name()), zap.Error(err))
errC <- err
return
if flock {
if err = l.Close(); err != nil {
lg.Error("failed to unlock/close", zap.String("path", l.Name()), zap.Error(err))
errC <- err
return
}
}
lg.Info("purged", zap.String("path", f))
newfnames = newfnames[1:]

View File

@ -40,7 +40,7 @@ func TestPurgeFile(t *testing.T) {
stop, purgec := make(chan struct{}), make(chan string, 10)
// keep 3 most recent files
errch := purgeFile(zaptest.NewLogger(t), dir, "test", 3, time.Millisecond, stop, purgec, nil)
errch := purgeFile(zaptest.NewLogger(t), dir, "test", 3, time.Millisecond, stop, purgec, nil, false)
select {
case f := <-purgec:
t.Errorf("unexpected purge on %q", f)
@ -107,7 +107,7 @@ func TestPurgeFileHoldingLockFile(t *testing.T) {
}
stop, purgec := make(chan struct{}), make(chan string, 10)
errch := purgeFile(zaptest.NewLogger(t), dir, "test", 3, time.Millisecond, stop, purgec, nil)
errch := purgeFile(zaptest.NewLogger(t), dir, "test", 3, time.Millisecond, stop, purgec, nil, true)
for i := 0; i < 5; i++ {
select {

View File

@ -1,19 +1,17 @@
module go.etcd.io/etcd/client/pkg/v3
go 1.19
go 1.21
require (
github.com/coreos/go-systemd/v22 v22.5.0
github.com/stretchr/testify v1.8.2
go.uber.org/zap v1.24.0
golang.org/x/sys v0.7.0
github.com/stretchr/testify v1.8.4
go.uber.org/zap v1.26.0
golang.org/x/sys v0.15.0
)
require (
github.com/benbjohnson/clock v1.1.0 // indirect
github.com/davecgh/go-spew v1.1.1 // indirect
github.com/pmezard/go-difflib v1.0.0 // indirect
go.uber.org/atomic v1.7.0 // indirect
go.uber.org/multierr v1.11.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
)

View File

@ -1,33 +1,21 @@
github.com/benbjohnson/clock v1.1.0 h1:Q92kusRqC1XV2MjkWETPvjJVqKetz1OzxZB7mHJLju8=
github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA=
github.com/coreos/go-systemd/v22 v22.5.0 h1:RrqgGjYQKalulkV8NGVIfkXQf6YYmOyiJKk8iXXhfZs=
github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
github.com/pkg/errors v0.8.1 h1:iURUrRGxPUNPdy5/HRSm+Yj6okJ6UtLINN0Q9M4+h3I=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo=
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
github.com/stretchr/testify v1.8.2 h1:+h33VjcLVPDHtOdpUCuF+7gSuG3yGIftsP1YvFihtJ8=
github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
go.uber.org/atomic v1.7.0 h1:ADUqmZGgLDDfbSL9ZmPxKTybcoEYHgpYfELNoN+7hsw=
go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc=
go.uber.org/goleak v1.1.11 h1:wy28qYRKZgnJTxGxvye5/wgWr1EKjmUDGYox5mGlRlI=
github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk=
github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
go.uber.org/goleak v1.2.0 h1:xqgm/S+aQvhWFTtR0XK3Jvg7z8kGV8P4X14IzwN3Eqk=
go.uber.org/goleak v1.2.0/go.mod h1:XJYK+MuIchqpmGmUSAzotztawfKvYLUIgg7guXrwVUo=
go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0=
go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y=
go.uber.org/zap v1.24.0 h1:FiJd5l1UOLj0wCgbSE0rwwXHzEdAZS6hiiSnxJN/D60=
go.uber.org/zap v1.24.0/go.mod h1:2kMP+WWQ8aoFoedH3T2sq6iJ2yDWpHbP0f6MQbS9Gkg=
golang.org/x/sys v0.7.0 h1:3jlCCIQZPdOYu1h8BkNvLz8Kgwtae2cagcG/VamtZRU=
golang.org/x/sys v0.7.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
go.uber.org/zap v1.26.0 h1:sI7k6L95XOKS281NhVKOFCUNIvv9e0w4BF8N3u+tCRo=
go.uber.org/zap v1.26.0/go.mod h1:dtElttAiwGvoJ/vj4IwHBS/gXsEu/pZ50mUIRWuG0so=
golang.org/x/sys v0.15.0 h1:h48lPFYpsTvQJZF4EKyI4aLHaev3CxivZmv7yZig9pc=
golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=

View File

@ -24,10 +24,10 @@ import (
"os"
"path/filepath"
"go.etcd.io/etcd/client/pkg/v3/systemd"
"github.com/coreos/go-systemd/v22/journal"
"go.uber.org/zap/zapcore"
"go.etcd.io/etcd/client/pkg/v3/systemd"
)
// NewJournalWriter wraps "io.Writer" to redirect log output

View File

@ -15,26 +15,25 @@
package testutil
import (
"reflect"
"testing"
"github.com/stretchr/testify/assert"
)
func copyToInterface(msg ...string) []interface{} {
newMsg := make([]interface{}, len(msg))
func copyToInterface(msg ...string) []any {
newMsg := make([]any, len(msg))
for i, v := range msg {
newMsg[i] = v
}
return newMsg
}
func AssertNil(t *testing.T, v interface{}) {
func AssertNil(t *testing.T, v any) {
t.Helper()
assert.Nil(t, v)
}
func AssertNotNil(t *testing.T, v interface{}) {
func AssertNotNil(t *testing.T, v any) {
t.Helper()
if v == nil {
t.Fatalf("expected non-nil, got %+v", v)
@ -52,11 +51,3 @@ func AssertFalse(t *testing.T, v bool, msg ...string) {
newMsg := copyToInterface(msg...)
assert.Equal(t, false, v, newMsg)
}
func isNil(v interface{}) bool {
if v == nil {
return true
}
rv := reflect.ValueOf(v)
return rv.Kind() != reflect.Struct && rv.IsNil()
}

View File

@ -23,7 +23,7 @@ import (
type Action struct {
Name string
Params []interface{}
Params []any
}
type Recorder interface {

Some files were not shown because too many files have changed in this diff Show More