Skip to content
This repository was archived by the owner on Feb 27, 2018. It is now read-only.

Commit 870ff10

Browse files
Sven DowideitSven Dowideit
authored andcommitted
Merge pull request #224 from SvenDowideit/make-cert-copying-and-setting-optional
Don't error when failing to get certificates that may not be there
2 parents 5154b64 + 978ae51 commit 870ff10

2 files changed

Lines changed: 25 additions & 21 deletions

File tree

cmds.go

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ func cmdUp() error {
4040
return fmt.Errorf("Failed to start machine %q (run again with -v for details)", B2D.VM)
4141
}
4242

43-
fmt.Printf("Waiting for VM to be started...")
43+
fmt.Println("Waiting for VM to be started...")
4444
//give the VM a little time to start, so we don't kill the Serial Pipe/Socket
4545
time.Sleep(600 * time.Millisecond)
4646
natSSH := fmt.Sprintf("localhost:%d", m.GetSSHPort())
@@ -70,7 +70,11 @@ func cmdUp() error {
7070
IP = RequestIPFromSSH(m)
7171
}
7272
// Copying the certs here - someone might have have written a Windows API client.
73-
certPath := RequestCertsUsingSSH(m)
73+
certPath, err := RequestCertsUsingSSH(m)
74+
if err != nil && B2D.Verbose {
75+
// These errors are not fatal
76+
fmt.Printf("Error copying Certificates: %s\n", err)
77+
}
7478
switch runtime.GOOS {
7579
case "windows":
7680
fmt.Printf("Docker client does not run on Windows for now. Please use\n")
@@ -86,8 +90,14 @@ func cmdUp() error {
8690
if os.Getenv("DOCKER_HOST") != socket || os.Getenv("DOCKER_CERT_PATH") != certPath {
8791
fmt.Printf("\nTo connect the Docker client to the Docker daemon, please set:\n")
8892
fmt.Printf(" export DOCKER_HOST=%s\n", socket)
89-
// Assume Docker 1.2.0 with TLS on...
90-
fmt.Printf(" export DOCKER_CERT_PATH=%s\n", certPath)
93+
if certPath == "" {
94+
if os.Getenv("DOCKER_CERT_PATH") != "" {
95+
fmt.Println(" unset DOCKER_CERT_PATH")
96+
}
97+
} else {
98+
// Assume Docker 1.2.0 with TLS on...
99+
fmt.Printf(" export DOCKER_CERT_PATH=%s\n", certPath)
100+
}
91101
} else {
92102
fmt.Printf("Your DOCKER_HOST env variable is already set correctly.\n")
93103
}
@@ -304,18 +314,18 @@ func cmdIP() error {
304314

305315
// Download the boot2docker ISO image.
306316
func cmdDownload() error {
307-
fmt.Printf("Downloading boot2docker ISO image...")
317+
fmt.Println("Downloading boot2docker ISO image...")
308318
url := "https://api.github.com/repos/boot2docker/boot2docker/releases"
309319
tag, err := getLatestReleaseName(url)
310320
if err != nil {
311321
return fmt.Errorf("Failed to get latest release: %s", err)
312322
}
313-
fmt.Printf("Latest release is %s", tag)
323+
fmt.Printf("Latest release is %s\n", tag)
314324

315325
url = fmt.Sprintf("https://github.com/boot2docker/boot2docker/releases/download/%s/boot2docker.iso", tag)
316326
if err := download(B2D.ISO, url); err != nil {
317327
return fmt.Errorf("Failed to download ISO image: %s", err)
318328
}
319-
fmt.Printf("Success: downloaded %s\n\tto %s", url, B2D.ISO)
329+
fmt.Printf("Success: downloaded %s\n\tto %s\n", url, B2D.ISO)
320330
return nil
321331
}

util.go

Lines changed: 8 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -297,18 +297,16 @@ func RequestIPFromSerialPort(socket string) string {
297297
}
298298

299299
// TODO: need to add or abstract to get a Serial coms version
300-
func RequestCertsUsingSSH(m driver.Machine) string {
300+
func RequestCertsUsingSSH(m driver.Machine) (string, error) {
301301
cmd := getSSHCommand(m, "tar c /home/docker/.docker/*.pem")
302302

303303
certDir := ""
304304

305305
b, err := cmd.Output()
306-
if err != nil {
307-
fmt.Printf("%s", err)
308-
} else {
306+
if err == nil {
309307
dir, err := cfgDir(".docker")
310308
if err != nil {
311-
return ""
309+
return "", err
312310
}
313311

314312
// Open the tar archive for reading.
@@ -323,29 +321,25 @@ func RequestCertsUsingSSH(m driver.Machine) string {
323321
break
324322
}
325323
if err != nil {
326-
fmt.Printf("%s", err)
327-
return ""
324+
return "", err
328325
}
329326
filename := filepath.Base(hdr.Name)
330327
certDir = filepath.Join(dir, m.GetName())
331328
if err := os.MkdirAll(certDir, 0755); err != nil {
332-
fmt.Printf("%s", err)
333-
return ""
329+
return "", err
334330
}
335331
certFile := filepath.Join(certDir, filename)
336332
fmt.Printf("Writing %s:\n", certFile)
337333
f, err := os.Create(certFile)
338334
if err != nil {
339-
fmt.Printf("%s", err)
340-
return ""
335+
return "", err
341336
}
342337
w := bufio.NewWriter(f)
343338
if _, err := io.Copy(w, tr); err != nil {
344-
fmt.Printf("%s", err)
345-
return ""
339+
return "", err
346340
}
347341
w.Flush()
348342
}
349343
}
350-
return certDir
344+
return certDir, nil
351345
}

0 commit comments

Comments
 (0)