summaryrefslogtreecommitdiff
path: root/ironic/drivers/modules/irmc/power.py
diff options
context:
space:
mode:
authorNaohiro Tamura <naohirot@jp.fujitsu.com>2015-02-24 18:52:12 +0900
committerNaohiro Tamura <naohirot@jp.fujitsu.com>2015-02-24 18:52:12 +0900
commit4386a7c138db3a46c5ada3655c030a0fd2cf46ef (patch)
tree1f59c9308785eba83b8bc97caed491d53a0cfa22 /ironic/drivers/modules/irmc/power.py
parent63918664a62fbdc459549b1731edcd9e86f443d6 (diff)
downloadironic-4386a7c138db3a46c5ada3655c030a0fd2cf46ef.tar.gz
Fix reboot logic of iRMC Power Driver
It turned out that PRIMERGY BX920 S4 doesn't turn on from power off state when PXEDeploy.deploy called the reboot method of the power driver I/F. This patch makes sure that pxe_irmc driver can initiate deployment for any models. Change-Id: I7abaf75257b33002cbdcf6eb48a0fd2af43ab8e2
Diffstat (limited to 'ironic/drivers/modules/irmc/power.py')
-rw-r--r--ironic/drivers/modules/irmc/power.py6
1 files changed, 5 insertions, 1 deletions
diff --git a/ironic/drivers/modules/irmc/power.py b/ironic/drivers/modules/irmc/power.py
index 6876c828b..d60a5d1bc 100644
--- a/ironic/drivers/modules/irmc/power.py
+++ b/ironic/drivers/modules/irmc/power.py
@@ -130,4 +130,8 @@ class IRMCPower(base.PowerInterface):
:raises: InvalidParameterValue if an invalid power state was specified.
:raises: IRMCOperationError if failed to set the power state.
"""
- _set_power_state(task, states.REBOOT)
+ current_pstate = self.get_power_state(task)
+ if current_pstate == states.POWER_ON:
+ _set_power_state(task, states.REBOOT)
+ elif current_pstate == states.POWER_OFF:
+ _set_power_state(task, states.POWER_ON)