From 5fa93a0888faff26190f411dad3c548acd0e3ccd Mon Sep 17 00:00:00 2001 From: Guillaume Giamarchi Date: Fri, 27 Feb 2015 23:13:01 +0100 Subject: [PATCH 1/6] Remove dead code This method is no longer called since the docker installation has moved out of the driver (54f3607). Signed-off-by: Guillaume Giamarchi --- drivers/openstack/openstack.go | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/drivers/openstack/openstack.go b/drivers/openstack/openstack.go index 6dbbdd0cf9..ca629dff90 100644 --- a/drivers/openstack/openstack.go +++ b/drivers/openstack/openstack.go @@ -746,19 +746,6 @@ func (d *Driver) waitForInstanceToStart() error { return d.waitForSSHServer() } -func (d *Driver) sshExec(commands []string) error { - for _, command := range commands { - sshCmd, err := d.GetSSHCommand(command) - if err != nil { - return err - } - if err := sshCmd.Run(); err != nil { - return err - } - } - return nil -} - func (d *Driver) sshKeyPath() string { return path.Join(d.storePath, "id_rsa") } From 093914cbd5a7c584af8dc7d2229ee2010bfa9fcc Mon Sep 17 00:00:00 2001 From: Dave Henderson Date: Thu, 5 Mar 2015 20:05:09 -0500 Subject: [PATCH 2/6] Fixing inaccurate Usage message for the `--openstack-net-id` option Signed-off-by: Dave Henderson --- drivers/openstack/openstack.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/openstack/openstack.go b/drivers/openstack/openstack.go index 6dbbdd0cf9..96646c3113 100644 --- a/drivers/openstack/openstack.go +++ b/drivers/openstack/openstack.go @@ -151,7 +151,7 @@ func GetCreateFlags() []cli.Flag { }, cli.StringFlag{ Name: "openstack-net-id", - Usage: "OpenStack image name to use for the instance", + Usage: "OpenStack network id the machine will be connected on", Value: "", }, cli.StringFlag{ From 1bb4b9511042356afc3af2fbee9095e5f441d75e Mon Sep 17 00:00:00 2001 From: Ke Zhu Date: Fri, 6 Mar 2015 14:23:16 -0500 Subject: [PATCH 3/6] keep using --tlsverify between config and env commands Signed-off-by: Ke Zhu --- commands.go | 2 +- commands_test.go | 27 ++++++++++++++++++--------- 2 files changed, 19 insertions(+), 10 deletions(-) diff --git a/commands.go b/commands.go index 384f436768..f755084a5e 100644 --- a/commands.go +++ b/commands.go @@ -369,7 +369,7 @@ func cmdConfig(c *cli.Context) { dockerHost = fmt.Sprintf("tcp://%s:%s", machineIp, swarmPort) } - fmt.Printf("--tls --tlscacert=%s --tlscert=%s --tlskey=%s -H=%s", + fmt.Printf("--tlsverify --tlscacert=%s --tlscert=%s --tlskey=%s -H=%s", cfg.caCertPath, cfg.clientCertPath, cfg.clientKeyPath, dockerHost) } diff --git a/commands_test.go b/commands_test.go index 51651a276f..ce875bec1e 100644 --- a/commands_test.go +++ b/commands_test.go @@ -300,14 +300,13 @@ func TestRunActionForeachMachine(t *testing.T) { func TestCmdConfig(t *testing.T) { stdout := os.Stdout r, w, _ := os.Pipe() - os.Stdout = w + os.Stdout = w os.Setenv("MACHINE_STORAGE_PATH", TestStoreDir) defer func() { os.Setenv("MACHINE_STORAGE_PATH", "") os.Stdout = stdout - w.Close() }() if err := clearHosts(); err != nil { @@ -333,17 +332,27 @@ func TestCmdConfig(t *testing.T) { t.Fatalf("error setting active host: %v", err) } + outStr := make(chan string) + + go func() { + var testOutput bytes.Buffer + io.Copy(&testOutput, r) + outStr <- testOutput.String() + }() + set := flag.NewFlagSet("config", 0) - - testOutput := &bytes.Buffer{} - - go io.Copy(testOutput, r) - c := cli.NewContext(nil, set, set) - cmdConfig(c) - if strings.Contains(testOutput.String(), "-H=unix:///var/run/docker.sock") { + w.Close() + + out := <-outStr + + if !strings.Contains(out, "--tlsverify") { + t.Fatalf("Expect --tlsverify") + } + + if !strings.Contains(out, "-H=unix:///var/run/docker.sock") { t.Fatalf("Expect docker host URL") } } From 6d2e0b0dd14800788dbf1c921408836bab4c1f71 Mon Sep 17 00:00:00 2001 From: Joao Trindade Date: Thu, 5 Mar 2015 17:31:40 +0000 Subject: [PATCH 4/6] Correct index.md documentation preamble 1. Add "---" to indicate the preamble section. 2. Add drivers in keywords to improve SEO Signed-off-by: Joao Trindade --- docs/index.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/docs/index.md b/docs/index.md index f62ffa573a..05d571f992 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,6 +1,9 @@ +--- page_title: Docker Machine page_description: Working with Docker Machine -page_keywords: docker, machine, virtualbox, digitalocean, amazonec2 +page_keywords: docker, machine, amazonec2, azure, digitalocean, google, openstack, rackspace, softlayer, virtualbox, vmwarevcloudair, vmwarevsphere +--- + # Docker Machine From 96b660d5b7a35b01635f784a43e3b4f6d37145c7 Mon Sep 17 00:00:00 2001 From: Evan Hazlett Date: Mon, 9 Mar 2015 18:31:41 -0400 Subject: [PATCH 5/6] softlayer: fix provisioning bug where curl is not available Signed-off-by: Evan Hazlett --- drivers/softlayer/driver.go | 30 ++++++++++-------------------- 1 file changed, 10 insertions(+), 20 deletions(-) diff --git a/drivers/softlayer/driver.go b/drivers/softlayer/driver.go index a4bbe7de22..2c0ecb3345 100644 --- a/drivers/softlayer/driver.go +++ b/drivers/softlayer/driver.go @@ -350,9 +350,17 @@ func (d *Driver) Create() error { getIp() waitForStart() ssh.WaitForTCP(d.IPAddress + ":22") - if err := d.setupHost(); err != nil { - fmt.Fprintf(os.Stderr, "Error setting up host config: %q", err) + + cmd, err := d.GetSSHCommand("sudo apt-get update && sudo apt-get install -y curl") + if err != nil { + return err + } + if err := cmd.Run(); err != nil { + return err + + } + return nil } @@ -438,21 +446,3 @@ func (d *Driver) Upgrade() error { return cmd.Run() } - -func (d *Driver) setupHost() error { - log.Infof("Configuring host OS") - ssh.WaitForTCP(d.IPAddress + ":22") - // Wait to make sure docker is installed - for { - cmd, err := d.GetSSHCommand(`[ -f "$(which docker)" ] && [ -f "/etc/default/docker" ] || exit 1`) - if err != nil { - return err - } - if err := cmd.Run(); err == nil { - break - } - time.Sleep(2 * time.Second) - } - - return nil -} From bfd83eebbe44770eb2b6314b32640c0f5d5374c5 Mon Sep 17 00:00:00 2001 From: Ken Pepple Date: Sat, 7 Mar 2015 16:29:59 +0100 Subject: [PATCH 6/6] fixes Issue #750 by allowing virtualbox driver start command to start VMs in saved state and resume VMs in paused state. Signed-off-by: Ken Pepple converted to switch statement per @nathanleclaire suggestion Signed-off-by: Ken Pepple small typo Signed-off-by: Ken Pepple --- drivers/virtualbox/virtualbox.go | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/drivers/virtualbox/virtualbox.go b/drivers/virtualbox/virtualbox.go index a59c3e0e57..ed65ee4369 100644 --- a/drivers/virtualbox/virtualbox.go +++ b/drivers/virtualbox/virtualbox.go @@ -344,11 +344,19 @@ func (d *Driver) Start() error { return err } - if s == state.Stopped { + switch s { + case state.Stopped, state.Saved: if err := vbm("startvm", d.MachineName, "--type", "headless"); err != nil { return err } log.Infof("Waiting for VM to start...") + case state.Paused: + if err := vbm("controlvm", d.MachineName, "resume", "--type", "headless"); err != nil { + return err + } + log.Infof("Resuming VM ...") + default: + log.Infof("VM not in restartable state") } return ssh.WaitForTCP(fmt.Sprintf("localhost:%d", d.SSHPort))