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

View File

@ -1,6 +1,7 @@
#!/bin/sh #!/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 ETCD_DISCOVERY=${disc} > .env
echo "setup discovery start your cluster" echo "setup discovery start your cluster"
cat .env cat .env