Skip to content

Commit

Permalink
Merge pull request etcd-io#10401 from markmc/doc-drop-etcdctl-v3-flag
Browse files Browse the repository at this point in the history
Eliminate some ETCDCTL_API=3 usage
  • Loading branch information
gyuho authored Feb 1, 2019
2 parents 6070db2 + e53324d commit 3e0f0ba
Show file tree
Hide file tree
Showing 7 changed files with 20 additions and 31 deletions.
4 changes: 3 additions & 1 deletion Documentation/dev-guide/interacting_v3.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,9 @@

Users mostly interact with etcd by putting or getting the value of a key. This section describes how to do that by using etcdctl, a command line tool for interacting with etcd server. The concepts described here should apply to the gRPC APIs or client library APIs.

By default, etcdctl talks to the etcd server with the v2 API for backward compatibility. For etcdctl to speak to etcd using the v3 API, the API version must be set to version 3 via the `ETCDCTL_API` environment variable. However note that any key that was created using the v2 API will not be able to be queried via the v3 API. A v3 API ```etcdctl get``` of a v2 key will exit with 0 and no key data, this is the expected behaviour.
The API version used by etcdctl to speak to etcd may be set to version `2` or `3` via the `ETCDCTL_API` environment variable. By default, etcdctl on master (3.4) uses the v3 API and earlier versions (3.3 and earlier) default to the v2 API.

Note that any key that was created using the v2 API will not be able to be queried via the v2 API. A v3 API ```etcdctl get``` of a v2 key will exit with 0 and no key data, this is the expected behaviour.


```bash
Expand Down
22 changes: 4 additions & 18 deletions Documentation/dev-guide/local_cluster.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,14 +21,7 @@ The running etcd member listens on `localhost:2379` for client requests.

Use `etcdctl` to interact with the running cluster:

1. Configure the environment to have `ETCDCTL_API=3` so `etcdctl` uses the etcd API version 3 instead of defaulting to version 2.

```
# use API version 3
$ export ETCDCTL_API=3
```
2. Store an example key-value pair in the cluster:
1. Store an example key-value pair in the cluster:

```
$ ./etcdctl put foo bar
Expand All @@ -37,7 +30,7 @@ Use `etcdctl` to interact with the running cluster:
If OK is printed, storing key-value pair is successful.
3. Retrieve the value of `foo`:
2. Retrieve the value of `foo`:
```
$ ./etcdctl get foo
Expand Down Expand Up @@ -70,14 +63,7 @@ A `Procfile` at the base of the etcd git repository is provided to easily config
Use `etcdctl` to interact with the running cluster:
1. Configure the environment to have `ETCDCTL_API=3` so `etcdctl` uses the etcd API version 3 instead of defaulting to version 2.
```
# use API version 3
$ export ETCDCTL_API=3
```
2. Print the list of members:
1. Print the list of members:
```
$ etcdctl --write-out=table --endpoints=localhost:2379 member list
Expand All @@ -94,7 +80,7 @@ Use `etcdctl` to interact with the running cluster:
+------------------+---------+--------+------------------------+------------------------+
```
3. Store an example key-value pair in the cluster:
2. Store an example key-value pair in the cluster:
```
$ etcdctl put foo bar
Expand Down
4 changes: 2 additions & 2 deletions Documentation/dl_build.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,11 +52,11 @@ $ $GOPATH/bin/etcd
Run the following:

```sh
$ ETCDCTL_API=3 ./bin/etcdctl put foo bar
$ ./bin/etcdctl put foo bar
OK
```

(or `ETCDCTL_API=3 $GOPATH/bin/etcdctl put foo bar` if etcdctl was installed with `go get`)
(or `$GOPATH/bin/etcdctl put foo bar` if etcdctl was installed with `go get`)

If OK is printed, then etcd is working!

Expand Down
6 changes: 3 additions & 3 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
build:
GO_BUILD_FLAGS="-v" ./build
./bin/etcd --version
ETCDCTL_API=3 ./bin/etcdctl version
./bin/etcdctl version

clean:
rm -f ./codecov
Expand Down Expand Up @@ -197,7 +197,7 @@ build-docker-release-master:
docker run \
--rm \
gcr.io/etcd-development/etcd:$(ETCD_VERSION) \
/bin/sh -c "/usr/local/bin/etcd --version && ETCDCTL_API=3 /usr/local/bin/etcdctl version"
/bin/sh -c "/usr/local/bin/etcd --version && /usr/local/bin/etcdctl version"

push-docker-release-master:
$(info ETCD_VERSION: $(ETCD_VERSION))
Expand Down Expand Up @@ -500,7 +500,7 @@ build-docker-functional:
gcr.io/etcd-development/etcd-functional:go$(GO_VERSION) \
/bin/bash -c "./bin/etcd --version && \
./bin/etcd-failpoints --version && \
ETCDCTL_API=3 ./bin/etcdctl version && \
./bin/etcdctl version && \
./bin/etcd-agent -help || true && \
./bin/etcd-proxy -help || true && \
./bin/etcd-runner --help || true && \
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -105,8 +105,8 @@ 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:

```
ETCDCTL_API=3 etcdctl put mykey "this is awesome"
ETCDCTL_API=3 etcdctl get mykey
etcdctl put mykey "this is awesome"
etcdctl get mykey
```

etcd is now running and serving client requests. For more, please check out:
Expand Down
3 changes: 2 additions & 1 deletion etcdctl/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@ etcdctl
========

`etcdctl` is a command line client for [etcd][etcd].
Make sure to set environment variable `ETCDCTL_API=3`. For etcdctl v2, please check [READMEv2][READMEv2].

The v3 API is used by default. For the v2 API, make sure to set environment variable `ETCDCTL_API=2`. See also [READMEv2][READMEv2].

Global flags (e.g., `dial-timeout`, `--cacert`, `--cert`, `--key`) can be set with environment variables:

Expand Down
8 changes: 4 additions & 4 deletions scripts/release
Original file line number Diff line number Diff line change
Expand Up @@ -142,7 +142,7 @@ main() {

# Sanity checks.
./release/etcd-${RELEASE_VERSION}-linux-amd64/etcd --version | grep -q "etcd Version: ${VERSION}"
ETCDCTL_API=3 ./release/etcd-${RELEASE_VERSION}-linux-amd64/etcdctl version | grep -q "etcdctl version: ${VERSION}"
./release/etcd-${RELEASE_VERSION}-linux-amd64/etcdctl version | grep -q "etcdctl version: ${VERSION}"

# Upload artifacts.
if [ "${NO_UPLOAD}" == 1 ]; then
Expand Down Expand Up @@ -188,9 +188,9 @@ main() {
# TODO: test
# docker run --rm --name etcd-gcr-${RELEASE_VERSION} gcr.io/etcd-development/etcd:${RELEASE_VERSION};
# docker exec etcd-gcr-${RELEASE_VERSION} /bin/sh -c "/usr/local/bin/etcd --version"
# docker exec etcd-gcr-${RELEASE_VERSION} /bin/sh -c "ETCDCTL_API=3 /usr/local/bin/etcdctl version"
# docker exec etcd-gcr-${RELEASE_VERSION} /bin/sh -c "ETCDCTL_API=3 /usr/local/bin/etcdctl put foo bar"
# docker exec etcd-gcr-${RELEASE_VERSION} /bin/sh -c "ETCDCTL_API=3 /usr/local/bin/etcdctl get foo"
# docker exec etcd-gcr-${RELEASE_VERSION} /bin/sh -c "/usr/local/bin/etcdctl version"
# docker exec etcd-gcr-${RELEASE_VERSION} /bin/sh -c "/usr/local/bin/etcdctl put foo bar"
# docker exec etcd-gcr-${RELEASE_VERSION} /bin/sh -c "/usr/local/bin/etcdctl get foo"

# Bump version to next development version.
git checkout -q "${BRANCH}" # Since we might be on a checkout of the remote version tag.
Expand Down

0 comments on commit 3e0f0ba

Please sign in to comment.