diff --git a/internal/collect.go b/internal/collect.go index 9c123c3..ea7ca69 100644 --- a/internal/collect.go +++ b/internal/collect.go @@ -150,7 +150,6 @@ func CollectInventory(assets *[]RemoteAsset, params *CollectParams) error { if smdClient.URI != "" { err = smdClient.Add(body, headers) if err != nil { - log.Error().Err(err).Msgf("failed to add Redfish endpoint") // try updating instead if params.ForceUpdate { @@ -159,6 +158,8 @@ func CollectInventory(assets *[]RemoteAsset, params *CollectParams) error { if err != nil { log.Error().Err(err).Msgf("failed to forcibly update Redfish endpoint") } + } else { + log.Error().Err(err).Msgf("failed to add Redfish endpoint") } } } else { diff --git a/pkg/client/smd.go b/pkg/client/smd.go index 69fbf17..a908729 100644 --- a/pkg/client/smd.go +++ b/pkg/client/smd.go @@ -40,7 +40,11 @@ func (c SmdClient) Add(data HTTPBody, headers HTTPHeader) error { if res != nil { statusOk := res.StatusCode >= 200 && res.StatusCode < 300 if !statusOk { - return fmt.Errorf("returned status code %d when adding endpoint", res.StatusCode) + if len(body) > 0 { + return fmt.Errorf("%d: %s", res.StatusCode, string(body)) + } else { + return fmt.Errorf("returned status code %d when adding endpoint", res.StatusCode) + } } fmt.Printf("%v (%v)\n%s\n", url, res.Status, string(body)) } @@ -57,7 +61,11 @@ func (c SmdClient) Update(data HTTPBody, headers HTTPHeader) error { if res != nil { statusOk := res.StatusCode >= 200 && res.StatusCode < 300 if !statusOk { - return fmt.Errorf("failed to update redfish endpoint (returned %s)", res.Status) + if len(body) > 0 { + return fmt.Errorf("%d: %s", res.StatusCode, string(body)) + } else { + return fmt.Errorf("failed to update redfish endpoint (returned %s)", res.Status) + } } fmt.Printf("%v (%v)\n%s\n", url, res.Status, string(body)) }