From 37374f9afad7982069ac5e6cc031209be2530578 Mon Sep 17 00:00:00 2001 From: onkars <onkars@mkcl.org> Date: Wed, 24 Jan 2018 14:59:46 +0530 Subject: [PATCH] OS info related changes --- diskdetailshelper/diskdetails.go | 17 +++++++++++++---- diskdetailshelper/gopsutil/disk_windows.go | 10 +++++----- 2 files changed, 18 insertions(+), 9 deletions(-) diff --git a/diskdetailshelper/diskdetails.go b/diskdetailshelper/diskdetails.go index 327a7d5..00f6e3f 100644 --- a/diskdetailshelper/diskdetails.go +++ b/diskdetailshelper/diskdetails.go @@ -5,6 +5,7 @@ import ( "errors" "os/exec" "regexp" + "runtime" "strconv" "strings" "time" @@ -78,12 +79,16 @@ type DiskStats struct { // AnalyseDisk analyses the all disks and returns serial number of disk and path, total space, free space, used space, percentage of each drive func AnalyseDisk() (UsageStat, error) { UsageStatobj := UsageStat{} + os := "" osInfo, err := host.Info() if err != nil { logginghelper.LogError("error occured while getting OS details", err) - return UsageStatobj, err + // return UsageStatobj, err + os = runtime.GOOS + } else { + os = osInfo.OS } - switch osInfo.OS { + switch os { case "windows": UsageStatobj.SerialNumber = gopsutil.GetDiskSerialNumber("") diskStats, err := GetDiskDetails() @@ -200,12 +205,16 @@ func GetCPUUtilizationPercent(interval time.Duration, percpu bool) ([]float64, e // GetCPUPhysicalID returns CPU Physical ID or empty string func GetCPUPhysicalID() (string, error) { cpuPhysicalID := "" + os := "" osInfo, err := host.Info() if err != nil { logginghelper.LogError("error occured while getting OS details", err) - return cpuPhysicalID, err + // return cpuPhysicalID, err + os = runtime.GOOS + } else { + os = osInfo.OS } - switch osInfo.OS { + switch os { case "windows": cmd := exec.Command("wmic", "CPU", "get", "ProcessorId") // cmd.Stdin = strings.NewReader("CPU get ProcessorId") diff --git a/diskdetailshelper/gopsutil/disk_windows.go b/diskdetailshelper/gopsutil/disk_windows.go index 162e0d0..26c4e5a 100644 --- a/diskdetailshelper/gopsutil/disk_windows.go +++ b/diskdetailshelper/gopsutil/disk_windows.go @@ -3,8 +3,8 @@ package gopsutil import ( - "regexp" "bytes" + "regexp" "unsafe" "corelab.mkcl.org/MKCLOS/coredevelopmentplatform/coreospackage/logginghelper" @@ -197,13 +197,13 @@ func GetDiskSerialNumber(name string) string { info, err := host.Info() if err != nil { logginghelper.LogError("GetDiskSerialNumber Host Info() Err : ", err) - return "" + // return "" } cmd := &exec.Cmd{} - if strings.Contains(info.Platform, "Windows 7") || strings.Contains(info.Platform, "Windows 10") { - cmd = exec.Command("wmic","diskdrive","get","serialnumber") + if err == nil && (strings.Contains(info.Platform, "Windows 7") || strings.Contains(info.Platform, "Windows 10")) { + cmd = exec.Command("wmic", "diskdrive", "get", "serialnumber") } else { - cmd = exec.Command("wmic","path","win32_physicalmedia","get","SerialNumber") + cmd = exec.Command("wmic", "path", "win32_physicalmedia", "get", "SerialNumber") } var out bytes.Buffer cmd.Stdout = &out -- GitLab