This returns the Error type ErrNotAuthenticated to the caller,
so that the caller can realize a new session needs to be setup,
instead of just ending up with a panic.
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x28 pc=0x17b78fc]
goroutine 30 [running]:
github.com/bmc-toolbox/bmclib/v2/providers/redfish.(*Conn).status(0x17cb315?, {0xc0002f6470?, 0x0?})
/go/pkg/mod/github.com/bmc-toolbox/bmclib/v2@v2.0.0/providers/redfish/redfish.go:236 +0x1c
github.com/bmc-toolbox/bmclib/v2/providers/redfish.(*Conn).PowerStateGet(0x18768c0?, {0x1b4ac18?, 0xc000433f80?})
/go/pkg/mod/github.com/bmc-toolbox/bmclib/v2@v2.0.0/providers/redfish/redfish.go:178 +0x25
github.com/bmc-toolbox/bmclib/v2/bmc.getPowerState({0x1b4ac18, 0xc000433f80}, {0xc0003fa990?, 0x0?, 0x0?})
/go/pkg/mod/github.com/bmc-toolbox/bmclib/v2@v2.0.0/bmc/power.go:102 +0x28d
github.com/bmc-toolbox/bmclib/v2/bmc.GetPowerStateFromInterfaces({0x1b4ac18?, 0xc000433f80?}, {0xc0002f6460?, 0x1?, 0x1?})
/go/pkg/mod/github.com/bmc-toolbox/bmclib/v2@v2.0.0/bmc/power.go:131 +0x1c5
github.com/bmc-toolbox/bmclib/v2.(*Client).GetPowerState(0xc000196e10, {0x1b4ac18, 0xc000433f80})
/go/pkg/mod/github.com/bmc-toolbox/bmclib/v2@v2.0.0/client.go:178 +0x1e7
compatibility check logs to log only when debug/trace logging is
enabled. Each provider performs compatibility checks and add up to too
much error noise thats not really helpful.
squash
- break up ScanAndConnect into various Probe methods to probe devices
- Add, fix up tests for device probing
- Fix up various probe methods to check response payload
- Fix up iDrac8 probing for newer versions - 2.70.70.70