Skip to content
This repository was archived by the owner on Dec 6, 2023. It is now read-only.

Commit 5fe20a4

Browse files
docker info
1 parent 2a0ba5d commit 5fe20a4

File tree

4 files changed

+32
-11
lines changed

4 files changed

+32
-11
lines changed

iosdk/docker.go

+8
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,14 @@ import (
55
"strings"
66
)
77

8+
func dockerInfo() (string, error) {
9+
out, err := SysErr("@docker info")
10+
if err != nil {
11+
return "", fmt.Errorf("Docker is not running")
12+
}
13+
return out, nil
14+
}
15+
816
func dockerVersion() (string, error) {
917
return SysErr("@docker version --format {{.Server.Version}}")
1018
}

iosdk/docker_test.go

+12
Original file line numberDiff line numberDiff line change
@@ -25,5 +25,17 @@ func ExampleDockerIP() {
2525
// 192.168.192.168
2626
// docker inspect --format={{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}} dummy
2727
// <nil>
28+
}
2829

30+
func ExampleDockerInfo() {
31+
DryRunPush("!bad", "Info: hello")
32+
out, err := dockerInfo()
33+
fmt.Println(1, err, out)
34+
out, err = dockerInfo()
35+
fmt.Println(2, err, out)
36+
// Output:
37+
// docker info
38+
// 1 Docker is not running
39+
// docker info
40+
// 2 <nil> Info: hello
2941
}

iosdk/preflight.go

+10-8
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,11 @@ func preflightInHomePath(dir string) error {
4949

5050
// Preflight perform preflight checks
5151
func Preflight(dir string) error {
52-
err := preflightDockerMemory()
52+
info, err := dockerInfo()
53+
if err != nil {
54+
return err
55+
}
56+
err = preflightDockerMemory(info)
5357
if err != nil {
5458
return err
5559
}
@@ -65,25 +69,23 @@ func Preflight(dir string) error {
6569
}
6670

6771
// preflightDockerMemory checks docker memory
68-
func preflightDockerMemory() error {
69-
out, err := SysErr("@docker info")
70-
if err != nil {
71-
return fmt.Errorf("Docker is not running")
72-
}
72+
func preflightDockerMemory(info string) error {
7373
var search = regexp.MustCompile(`Total Memory: (.*)`)
74-
result := search.FindString(string(out))
74+
result := search.FindString(string(info))
7575
if result == "" {
7676
return fmt.Errorf("Docker is not running")
7777
}
7878
mem := strings.Split(result, ":")
7979
memory := strings.TrimSpace(mem[1])
8080
n, err := units.ParseStrictBytes(memory)
81+
if err != nil {
82+
return err
83+
}
8184
log.Debug("mem:", n)
8285
//fmt.Println(n)
8386
if n <= int64(MinDockerMem) {
8487
return fmt.Errorf("IOSDK needs 4GB memory allocatable on docker")
8588
}
86-
8789
return nil
8890

8991
}

iosdk/preflight_test.go

+2-3
Original file line numberDiff line numberDiff line change
@@ -37,9 +37,8 @@ func ExampleInHomePath() {
3737
func ExamplePreflightDockerMemory() {
3838
*DryRunFlag = true
3939
*verboseFlag = true
40-
DryRunPush("\nTotal Memory: 11GiB\n", "\nTotal Memory: 3GiB\n")
41-
fmt.Println(preflightDockerMemory())
42-
fmt.Println(preflightDockerMemory())
40+
fmt.Println(preflightDockerMemory("\nTotal Memory: 11GiB\n"))
41+
fmt.Println(preflightDockerMemory("\nTotal Memory: 3GiB\n"))
4342
// Output:
4443
// docker info
4544
// <nil>

0 commit comments

Comments
 (0)