version: added more version information

added more version information output to aid debugging
print etcd Version, Git SHA, Go runtime version, OS
and architecture

Fixes #2560
release-2.1
Mohammad Samman 2015-05-08 16:49:12 -07:00
parent b24dd8e4e6
commit 3914defd8a
3 changed files with 12 additions and 3 deletions

6
build
View File

@ -11,6 +11,8 @@ ln -s ${PWD} $GOPATH/src/${REPO_PATH}
eval $(go env)
GIT_SHA=`git rev-parse --short HEAD`
# Static compilation is useful when etcd is run in a container
CGO_ENABLED=0 go build -a -installsuffix cgo -ldflags '-s' -o bin/etcd ${REPO_PATH}
CGO_ENABLED=0 go build -a -installsuffix cgo -ldflags '-s' -o bin/etcdctl ${REPO_PATH}/etcdctl
CGO_ENABLED=0 go build -a -installsuffix cgo -ldflags "-s -X ${REPO_PATH}/version.GitSHA ${GIT_SHA}" -o bin/etcd ${REPO_PATH}
CGO_ENABLED=0 go build -a -installsuffix cgo -ldflags "-s" -o bin/etcdctl ${REPO_PATH}/etcdctl

View File

@ -19,6 +19,7 @@ import (
"fmt"
"net/url"
"os"
"runtime"
"strings"
"github.com/coreos/etcd/etcdserver"
@ -223,7 +224,10 @@ func (cfg *config) Parse(arguments []string) error {
}
if cfg.printVersion {
fmt.Println("etcd version", version.Version)
fmt.Printf("etcd Version: %s\n", version.Version)
fmt.Printf("Git SHA: %s\n", version.GitSHA)
fmt.Printf("Go Version: %s\n", runtime.Version())
fmt.Printf("Go OS/Arch: %s/%s\n", runtime.GOOS, runtime.GOARCH)
os.Exit(0)
}

View File

@ -28,6 +28,9 @@ var (
// MinClusterVersion is the min cluster version this etcd binary is compatible with.
MinClusterVersion = "2.0.0"
Version = "2.1.0-alpha.0+git"
// Git SHA Value will be set during build
GitSHA = "Not provided (use ./build instead of go build)"
)
// WalVersion is an enum for versions of etcd logs.