From fc2e5f278bd6a7d8383bc769cfe6d50a15eb2cc5 Mon Sep 17 00:00:00 2001 From: Evan Hazlett Date: Sat, 10 Jan 2015 11:21:30 -0500 Subject: [PATCH] configure opts for b2d Signed-off-by: Evan Hazlett --- drivers/amazonec2/amazonec2.go | 1 - drivers/virtualbox/virtualbox.go | 53 +++++++------------------------- drivers/vmwarefusion/fusion.go | 2 ++ host.go | 27 ++++++++++------ 4 files changed, 30 insertions(+), 53 deletions(-) diff --git a/drivers/amazonec2/amazonec2.go b/drivers/amazonec2/amazonec2.go index 2e63424a5a..fcb10107fc 100644 --- a/drivers/amazonec2/amazonec2.go +++ b/drivers/amazonec2/amazonec2.go @@ -31,7 +31,6 @@ const ( type Driver struct { Id string - MachineName string AccessKey string SecretKey string SessionToken string diff --git a/drivers/virtualbox/virtualbox.go b/drivers/virtualbox/virtualbox.go index 4e6f776143..ae3afb72ce 100644 --- a/drivers/virtualbox/virtualbox.go +++ b/drivers/virtualbox/virtualbox.go @@ -324,50 +324,19 @@ func (d *Driver) Create() error { return err } - //log.Debugf("Adding key to authorized-keys.d...") + cmd, err := d.GetSSHCommand(fmt.Sprintf( + "sudo hostname %s && echo \"%s\" | sudo tee /var/lib/boot2docker/etc/hostname", + d.MachineName, + d.MachineName, + )) + if err != nil { + return err - //cmd, err := d.GetSSHCommand("sudo mkdir -p /var/lib/boot2docker/.docker && sudo chown -R docker /var/lib/boot2docker/.docker") - //if err != nil { - // return err - //} - //if err := cmd.Run(); err != nil { - // return err - //} + } + if err := cmd.Run(); err != nil { + return err - //if err := drivers.AddPublicKeyToAuthorizedHosts(d, "/var/lib/boot2docker/.docker/authorized-keys.d"); err != nil { - // return err - //} - - //// HACK: configure docker to use persisted auth - //cmd, err = d.GetSSHCommand("echo DOCKER_TLS=no | sudo tee -a /var/lib/boot2docker/profile") - //if err != nil { - // return err - //} - //if err := cmd.Run(); err != nil { - // return err - //} - - //extraArgs := `EXTRA_ARGS='--auth=identity - //--auth-authorized-dir=/var/lib/boot2docker/.docker/authorized-keys.d - //--auth-known-hosts=/var/lib/boot2docker/.docker/known-hosts.json - //--identity=/var/lib/boot2docker/.docker/key.json - //-H tcp://0.0.0.0:2376'` - //sshCmd := fmt.Sprintf("echo \"%s\" | sudo tee -a /var/lib/boot2docker/profile", extraArgs) - //cmd, err = d.GetSSHCommand(sshCmd) - //if err != nil { - // return err - //} - //if err := cmd.Run(); err != nil { - // return err - //} - - //cmd, err = d.GetSSHCommand("sudo /etc/init.d/docker restart") - //if err != nil { - // return err - //} - //if err := cmd.Run(); err != nil { - // return err - //} + } return nil } diff --git a/drivers/vmwarefusion/fusion.go b/drivers/vmwarefusion/fusion.go index 3de31e63a7..2f0aa3fad2 100644 --- a/drivers/vmwarefusion/fusion.go +++ b/drivers/vmwarefusion/fusion.go @@ -293,6 +293,8 @@ func (d *Driver) StartDocker() error { func (d *Driver) StopDocker() error { log.Debug("Stopping Docker...") + // TODO @ehazlett - should we add this exit to make sure it doesn't + // break if the daemon isn't running or add an arg? cmd, err := d.GetSSHCommand("sudo /etc/init.d/docker stop ; exit 0") if err != nil { return err diff --git a/host.go b/host.go index dbdee0ac41..12768a98cb 100644 --- a/host.go +++ b/host.go @@ -5,10 +5,10 @@ import ( "fmt" "io/ioutil" "net" - "net/url" "os" "path/filepath" "regexp" + "time" log "github.com/Sirupsen/logrus" "github.com/docker/machine/drivers" @@ -211,24 +211,31 @@ func (h *Host) ConfigureAuth() error { return err } - daemonOpts := fmt.Sprintf(`--tlsverify \ - --tlsverify \ - --tlscacert=%s \ - --tlskey=%s \ - --tlscert=%s \ - --host=unix:///var/run/docker.sock --host=tcp://0.0.0.0:2376`, machineCaCertPath, - machineServerKeyPath, machineServerCertPath) - var ( + daemonOpts string daemonOptsCfg string daemonCfg string ) switch d.DriverName() { case "virtualbox", "vmwarefusion", "vmwarevsphere": + daemonOpts = "--host=unix:///var/run/docker.sock --host=tcp://0.0.0.0:2376" daemonOptsCfg = filepath.Join(d.GetDockerConfigDir(), "profile") - daemonCfg = fmt.Sprintf("EXTRA_ARGS='%s'", daemonOpts) + daemonCfg = fmt.Sprintf(`EXTRA_ARGS='%s' +CACERT=%s +SERVERCERT=%s +SERVERKEY=%s +DOCKER_TLS=auto`, daemonOpts, machineCaCertPath, machineServerCertPath, machineServerKeyPath) default: + // TODO @ehazlett - use a template here + daemonOpts = fmt.Sprintf(`--tlsverify \ +--tlsverify \ +--tlscacert=%s \ +--tlskey=%s \ +--tlscert=%s \ +--host=unix:///var/run/docker.sock --host=tcp://0.0.0.0:2376`, machineCaCertPath, + machineServerKeyPath, machineServerCertPath) + daemonOptsCfg = "/etc/default/docker" daemonCfg = fmt.Sprintf("export DOCKER_OPTS='%s'", daemonOpts) }