set_boot_device should set the "timeout" flag
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Ironic |
Fix Released
|
Medium
|
Jay Faulkner |
Bug Description
Counterintuitively, the 'timeout' flag *disables* the timeout for changing boot devices.
From Section 28.12 of the IPMI 2.0, rev 1.1 spec (the one I happen to have handy):
"""
Thus, the BMC will automatically clear a ‘boot flags valid bit’ if a system restart is not initiated by a Chassis Control command within 60 seconds +/- 10% of the valid flag being set. The BMC will also clear the bit on any system resets or power-cycles that are not triggered by a System Control command. This default behavior can be temporarily overridden using the ‘BMC boot flag valid bit clearing’ parameter.
"""
pyghmi sets the timeout flag by sending the raw command '0x00 0x08 0x03 0x08', which translates to "Set System Boot Options" (0x00 0x08), option "BMC boot flag valid bit clearing" (0x03), to enable bit 1 << 3 "don’t automatically clear boot flag valid bit if Chassis Control command not received within 60-second timeout (countdown restarts when a Chassis Control command is received)". Also, https:/
Changed in ironic: | |
milestone: | none → kilo-1 |
status: | Fix Committed → Fix Released |
Changed in ironic: | |
milestone: | kilo-1 → 2015.1.0 |
You're right Peter, we're using that send_raw command downstream to set these bits. I thought it was something specific to our hardware but with you pointing out it's a part of the IPMI spec, I'll get this into the ipmitool driver :).