From eecd9f7e35a5d7b5b665b9172732ed4ba364fcd8 Mon Sep 17 00:00:00 2001 From: Brandon Philips Date: Wed, 13 Nov 2013 10:16:02 -0800 Subject: [PATCH] feat(etcd): create unique directory on no-flag case Tell etcd to store the log and configuration into directory in the pattern of `${machineName}.etcd` if no directory is specified. --- etcd.go | 16 +++++++++++----- server/config.go | 1 - 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/etcd.go b/etcd.go index 16124db6d..953fadff2 100644 --- a/etcd.go +++ b/etcd.go @@ -47,11 +47,6 @@ func main() { log.Verbose = true } - // Create data directory if it doesn't already exist. - if err := os.MkdirAll(config.DataDir, 0744); err != nil { - log.Fatalf("Unable to create path: %s", err) - } - // Load info object. info, err := config.Info() if err != nil { @@ -66,6 +61,17 @@ func main() { info.Name = host } + // Setup a default directory based on the machine name + if config.DataDir == "" { + config.DataDir = info.Name + ".etcd" + log.Warnf("Using the directory %s as the etcd configuration directory because a directory was not specified. ", config.DataDir) + } + + // Create data directory if it doesn't already exist. + if err := os.MkdirAll(config.DataDir, 0744); err != nil { + log.Fatalf("Unable to create path: %s", err) + } + // Retrieve TLS configuration. tlsConfig, err := info.EtcdTLS.Config() if err != nil { diff --git a/server/config.go b/server/config.go index df87b9894..8d8adcf82 100644 --- a/server/config.go +++ b/server/config.go @@ -57,7 +57,6 @@ func NewConfig() *Config { c.SystemPath = DefaultSystemConfigPath c.AdvertisedUrl = "127.0.0.1:4001" c.AdvertisedUrl = "127.0.0.1:4001" - c.DataDir = "." c.MaxClusterSize = 9 c.MaxResultBuffer = 1024 c.MaxRetryAttempts = 3