Marek Siarkowicz
1b4e54c238
api: Annotate proto messages and use it to detect etcd version that generated wal
...
Co-authored-by: Lili Cosic <cosiclili@gmail.com>
2021-08-04 13:36:08 +02:00
Haimantika Mitra
c10d50c4b3
Replace github.com/form3tech-oss/jwt-go with https://github.com/golang-jwt/jwt
...
Signed-off-by: Haimantika Mitra <haimantikamitra@gmail.com>
Made required adjustments to the go.sum file
Signed-off-by: Haimantika Mitra <haimantikamitra@gmail.com>
Changed go.sum file in the server directory
Signed-off-by: Haimantika Mitra <haimantikamitra@gmail.com>
Removed the white space
Signed-off-by: Haimantika Mitra <haimantikamitra@gmail.com>
Made required changes
Signed-off-by: Haimantika Mitra <haimantikamitra@gmail.com>
Trying to fix the fails
Signed-off-by: haimantika mitra <haimantikamitra@gmail.com>
Removed error
Signed-off-by: haimantika mitra <haimantikamitra@gmail.com>
Fixed bill-of-materials.json file
Signed-off-by: haimantika mitra <haimantikamitra@gmail.com>
Changed go.mod with recent version
Signed-off-by: haimantika mitra <haimantikamitra@gmail.com>
Newer version changes
Signed-off-by: haimantika mitra <haimantikamitra@gmail.com>
Changes to etcdutl directory
Signed-off-by: haimantika mitra <haimantikamitra@gmail.com>
2021-08-03 13:49:47 +05:30
yuzhiquan
2a5dd39d79
invaild args
2021-07-28 11:39:54 +08:00
Piotr Tabor
8f9829cd2d
Merge pull request #13114 from lilic/fix-api-version
...
Bump etcd version to 3.5.0 and 3.6.0-pre
2021-06-24 14:26:17 +02:00
Mario Valderrama
6eabc41aee
etcdctl: add command to generate shell completion
...
To improve the UX of etcdctl. Completion is generated by cobra
according to defined commands and flags.
Fixes #13111
2021-06-22 13:29:23 +02:00
Lili Cosic
df696a7e76
go.mod: Bump etcd to 3.5.0
2021-06-22 12:25:39 +02:00
Piotr Tabor
5564476831
Merge pull request #13073 from serathius/snapshot-version
...
[Version in Snapshot] SnapshotResponse includes local etcd version
2021-06-21 16:56:00 +02:00
Marek Siarkowicz
e1b1d93548
*: Snapshot returns local etcd version
...
Co-authored-by: Lili Cosic <cosiclili@gmail.com>
2021-06-14 16:36:50 +02:00
Lili Cosic
16477a8270
Update client_golang dependency to v1.11.0
2021-06-07 14:49:57 +02:00
Piotr Tabor
404efd70f7
Upgrade of prometheous deps.
...
For now we need to depend on unstable: prometheus/client_golang
2021-06-03 16:07:01 +02:00
Piotr Tabor
edcfe575cf
Update dependencies:
...
- github.com/coreos/go-systemd/v22 v22.3.2
- github.com/google/btree v1.0.1
- github.com/json-iterator/go v1.1.11
- github.com/mattn/go-runewidth v0.0.13
- github.com/prometheus/client_golang v1.10.0
- github.com/prometheus/common v0.26.0
- github.com/sirupsen/logrus v1.8.1
2021-06-03 13:03:01 +02:00
Piotr Tabor
b240625d21
Update bbolt to v1.3.6.
...
`./scripts/update_dep.sh go.etcd.io/bbolt v1.3.6`
2021-06-03 12:39:53 +02:00
Piotr Tabor
90cea7d4e7
Update zap to v1.17.0.
2021-06-03 12:37:43 +02:00
Piotr Tabor
bda32db121
Expose clientv3.CreateDefaultZapLoggerConfig
...
Need raised in
f3f4259d3f
.
BTW: Alligned the implementation of grpclogs with what we use in embed
server, so reduced the client code dependencies.
2021-05-25 22:59:08 +02:00
赵延
64b01a7a8d
Enhance the root permission, when root role exist, it always return rootPerm. ( #13006 )
...
etcdctl role grant-permission root readwrite foo.
see etcdctl role get root output.
Before:
Role root
KV Read:
foo
KV Write:
foo
After:
Role root
KV Read:
[, <open ended>
KV Write:
[, <open ended>
2021-05-24 14:58:00 -07:00
Pavan BG
d9c5e1f0a2
*: Replace internal testutil AssertEqual function in favour of github.com/stretchr/testify/assert.Equals
...
To maintain uniformity in testing methodology, assert.Equals has been used everywhere while replacing testutil.AssertEqual
Fixes #13015
2021-05-20 19:55:45 +05:30
horizonzy
6ab56fc237
enhance GetRole output when role is 'root' and the response perm is nil.
...
Before output:
Role root
KV Read:
KV Write:
After output:
Role root
KV Read:
[, <open ended>
KV Write:
[, <open ended>
2021-05-19 17:35:13 +08:00
Piotr Tabor
3f7a038656
Fixed documentation and scripts.
2021-05-17 11:54:03 +02:00
Piotr Tabor
c09aca1ba4
Split etcdctl into etcdctl (public API access) & etcdutl (direct surgery on files)
...
Motivation is as follows:
- etcdctl we only depend on clientv3 APIs, no dependencies of bolt, backend, mvcc, file-layout
- etcdctl can be officially supported across wide range of versions, while etcdutl is pretty specific to file format at particular version.
it's step towards desired modules layout, documented in: https://etcd.io/docs/next/dev-internal/modules/
2021-05-17 11:54:03 +02:00
Piotr Tabor
3ed0cb1dfc
Update modules to more stable versions. ( #12975 )
2021-05-15 23:32:27 -07:00
Piotr Tabor
00c6090110
Refactor common code from etcdctl (v2,v3) to pkg/corbautl.
...
Preparation for etcdutl split.
2021-05-14 14:16:53 +02:00
Piotr Tabor
ab586cd463
Persists Term in the (bbolt) Backend.
...
Additional layer of protection, that allows to validate whether we
start replaying log not only from the proper 'index', but also of the
right 'term'.
2021-05-13 21:29:01 +02:00
Gyuho Lee
e2d67f2e3b
Merge pull request #12956 from gyuho/rename-to-main
...
*: rename "master" branch references to "main" in source code
2021-05-13 08:26:33 -07:00
Sahdev Zala
5f76adfc3e
doc: fix output flag format
...
Add missing dash in the flag.
2021-05-12 14:13:08 -04:00
Gyuho Lee
a8e1cf0433
client: rename "master" branch references to "main"
...
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2021-05-12 10:38:50 -07:00
Marek Siarkowicz
06afe87b34
client: Allow setting zap logger in config
2021-05-12 12:15:20 +02:00
Lili Cosic
1a718a958e
Add initial Tracing with OpenTelemetry
2021-05-10 10:44:40 +02:00
Piotr Tabor
aeb9b5fc73
Merge pull request #12855 from ptabor/20210409-backend-hooks
...
(no)StoreV2 (Part 4): Backend hooks: precommit updates consistency_index
2021-05-08 09:34:31 +02:00
Sam Batschelet
82b2d5c67d
server: add support for log rotation
...
Signed-off-by: Sam Batschelet <sbatsche@redhat.com>
2021-05-07 08:39:51 -04:00
Piotr Tabor
f1123d696c
fixup! Unify shared code (and constants) with cindex package.
2021-05-04 18:21:24 +02:00
Piotr Tabor
a78d072b9a
Simplify KVstore dependency on cindex.
2021-05-04 18:21:24 +02:00
Piotr Tabor
451f65d661
Merge pull request #12908 from ptabor/20210429-client-retry-logging
...
Clientv3 (retry interceptor) logs should use the configured logger
2021-04-29 19:25:04 +02:00
Piotr Tabor
cedbea6c81
Merge pull request #12904 from wpedrak/limit_mlocked_memory
...
server: replace mlockall with `Mlock` in `--experimental-memory-mlock`
2021-04-29 18:21:24 +02:00
Piotr Tabor
ffea1537d4
ClientV3 tests use integration.NewClient that configures proper logger.
2021-04-29 18:18:34 +02:00
Piotr Tabor
835643e6e2
Merge pull request #12906 from ptabor/20210429-etcdctl-v2-backup-cindex-fix
...
20210429 etcdctl v2 backup cindex fix
2021-04-29 18:01:45 +02:00
Piotr Tabor
e908ef3da9
Merge pull request #12903 from lilic/exit-on-signal-int
...
etcdctl/ctlv3: Cleanup keys on signal interrupt.
2021-04-29 16:22:41 +02:00
Piotr Tabor
bc8d3f6639
Clientv3 (retry) logs should use the configured logger.
...
clientv3 logs (especially tests) were poluted with unattributed to testing.T log lines:
```
{"level":"warn","ts":"2021-04-29T12:42:11.055+0200","logger":"etcd-client","caller":"v3/retry_interceptor.go:64","msg":"retrying of unary invoker failed","target":"etcd-endpoints://0xc0000fafc0/#initially=[unix://localhost:m10]","attempt":0,"error":"rpc error: code = ResourceExhausted desc = etcdserver: mvcc: database space exceeded"}
```
The reasons were 2 fold:
- Interceptors were copying logger before "WithLogger" could modify it.
- We were not propagating the loggers in a few testing contexts.
2021-04-29 12:57:09 +02:00
Lili Cosic
586b2383f4
etcdctl/ctlv3: Cleanup keys on signal interrupt of check perf
...
If ctc+c is pressed during the run of etcdctl check perf,
this deletes all the previously created keys that perf check created.
2021-04-29 12:55:36 +02:00
wpedrak
927b3a3152
server: replace mlockall with Mlock
in --experimental-memory-mlock
...
Implementation of `--experimental-memory-mlock` backed by `mlockall` syscall is replaced by `Mlock` flag (backed by mlock syscall) of bboltDB.
2021-04-29 12:08:20 +02:00
Piotr Tabor
e90504fe62
Unify shared code (and constants) with cindex package.
2021-04-29 11:51:25 +02:00
Piotr Tabor
911204cd76
Fix ETCDCTL_API=2 etcdctl backup --with-v3
consistent index consistency
...
Prior to this CL, `ETCDCTL_API=2 etcdctl backup --with-v3` was readacting WAL log
(by removal of some entries), but was NOT updating consistent_index in the backend.
Also the WAL editing logic was buggy, as it didn't took in consideration the fact
that when TERM changes, there can be entries with duplicated indexes in
the log. So its NOT sufficient to subtract number of removed entries to
get accurate log indexes.
The PR replaces removing and shifting of WAL entries with replacing them with an no-op entries.
Thanks to this consistent-index references are staying up to date.
The PR also:
- updates 'verification' logic to check whether consistent_index does not lag befor last snapshot
- env-gated execution of verification framework in `etcdctl backup`.
Tested with:
```
(./build.sh && cd tests && EXPECT_DEBUG=TRUE 'env' 'go' 'test' '-timeout=300m' 'go.etcd.io/etcd/tests/v3/e2e' -run=TestCtlV2Backup --count=1000 2>&1 | tee TestCtlV2BackupV3.log)
```
2021-04-29 11:51:24 +02:00
Piotr Tabor
adc365e14f
etcdctl2: backup command logging cleanup (zap)
2021-04-28 23:26:17 +02:00
Piotr Tabor
7107cb9f86
fixup! Create 'datadir' package responsible for paths.
2021-04-28 08:44:06 +02:00
Piotr Tabor
c4b13a5c83
Integrate verification framework
...
Verification framework is integrated with:
- integration tests (by default)
- `ETCD_VERIFY=all etcdctl snapshot restore` command
- etcd shutdown when running with `ETCD_VERIFY=all` env.
2021-04-28 07:56:16 +02:00
Piotr Tabor
6f8f506cf4
Create 'datadir' package responsible for paths.
2021-04-28 07:56:13 +02:00
Piotr Tabor
067521981e
v2 etcdctl backup: producing consistent state of membership
2021-04-27 19:34:34 +02:00
Piotr Tabor
a70386a1a4
Simplify membership interface: Does not pass the 'unused' token.
2021-04-27 17:17:31 +02:00
Piotr Tabor
768da490ed
sever: v2store deprecation: Fix etcdctl snapshot restore
to restore
...
correct 'backend' (bbolt) context in aspect of membership.
Prior to this change the 'restored' backend used to still contain:
- old memberid (mvcc deletion used, why the membership is in bolt
bucket, but not mvcc part):
```
mvs := mvcc.NewStore(s.lg, be, lessor, ci, mvcc.StoreConfig{CompactionBatchLimit: math.MaxInt32})
defer mvs.Close()
txn := mvs.Write(traceutil.TODO())
btx := be.BatchTx()
del := func(k, v []byte) error {
txn.DeleteRange(k, nil)
return nil
}
// delete stored members from old cluster since using new members
btx.UnsafeForEach([]byte("members"), del)
```
- didn't get new members added.
2021-04-27 17:17:30 +02:00
Piotr Tabor
ea287dd9f8
Merge pull request #12854 from ptabor/20210410-shouldApplyV3
...
(no)StoreV2 (Part 3): Applying consistency fix: ClusterVersionSet (and co) might get not applied on v2store
2021-04-21 09:31:38 +02:00
Piotr Tabor
11249fdee9
Merge pull request #12874 from ptabor/20210417-go1.16.3
...
Update go for 3.5: 1.15.x -> 1.16.3
2021-04-19 16:51:49 +02:00