baremetal: Log IPMI power on/off timeouts

Added log messages for cloud operators so that they can tell when an
attempt to turn a device on or off via IPMI has failed after the
configured number of attempts.

This should help operators diagnose issues on devices that respond
slowly to IPMI commands.  The failure to repeatedly change the device
power state is now logged precisely along with the cause, where
before operators had to diagnose the issue through trace log captures.

Partial-Bug: #1177584
Change-Id: Iecd6fadb2b653f4ccbe75882c2ef85812b334e8d
This commit is contained in:
Maris Fogels 2013-08-16 19:10:26 -04:00
parent d0d0c521c5
commit f312713b40

View File

@ -148,6 +148,8 @@ class IPMI(base.PowerManager):
self.state = baremetal_states.ACTIVE self.state = baremetal_states.ACTIVE
raise loopingcall.LoopingCallDone() raise loopingcall.LoopingCallDone()
if self.retries > CONF.baremetal.ipmi_power_retry: if self.retries > CONF.baremetal.ipmi_power_retry:
LOG.error(_("IPMI power on failed after %d tries") % (
CONF.baremetal.ipmi_power_retry))
self.state = baremetal_states.ERROR self.state = baremetal_states.ERROR
raise loopingcall.LoopingCallDone() raise loopingcall.LoopingCallDone()
try: try:
@ -170,6 +172,8 @@ class IPMI(base.PowerManager):
self.state = baremetal_states.DELETED self.state = baremetal_states.DELETED
raise loopingcall.LoopingCallDone() raise loopingcall.LoopingCallDone()
if self.retries > CONF.baremetal.ipmi_power_retry: if self.retries > CONF.baremetal.ipmi_power_retry:
LOG.error(_("IPMI power off failed after %d tries") % (
CONF.baremetal.ipmi_power_retry))
self.state = baremetal_states.ERROR self.state = baremetal_states.ERROR
raise loopingcall.LoopingCallDone() raise loopingcall.LoopingCallDone()
try: try: