bmc-toolbox/bmclib

ipmitool chassis power reset issue

jacobweinstock opened this issue · 2 comments

func (i *Ipmi) PowerReset(ctx context.Context) (status bool, err error) {

ipmitool chassis power reset on a powered-off machine returns true but doesn't actually do anything. This was tested on a single supermicro box. I don't know if this is a thing across the board. I couldn't find any good documentation around the expected behavior. Don't know if we just want to be a comment here to make a note of this or if we want to make a definition and then do some status checking before. Something to think about/discuss.

For what it's worth, (what I think is) the relevant section of the IPMI spec seems a little vague here:

In some implementations, the BMC may not know whether a reset will cause any particular effect and will pulse the system reset signal regardless of power state. If the implementation can tell that no action will occur if a reset is delivered in a given power state, then it is recommended (but still optional) that a D5h "Request parameter(s) not supported in present state." error completion code be returned.

(Sec. 28.3, "Chassis Control Command")

thanks, @zevweiss. this is good info. What would you recommend, do we follow this? or do we do something else like make the D5h equivalent error in bmclib required?