agent: consul bootstrap path

This commit is contained in:
Gyu-Ho Lee 2016-03-23 07:50:39 -07:00
parent eccda24bf5
commit 2d9afef910
1 changed files with 33 additions and 29 deletions

View File

@ -89,11 +89,9 @@ var (
consulToken = "gqYeGerkZGQHBiV4Zd5BMw==" // consul keygen consulToken = "gqYeGerkZGQHBiV4Zd5BMw==" // consul keygen
consulDataDir = "data.consul" consulDataDir = "data.consul"
consulConfigDir = "consul.d" consulConfigDir = "consul.d"
consulConfigPath = "server.json" consulConfigPath = "server/config.json"
consulConfigPathBootstrap = "bootstrap/config.json" consulConfigPathBootstrap = "bootstrap/config.json"
consulLogPathBootstrap = "database_bootstrap.log"
// consulBootstrapDataDir = "data_bootstrap.consul"
// consulBootstrapLogPath = "database_bootstrap.log"
consulConfigDefault = ConsulConfig{ consulConfigDefault = ConsulConfig{
Bootstrap: false, Bootstrap: false,
@ -221,6 +219,9 @@ func (t *transporterServer) Transfer(ctx context.Context, r *Request) (*Response
if !filepath.HasPrefix(consulConfigPathBootstrap, consulConfigDir) { if !filepath.HasPrefix(consulConfigPathBootstrap, consulConfigDir) {
consulConfigPathBootstrap = filepath.Join(consulConfigDir, consulConfigPathBootstrap) consulConfigPathBootstrap = filepath.Join(consulConfigDir, consulConfigPathBootstrap)
} }
if !filepath.HasPrefix(consulLogPathBootstrap, globalFlags.WorkingDirectory) {
consulLogPathBootstrap = filepath.Join(globalFlags.WorkingDirectory, consulLogPathBootstrap)
}
if !filepath.HasPrefix(zkWorkingDir, globalFlags.WorkingDirectory) { if !filepath.HasPrefix(zkWorkingDir, globalFlags.WorkingDirectory) {
zkWorkingDir = filepath.Join(globalFlags.WorkingDirectory, zkWorkingDir) zkWorkingDir = filepath.Join(globalFlags.WorkingDirectory, zkWorkingDir)
} }
@ -465,6 +466,9 @@ func (t *transporterServer) Transfer(ctx context.Context, r *Request) (*Response
if err := os.RemoveAll(consulConfigDir); err != nil { if err := os.RemoveAll(consulConfigDir); err != nil {
return nil, err return nil, err
} }
if err := os.MkdirAll(filepath.Join(consulConfigDir, "server"), 0777); err != nil {
return nil, err
}
f, err := openToAppend(t.req.DatabaseLogPath) f, err := openToAppend(t.req.DatabaseLogPath)
if err != nil { if err != nil {
return nil, err return nil, err
@ -504,30 +508,30 @@ func (t *transporterServer) Transfer(ctx context.Context, r *Request) (*Response
return nil, err return nil, err
} }
// flags := []string{ flags := []string{
// "agent", "agent",
// "-config-file", consulConfigPathBootstrap, "-config-dir", filepath.Join(consulConfigDir, "bootstrap"),
// } }
// flagString := strings.Join(flags, " ") flagString := strings.Join(flags, " ")
// bf, err := openToAppend(consulBootstrapLogPath) bf, err := openToAppend(consulLogPathBootstrap)
// if err != nil { if err != nil {
// return nil, err return nil, err
// } }
// cmd := exec.Command(consulBinaryPath, flags...) cmd := exec.Command(consulBinaryPath, flags...)
// cmd.Stdout = bf cmd.Stdout = bf
// cmd.Stderr = bf cmd.Stderr = bf
// log.Printf("Starting: %s %s", cmd.Path, flagString) log.Printf("Starting: %s %s", cmd.Path, flagString)
// if err := cmd.Start(); err != nil { if err := cmd.Start(); err != nil {
// return nil, err return nil, err
// } }
// log.Printf("Starting: %s %s", cmd.Path, flagString) log.Printf("Starting: %s %s", cmd.Path, flagString)
// go func() { go func() {
// if err := cmd.Wait(); err != nil { if err := cmd.Wait(); err != nil {
// log.Printf("%s %s cmd.Wait returned %v", cmd.Path, flagString, err) log.Printf("%s %s cmd.Wait returned %v", cmd.Path, flagString, err)
// return return
// } }
// log.Printf("Exiting %s", cmd.Path) log.Printf("Exiting %s", cmd.Path)
// }() }()
} }
buf := new(bytes.Buffer) buf := new(bytes.Buffer)
@ -542,7 +546,7 @@ func (t *transporterServer) Transfer(ctx context.Context, r *Request) (*Response
} }
flags := []string{ flags := []string{
"agent", "agent",
"-config-dir", consulConfigDir, "-config-dir", filepath.Join(consulConfigDir, "server"),
} }
flagString := strings.Join(flags, " ") flagString := strings.Join(flags, " ")