summaryrefslogtreecommitdiffstats
path: root/cobbler
diff options
context:
space:
mode:
authorMichael DeHaan <mdehaan@redhat.com>2009-02-19 16:10:14 -0500
committerMichael DeHaan <mdehaan@redhat.com>2009-02-19 16:10:14 -0500
commitc6afbbd2e119dbb8c7ce7e2b8119f9e6f5326820 (patch)
tree3f0457132d7227b608683b4c5df33dc79e6386f0 /cobbler
parentd4753784d193692b9b450ab3fe2e614e2e1f7b36 (diff)
downloadcobbler-c6afbbd2e119dbb8c7ce7e2b8119f9e6f5326820.tar.gz
cobbler-c6afbbd2e119dbb8c7ce7e2b8119f9e6f5326820.tar.xz
cobbler-c6afbbd2e119dbb8c7ce7e2b8119f9e6f5326820.zip
(A) Bill Peck's patch to make power stuff retry 5 times before failing, (B) working on fixing the changelog back since it was lost in a merge (?)
Diffstat (limited to 'cobbler')
-rw-r--r--cobbler/action_power.py12
1 files changed, 11 insertions, 1 deletions
diff --git a/cobbler/action_power.py b/cobbler/action_power.py
index 8f92cc58..789750a1 100644
--- a/cobbler/action_power.py
+++ b/cobbler/action_power.py
@@ -31,6 +31,7 @@ import os.path
import sub_process
import sys
import traceback
+import time
import utils
from cexceptions import *
@@ -106,7 +107,15 @@ class PowerTool:
#if not os.path.exists(tool_needed):
# print "warning: %s does not seem to be installed" % tool_needed
- rc = sub_process.call(cmd, shell=False, close_fds=True)
+ # Try the power command 5 times before giving up.
+ # Some power switches are flakey
+ for x in range(0,5):
+ rc = sub_process.call(cmd, shell=False, close_fds=True)
+ if rc == 0:
+ break
+ else:
+ time.sleep(2)
+
if not rc == 0:
raise CX("command failed (rc=%s), please validate the physical setup and cobbler config" % rc)
@@ -138,6 +147,7 @@ class PowerTool:
"bladecenter": os.path.join(powerdir,"power_bladecenter.template"),
"virsh" : os.path.join(powerdir,"power_virsh.template"),
"integrity" : os.path.join(powerdir,"power_integrity.template"),
+ "wti" : os.path.join(powerdir,"power_wti.template"),
}
result = map.get(self.system.power_type, "")