Changed how ethernet interfaces are retrieved via managers

This commit is contained in:
David Allen 2024-05-29 13:58:44 -06:00
parent a5644476f3
commit 389a61be1b
No known key found for this signature in database
GPG key ID: 717C593FF60A2ACC

View file

@ -457,17 +457,17 @@ func CollectSystems(c *gofish.APIClient, q *QueryParams) ([]byte, error) {
// try and get ethernet interfaces through manager if empty
if len(eths) <= 0 {
for _, managerLink := range system.ManagedBy {
managers, err := redfish.ListReferencedManagers(c, managerLink)
if err != nil {
return nil, fmt.Errorf("failed to get system manager references: %v", err)
if q.Verbose {
fmt.Printf("no system ethernet interfaces found...trying to get from managers interface")
}
if len(managers) > 0 {
manager := managers[0]
eths, err = manager.EthernetInterfaces()
for _, managerLink := range system.ManagedBy {
// try getting ethernet interface from all managers until one is found
eths, err = redfish.ListReferencedEthernetInterfaces(c, managerLink)
if err != nil {
return nil, fmt.Errorf("failed to get system manager ethernet interfaces: %v", err)
}
if len(eths) > 0 {
break
}
}
}