This repository was archived by the owner on Dec 6, 2023. It is now read-only.
File tree 4 files changed +32
-11
lines changed
4 files changed +32
-11
lines changed Original file line number Diff line number Diff line change @@ -5,6 +5,14 @@ import (
5
5
"strings"
6
6
)
7
7
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
+
8
16
func dockerVersion () (string , error ) {
9
17
return SysErr ("@docker version --format {{.Server.Version}}" )
10
18
}
Original file line number Diff line number Diff line change @@ -25,5 +25,17 @@ func ExampleDockerIP() {
25
25
// 192.168.192.168
26
26
// docker inspect --format={{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}} dummy
27
27
// <nil>
28
+ }
28
29
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
29
41
}
Original file line number Diff line number Diff line change @@ -49,7 +49,11 @@ func preflightInHomePath(dir string) error {
49
49
50
50
// Preflight perform preflight checks
51
51
func Preflight (dir string ) error {
52
- err := preflightDockerMemory ()
52
+ info , err := dockerInfo ()
53
+ if err != nil {
54
+ return err
55
+ }
56
+ err = preflightDockerMemory (info )
53
57
if err != nil {
54
58
return err
55
59
}
@@ -65,25 +69,23 @@ func Preflight(dir string) error {
65
69
}
66
70
67
71
// 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 {
73
73
var search = regexp .MustCompile (`Total Memory: (.*)` )
74
- result := search .FindString (string (out ))
74
+ result := search .FindString (string (info ))
75
75
if result == "" {
76
76
return fmt .Errorf ("Docker is not running" )
77
77
}
78
78
mem := strings .Split (result , ":" )
79
79
memory := strings .TrimSpace (mem [1 ])
80
80
n , err := units .ParseStrictBytes (memory )
81
+ if err != nil {
82
+ return err
83
+ }
81
84
log .Debug ("mem:" , n )
82
85
//fmt.Println(n)
83
86
if n <= int64 (MinDockerMem ) {
84
87
return fmt .Errorf ("IOSDK needs 4GB memory allocatable on docker" )
85
88
}
86
-
87
89
return nil
88
90
89
91
}
Original file line number Diff line number Diff line change @@ -37,9 +37,8 @@ func ExampleInHomePath() {
37
37
func ExamplePreflightDockerMemory () {
38
38
* DryRunFlag = true
39
39
* verboseFlag = true
40
- DryRunPush ("\n Total Memory: 11GiB\n " , "\n Total Memory: 3GiB\n " )
41
- fmt .Println (preflightDockerMemory ())
42
- fmt .Println (preflightDockerMemory ())
40
+ fmt .Println (preflightDockerMemory ("\n Total Memory: 11GiB\n " ))
41
+ fmt .Println (preflightDockerMemory ("\n Total Memory: 3GiB\n " ))
43
42
// Output:
44
43
// docker info
45
44
// <nil>
You can’t perform that action at this time.
0 commit comments