Skip to content

Commit be770af

Browse files
committed
Also parse the available, in addition to the total
1 parent 3b594c3 commit be770af

File tree

2 files changed

+20
-10
lines changed

2 files changed

+20
-10
lines changed

pkg/minikube/machine/info.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ func RemoteHostInfo(r command.Runner) (*HostInfo, error, error, error) {
8181
klog.Warningf("Unable to get mem info: %v", memErr)
8282
}
8383
free := rr.Stdout.String()
84-
memory, err := util.ParseMemFree(free)
84+
memory, _, err := util.ParseMemFree(free)
8585
if err != nil {
8686
klog.Warningf("Unable to parse mem info: %v", err)
8787
}
@@ -90,7 +90,7 @@ func RemoteHostInfo(r command.Runner) (*HostInfo, error, error, error) {
9090
klog.Warningf("Unable to get disk info: %v", diskErr)
9191
}
9292
df := rr.Stdout.String()
93-
disksize, err := util.ParseDiskFree(df)
93+
disksize, _, err := util.ParseDiskFree(df)
9494
if err != nil {
9595
klog.Warningf("Unable to parse disk info: %v", err)
9696
}

pkg/util/utils.go

Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,8 @@ func ConvertUnsignedBytesToMB(byteSize uint64) int64 {
6464
}
6565

6666
// ParseMemFree parses the output of the `free -m` command
67-
func ParseMemFree(out string) (int64, error) {
67+
// returns: total, available
68+
func ParseMemFree(out string) (int64, int64, error) {
6869
// total used free shared buff/cache available
6970
//Mem: 1987 706 194 1 1086 1173
7071
//Swap: 0 0 0
@@ -74,18 +75,23 @@ func ParseMemFree(out string) (int64, error) {
7475
parsedLine := strings.Fields(line)
7576
t, err := strconv.ParseInt(parsedLine[1], 10, 64)
7677
if err != nil {
77-
return 0, err
78+
return 0, 0, err
79+
}
80+
a, err := strconv.ParseInt(parsedLine[6], 10, 64)
81+
if err != nil {
82+
return 0, 0, err
7883
}
7984
m := strings.Trim(parsedLine[0], ":")
8085
if m == "Mem" {
81-
return t, nil
86+
return t, a, nil
8287
}
8388
}
84-
return 0, nil
89+
return 0, 0, nil
8590
}
8691

8792
// ParseDiskFree parses the output of the `df -m` command
88-
func ParseDiskFree(out string) (int64, error) {
93+
// returns: total, available
94+
func ParseDiskFree(out string) (int64, int64, error) {
8995
// Filesystem 1M-blocks Used Available Use% Mounted on
9096
// /dev/sda1 39643 3705 35922 10% /
9197
outlines := strings.Split(out, "\n")
@@ -94,14 +100,18 @@ func ParseDiskFree(out string) (int64, error) {
94100
parsedLine := strings.Fields(line)
95101
t, err := strconv.ParseInt(parsedLine[1], 10, 64)
96102
if err != nil {
97-
return 0, err
103+
return 0, 0, err
104+
}
105+
a, err := strconv.ParseInt(parsedLine[3], 10, 64)
106+
if err != nil {
107+
return 0, 0, err
98108
}
99109
m := parsedLine[5]
100110
if m == "/" {
101-
return t, nil
111+
return t, a, nil
102112
}
103113
}
104-
return 0, nil
114+
return 0, 0, nil
105115
}
106116

107117
// GetBinaryDownloadURL returns a suitable URL for the platform

0 commit comments

Comments
 (0)