summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorge Kraft <george.kraft@calxeda.com>2012-09-04 16:03:13 -0500
committerGeorge Kraft <george.kraft@calxeda.com>2012-09-04 16:03:13 -0500
commit9d5039dd141626b2219ebe1d9037d9ca94adf38a (patch)
tree28d93684a8d0cd14a41d5d7cdfb5995a6c210586
parentab751b0947d77f3a791402a37f73ca31a0d43383 (diff)
downloadcxmanage-9d5039dd141626b2219ebe1d9037d9ca94adf38a.tar.gz
CXMAN-85: Timeout after 5 minutes on firmware transfers
-rw-r--r--cxmanage/target.py7
1 files changed, 7 insertions, 0 deletions
diff --git a/cxmanage/target.py b/cxmanage/target.py
index 2cced8b..2b49b8d 100644
--- a/cxmanage/target.py
+++ b/cxmanage/target.py
@@ -493,6 +493,7 @@ class Target:
def _wait_for_transfer(self, handle):
""" Wait for a firmware transfer to finish"""
+ counter = 0
while True:
time.sleep(1)
@@ -501,6 +502,12 @@ class Target:
raise CxmanageError("Unable to retrieve transfer info")
if result.status != "In progress":
break
+
+ # Time out after 5 minutes
+ counter += 1
+ if counter >= 300:
+ raise CxmanageError("Transfer timed out after 5 minutes")
+
if result.status != "Complete":
raise CxmanageError("Node reported transfer failure")