etcdmain: simplify proxy start logic

This commit is contained in:
Jonathan Boulle 2014-11-05 11:31:13 -08:00
parent 58b171b3e5
commit b85496922f
2 changed files with 16 additions and 15 deletions

View File

@ -141,8 +141,8 @@ func init() {
func Main() {
fs.Usage = flags.UsageWithIgnoredFlagsFunc(fs, ignored)
err := fs.Parse(os.Args[1:])
switch err {
perr := fs.Parse(os.Args[1:])
switch perr {
case nil:
case flag.ErrHelp:
os.Exit(0)
@ -157,20 +157,20 @@ func Main() {
flags.SetFlagsFromEnv(fs)
if proxyFlag.String() == proxyFlagOff {
if err := startEtcd(); err == nil {
// Block indefinitely
<-make(chan struct{})
} else {
if err == discovery.ErrFullCluster && fallbackFlag.String() == fallbackFlagProxy {
fmt.Printf("etcd: discovery cluster full, falling back to %s", fallbackFlagProxy)
} else {
log.Fatalf("etcd: %v", err)
}
var err error
shouldProxy := proxyFlag.String() != proxyFlagOff
if !shouldProxy {
err = startEtcd()
if err == discovery.ErrFullCluster && fallbackFlag.String() == fallbackFlagProxy {
log.Printf("etcd: discovery cluster full, falling back to %s", fallbackFlagProxy)
shouldProxy = true
}
}
if err = startProxy(); err != nil {
log.Fatalf("proxy: %v", err)
if shouldProxy {
err = startProxy()
}
if err != nil {
log.Fatalf("etcd: %v", err)
}
// Block indefinitely
<-make(chan struct{})

View File

@ -1,6 +1,7 @@
#!/bin/sh
disc=$(curl https://discovery.etcd.io/new?size=3)
rm -rf infra*.etcd
disc=$(curl -s https://discovery.etcd.io/new?size=3)
echo ETCD_DISCOVERY=${disc} > .env
echo "setup discovery start your cluster"
cat .env