Fix Diagnose Formatting In Disk Usage Checks (#12229)

* save

* fix diagnose formatting errors

* fix diagnose formatting errors

* change powers

* change powers

* use humanize instead of doing the conversion to mb manually

* cl
This commit is contained in:
Hridoy Roy 2021-08-02 10:06:04 -07:00 committed by GitHub
parent f76fbcf4e5
commit 28f33d2384
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 10 additions and 5 deletions

3
changelog/12229.txt Normal file
View File

@ -0,0 +1,3 @@
```release-note:bug
core: fix byte printing for diagnose disk checks
```

1
go.mod
View File

@ -41,6 +41,7 @@ require (
github.com/docker/go-connections v0.4.0 github.com/docker/go-connections v0.4.0
github.com/dsnet/compress v0.0.1 // indirect github.com/dsnet/compress v0.0.1 // indirect
github.com/duosecurity/duo_api_golang v0.0.0-20190308151101-6c680f768e74 github.com/duosecurity/duo_api_golang v0.0.0-20190308151101-6c680f768e74
github.com/dustin/go-humanize v1.0.0
github.com/elazarl/go-bindata-assetfs v1.0.1-0.20200509193318-234c15e7648f github.com/elazarl/go-bindata-assetfs v1.0.1-0.20200509193318-234c15e7648f
github.com/fatih/color v1.11.0 github.com/fatih/color v1.11.0
github.com/fatih/structs v1.1.0 github.com/fatih/structs v1.1.0

View File

@ -7,6 +7,7 @@ import (
"fmt" "fmt"
"strings" "strings"
"github.com/dustin/go-humanize"
"github.com/shirou/gopsutil/disk" "github.com/shirou/gopsutil/disk"
) )
@ -31,11 +32,11 @@ partLoop:
Warn(ctx, fmt.Sprintf("Could not obtain partition usage for %s: %v.", partition.Mountpoint, err)) Warn(ctx, fmt.Sprintf("Could not obtain partition usage for %s: %v.", partition.Mountpoint, err))
} else { } else {
if usage.UsedPercent > 95 { if usage.UsedPercent > 95 {
SpotWarn(ctx, testName, fmt.Sprintf(partition.Mountpoint+" is %d percent full.", usage.UsedPercent), SpotWarn(ctx, testName, fmt.Sprintf(partition.Mountpoint+" is %.2f percent full.", usage.UsedPercent))
Advice("It is recommended to have more than five percent of the partition free.")) Advise(ctx, "It is recommended to have more than five percent of the partition free.")
} else if usage.Free < 2<<30 { } else if usage.Free < 1<<30 {
SpotWarn(ctx, testName, partition.Mountpoint+" has %d bytes full.", SpotWarn(ctx, testName, fmt.Sprintf(partition.Mountpoint+" has %s free.", humanize.Bytes(usage.Free)))
Advice("It is recommended to have at least 1 GB of space free per partition.")) Advise(ctx, "It is recommended to have at least 1 GB of space free per partition.")
} else { } else {
SpotOk(ctx, testName, partition.Mountpoint+" usage ok.") SpotOk(ctx, testName, partition.Mountpoint+" usage ok.")
} }