Changed Collect* function calls to reuse gofish client

This commit is contained in:
David J. Allen 2023-10-24 08:21:30 -06:00
parent 14447ee51e
commit 7a1c799910

View file

@ -175,8 +175,13 @@ func CollectAll(probeStates *[]ScannedResult, l *log.Logger, q *QueryParams) err
json.Unmarshal(inventory, &rm) json.Unmarshal(inventory, &rm)
data["Inventory"] = rm["Inventory"] data["Inventory"] = rm["Inventory"]
c, err := connectGofish(q)
if err != nil {
l.Log.Errorf("could not connect to bmc (%v:%v): %v", q.Host, q.Port, err)
}
// chassis // chassis
chassis, err := CollectChassis(q) chassis, err := CollectChassis(c, q)
if err != nil { if err != nil {
l.Log.Errorf("could not query chassis: %v", err) l.Log.Errorf("could not query chassis: %v", err)
continue continue
@ -212,7 +217,7 @@ func CollectAll(probeStates *[]ScannedResult, l *log.Logger, q *QueryParams) err
// data["Processors"] = rm["Processors"] // data["Processors"] = rm["Processors"]
// systems // systems
systems, err := CollectSystems(client, q) systems, err := CollectSystems(c, q)
if err != nil { if err != nil {
l.Log.Errorf("could not query systems: %v", err) l.Log.Errorf("could not query systems: %v", err)
} }
@ -442,12 +447,7 @@ func CollectBios(client *bmclib.Client, q *QueryParams) ([]byte, error) {
return b, err return b, err
} }
func CollectEthernetInterfaces(client *bmclib.Client, q *QueryParams, systemID string) ([]byte, error) { func CollectEthernetInterfaces(c *gofish.APIClient, q *QueryParams, systemID string) ([]byte, error) {
c, err := connectGofish(q)
if err != nil {
return nil, fmt.Errorf("could not connect to bmc: %v", err)
}
systems, err := c.Service.Systems() systems, err := c.Service.Systems()
if err != nil { if err != nil {
return nil, fmt.Errorf("could not query storage systems (%v:%v): %v", q.Host, q.Port, err) return nil, fmt.Errorf("could not query storage systems (%v:%v): %v", q.Host, q.Port, err)
@ -478,11 +478,7 @@ func CollectEthernetInterfaces(client *bmclib.Client, q *QueryParams, systemID s
return b, nil return b, nil
} }
func CollectChassis(q *QueryParams) ([]byte, error) { func CollectChassis(c *gofish.APIClient, q *QueryParams) ([]byte, error) {
c, err := connectGofish(q)
if err != nil {
return nil, fmt.Errorf("could not connect to bmc (%v:%v): %v", q.Host, q.Port, err)
}
chassis, err := c.Service.Chassis() chassis, err := c.Service.Chassis()
if err != nil { if err != nil {
return nil, fmt.Errorf("could not query chassis (%v:%v): %v", q.Host, q.Port, err) return nil, fmt.Errorf("could not query chassis (%v:%v): %v", q.Host, q.Port, err)
@ -500,12 +496,7 @@ func CollectChassis(q *QueryParams) ([]byte, error) {
return b, nil return b, nil
} }
func CollectStorage(q *QueryParams) ([]byte, error) { func CollectStorage(c *gofish.APIClient, q *QueryParams) ([]byte, error) {
c, err := connectGofish(q)
if err != nil {
return nil, fmt.Errorf("could not connect to bmc (%v:%v): %v", q.Host, q.Port, err)
}
systems, err := c.Service.StorageSystems() systems, err := c.Service.StorageSystems()
if err != nil { if err != nil {
return nil, fmt.Errorf("could not query storage systems (%v:%v): %v", q.Host, q.Port, err) return nil, fmt.Errorf("could not query storage systems (%v:%v): %v", q.Host, q.Port, err)
@ -533,12 +524,7 @@ func CollectStorage(q *QueryParams) ([]byte, error) {
return b, nil return b, nil
} }
func CollectSystems(client *bmclib.Client, q *QueryParams) ([]byte, error) { func CollectSystems(c *gofish.APIClient, q *QueryParams) ([]byte, error) {
c, err := connectGofish(q)
if err != nil {
return nil, fmt.Errorf("could not connect to bmc (%v:%v): %v", q.Host, q.Port, err)
}
systems, err := c.Service.Systems() systems, err := c.Service.Systems()
if err != nil { if err != nil {
return nil, fmt.Errorf("could not query systems (%v:%v): %v", q.Host, q.Port, err) return nil, fmt.Errorf("could not query systems (%v:%v): %v", q.Host, q.Port, err)
@ -547,7 +533,7 @@ func CollectSystems(client *bmclib.Client, q *QueryParams) ([]byte, error) {
// query the system's ethernet interfaces // query the system's ethernet interfaces
var temp []map[string]any var temp []map[string]any
for _, system := range systems { for _, system := range systems {
interfaces, err := CollectEthernetInterfaces(client, q, system.ID) interfaces, err := CollectEthernetInterfaces(c, q, system.ID)
if err != nil { if err != nil {
continue continue
} }
@ -571,12 +557,7 @@ func CollectSystems(client *bmclib.Client, q *QueryParams) ([]byte, error) {
return b, nil return b, nil
} }
func CollectRegisteries(q *QueryParams) ([]byte, error) { func CollectRegisteries(c *gofish.APIClient, q *QueryParams) ([]byte, error) {
c, err := connectGofish(q)
if err != nil {
return nil, fmt.Errorf("could not connect to bmc (%v:%v): %v", q.Host, q.Port, err)
}
registries, err := c.Service.Registries() registries, err := c.Service.Registries()
if err != nil { if err != nil {
return nil, fmt.Errorf("could not query storage systems (%v:%v): %v", q.Host, q.Port, err) return nil, fmt.Errorf("could not query storage systems (%v:%v): %v", q.Host, q.Port, err)