diff --git a/internal/redfishwrapper/client.go b/internal/redfishwrapper/client.go index b9569075..9f7fb078 100644 --- a/internal/redfishwrapper/client.go +++ b/internal/redfishwrapper/client.go @@ -264,6 +264,9 @@ func redfishVersionMeetsOrExceeds(version string, major, minor, patch int) bool } func (c *Client) GetBootProgress() ([]*redfish.BootProgress, error) { + // The redfish standard adopts the BootProgress object in 1.13.0. Earlier versions of redfish return + // json NULL, which gofish turns into a zero-value object of BootProgress. We gate this on the RedfishVersion + // to avoid the complexity of interpreting whether a given value is legitimate. if !redfishVersionMeetsOrExceeds(c.client.Service.RedfishVersion, 1, 13, 0) { return nil, fmt.Errorf("%w: %s", bmclibErrs.ErrRedfishVersionIncompatible, c.client.Service.RedfishVersion) } diff --git a/providers/supermicro/x12.go b/providers/supermicro/x12.go index e58a46c9..52893a99 100644 --- a/providers/supermicro/x12.go +++ b/providers/supermicro/x12.go @@ -329,6 +329,6 @@ func (c *x12) bootComplete() (bool, error) { if err != nil { return false, err } - // we determined this by experiment on SYS-510T-MR with redfish 1.14.0 + // we determined this by experiment on X12STH-SYS with redfish 1.14.0 return bp.LastState == redfish.SystemHardwareInitializationCompleteBootProgressTypes, nil }