Skip to content

v3.1.4

Compare
Choose a tag to compare
@gyuho gyuho released this 22 Mar 17:35

Today we're announcing etcd v3.1.4. This is primarily a bug fix release, backward-compatible with all previous v3.1.0+ releases. Please read NEWS for highlighted changes.

The release signing key can be found at coreos.com/security/app-signing-key.

Bug fixes
  • #7479 auth: nil check AuthInfo when checking admin permissions
  • #7492 auth: get rid of deadlocking channel passing scheme in simpleTokenTTL
  • #7499 ctlv3: ensure synced member list before printing env vars on member add
  • #7504 clientv3: close open watch channel if substream is closing on reconnect
  • #7513 etcdserver: remove possibly compacted entry look-up
  • #7517 embed: Delay setting initial cluster
  • #7546 *: fix blocking etcd process
  • #7553 backend: add FillPercent option
Other
  • #7482 discovery: fix print format
  • #7539 ctlv3: have "protobuf" in output help string instead of "proto"
Getting started
Linux
ETCD_VER=v3.1.4

# choose either URL
GOOGLE_URL=https://storage.googleapis.com/etcd
GITHUB_URL=https://github.com/coreos/etcd/releases/download
DOWNLOAD_URL=${GOOGLE_URL}

rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
rm -rf /tmp/test-etcd && mkdir -p /tmp/test-etcd

curl -L ${DOWNLOAD_URL}/${ETCD_VER}/etcd-${ETCD_VER}-linux-amd64.tar.gz -o /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
tar xzvf /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz -C /tmp/test-etcd --strip-components=1

/tmp/test-etcd/etcd --version
<<COMMENT
etcd Version: 3.1.4
Git SHA: 41e52eb
Go Version: go1.7.5
Go OS/Arch: linux/amd64
COMMENT

ETCDCTL_API=3 /tmp/test-etcd/etcdctl version
<<COMMENT
etcdctl version: 3.1.4
API version: 3.1
COMMENT
# start a local etcd server
/tmp/test-etcd/etcd

# write,read to etcd
ETCDCTL_API=3 /tmp/test-etcd/etcdctl --endpoints=localhost:2379 put foo "bar"
ETCDCTL_API=3 /tmp/test-etcd/etcdctl --endpoints=localhost:2379 get foo
macOS (Darwin)
ETCD_VER=v3.1.4

# choose either URL
GOOGLE_URL=https://storage.googleapis.com/etcd
GITHUB_URL=https://github.com/coreos/etcd/releases/download
DOWNLOAD_URL=${GOOGLE_URL}

rm -f /tmp/etcd-${ETCD_VER}-darwin-amd64.zip
rm -rf /tmp/test-etcd && mkdir -p /tmp/test-etcd

curl -L ${DOWNLOAD_URL}/${ETCD_VER}/etcd-${ETCD_VER}-darwin-amd64.zip -o /tmp/etcd-${ETCD_VER}-darwin-amd64.zip
unzip /tmp/etcd-${ETCD_VER}-darwin-amd64.zip -d /tmp
mv /tmp/etcd-${ETCD_VER}-darwin-amd64/* /tmp/test-etcd

/tmp/test-etcd/etcd --version
ETCDCTL_API=3 /tmp/test-etcd/etcdctl version
Docker
docker run --net=host \
    --name etcd-v3.1.4 \
    --volume=/tmp/etcd-data:/etcd-data \
    quay.io/coreos/etcd:v3.1.4 \
    /usr/local/bin/etcd \
    --name my-etcd-1 \
    --data-dir /etcd-data \
    --listen-client-urls http://0.0.0.0:2379 \
    --advertise-client-urls http://0.0.0.0:2379 \
    --listen-peer-urls http://0.0.0.0:2380 \
    --initial-advertise-peer-urls http://0.0.0.0:2380 \
    --initial-cluster my-etcd-1=http://0.0.0.0:2380 \
    --initial-cluster-token my-etcd-token \
    --initial-cluster-state new \
    --auto-compaction-retention 1

docker exec etcd-v3.1.4 /bin/sh -c "export ETCDCTL_API=3 && /usr/local/bin/etcd -version"
docker exec etcd-v3.1.4 /bin/sh -c "export ETCDCTL_API=3 && /usr/local/bin/etcdctl version"
docker exec etcd-v3.1.4 /bin/sh -c "export ETCDCTL_API=3 && /usr/local/bin/etcdctl endpoint health"

docker exec etcd-v3.1.4 /bin/sh -c "export ETCDCTL_API=3 && /usr/local/bin/etcdctl put foo bar"
docker exec etcd-v3.1.4 /bin/sh -c "export ETCDCTL_API=3 && /usr/local/bin/etcdctl get --consistency=s foo"

For more details, please check Docker guide.