export: align reanimator and enrich redfish metrics
This commit is contained in:
17
internal/parser/vendors/h3c/parser.go
vendored
17
internal/parser/vendors/h3c/parser.go
vendored
@@ -3024,6 +3024,7 @@ func mergeStorage(dst *models.Storage, src models.Storage) {
|
||||
}
|
||||
setStorageString(&dst.Location, src.Location)
|
||||
setStorageString(&dst.Status, normalizeStorageStatus(src.Status, src.Present || dst.Present))
|
||||
dst.Details = mergeH3CDetails(dst.Details, src.Details)
|
||||
}
|
||||
|
||||
func setStorageString(dst *string, value string) {
|
||||
@@ -3275,6 +3276,22 @@ func mergePSU(dst *models.PSU, src models.PSU) {
|
||||
setStorageString(&dst.PartNumber, src.PartNumber)
|
||||
setStorageString(&dst.Firmware, src.Firmware)
|
||||
setStorageString(&dst.Status, src.Status)
|
||||
dst.Details = mergeH3CDetails(dst.Details, src.Details)
|
||||
}
|
||||
|
||||
func mergeH3CDetails(primary, secondary map[string]any) map[string]any {
|
||||
if len(secondary) == 0 {
|
||||
return primary
|
||||
}
|
||||
if primary == nil {
|
||||
primary = make(map[string]any, len(secondary))
|
||||
}
|
||||
for key, value := range secondary {
|
||||
if _, ok := primary[key]; !ok {
|
||||
primary[key] = value
|
||||
}
|
||||
}
|
||||
return primary
|
||||
}
|
||||
|
||||
func dedupeVolumes(items []models.StorageVolume) []models.StorageVolume {
|
||||
|
||||
Reference in New Issue
Block a user