From 8a336bf5c66771c6a8ad3674c036ff3e1f6dac77 Mon Sep 17 00:00:00 2001 From: Jason Kulatunga Date: Wed, 23 Sep 2020 10:37:59 -0600 Subject: [PATCH] wwn should always be lowercase for consistency. It's used in the URL for pushing smart data. --- collector/pkg/detect/detect.go | 2 +- collector/pkg/detect/devices_darwin.go | 3 +++ collector/pkg/detect/devices_linux.go | 3 +++ collector/pkg/detect/devices_windows.go | 3 +++ collector/pkg/detect/wwn.go | 3 ++- 5 files changed, 12 insertions(+), 2 deletions(-) diff --git a/collector/pkg/detect/detect.go b/collector/pkg/detect/detect.go index 7eb830a..345eb8f 100644 --- a/collector/pkg/detect/detect.go +++ b/collector/pkg/detect/detect.go @@ -100,7 +100,7 @@ func (d *Detect) smartCtlInfo(device *models.Device) error { Oui: availableDeviceInfo.Wwn.Oui, Id: availableDeviceInfo.Wwn.ID, } - device.WWN = wwn.ToString() + device.WWN = strings.ToLower(wwn.ToString()) d.Logger.Debugf("NAA: %d OUI: %d Id: %d => WWN: %s", wwn.Naa, wwn.Oui, wwn.Id, device.WWN) } else { d.Logger.Info("Using WWN Fallback") diff --git a/collector/pkg/detect/devices_darwin.go b/collector/pkg/detect/devices_darwin.go index b2a2ffd..d6b4f49 100644 --- a/collector/pkg/detect/devices_darwin.go +++ b/collector/pkg/detect/devices_darwin.go @@ -105,4 +105,7 @@ func (d *Detect) wwnFallback(detectedDevice *models.Device) { d.Logger.Debugf("WWN is empty, falling back to serial number: %s", detectedDevice.SerialNumber) detectedDevice.WWN = detectedDevice.SerialNumber } + + //wwn must always be lowercase. + detectedDevice.WWN = strings.ToLower(detectedDevice.WWN) } diff --git a/collector/pkg/detect/devices_linux.go b/collector/pkg/detect/devices_linux.go index 3b12406..437694b 100644 --- a/collector/pkg/detect/devices_linux.go +++ b/collector/pkg/detect/devices_linux.go @@ -42,4 +42,7 @@ func (d *Detect) wwnFallback(detectedDevice *models.Device) { d.Logger.Debugf("WWN is empty, falling back to serial number: %s", detectedDevice.SerialNumber) detectedDevice.WWN = detectedDevice.SerialNumber } + + //wwn must always be lowercase. + detectedDevice.WWN = strings.ToLower(detectedDevice.WWN) } diff --git a/collector/pkg/detect/devices_windows.go b/collector/pkg/detect/devices_windows.go index 3346842..fdf0c55 100644 --- a/collector/pkg/detect/devices_windows.go +++ b/collector/pkg/detect/devices_windows.go @@ -26,4 +26,7 @@ func (d *Detect) wwnFallback(detectedDevice *models.Device) { if len(detectedDevice.WWN) == 0 { detectedDevice.WWN = detectedDevice.SerialNumber } + + //wwn must always be lowercase. + detectedDevice.WWN = strings.ToLower(detectedDevice.WWN) } diff --git a/collector/pkg/detect/wwn.go b/collector/pkg/detect/wwn.go index d9163ca..a60e3bd 100644 --- a/collector/pkg/detect/wwn.go +++ b/collector/pkg/detect/wwn.go @@ -2,6 +2,7 @@ package detect import ( "fmt" + "strings" ) type Wwn struct { @@ -54,5 +55,5 @@ func (wwn *Wwn) ToString() string { //TODO: may need to support additional versions in the future. - return fmt.Sprintf("%#x", wwnBuffer) + return strings.ToLower(fmt.Sprintf("%#x", wwnBuffer)) }