diff --git a/changelog/12229.txt b/changelog/12229.txt new file mode 100644 index 0000000000000..6503ba5e97c9f --- /dev/null +++ b/changelog/12229.txt @@ -0,0 +1,3 @@ +```release-note:bug +core: fix byte printing for diagnose disk checks +``` diff --git a/go.mod b/go.mod index 0ab34636831ad..aedb0745b29ef 100644 --- a/go.mod +++ b/go.mod @@ -41,6 +41,7 @@ require ( github.com/docker/go-connections v0.4.0 github.com/dsnet/compress v0.0.1 // indirect 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/fatih/color v1.11.0 github.com/fatih/structs v1.1.0 diff --git a/vault/diagnose/os_common.go b/vault/diagnose/os_common.go index 6d4658c006629..937c4c99813dd 100644 --- a/vault/diagnose/os_common.go +++ b/vault/diagnose/os_common.go @@ -7,6 +7,7 @@ import ( "fmt" "strings" + "github.com/dustin/go-humanize" "github.com/shirou/gopsutil/disk" ) @@ -31,10 +32,10 @@ partLoop: Warn(ctx, fmt.Sprintf("Could not obtain partition usage for %s: %v.", partition.Mountpoint, err)) } else { 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.")) - } else if usage.Free < 2<<30 { - SpotWarn(ctx, testName, partition.Mountpoint+" has %d bytes full.", + } else if usage.Free < 1<<30 { + 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.")) } else { SpotOk(ctx, testName, partition.Mountpoint+" usage ok.")