diff options
author | George Kraft <george.kraft@calxeda.com> | 2012-09-04 16:03:13 -0500 |
---|---|---|
committer | George Kraft <george.kraft@calxeda.com> | 2012-09-04 16:03:13 -0500 |
commit | 9d5039dd141626b2219ebe1d9037d9ca94adf38a (patch) | |
tree | 28d93684a8d0cd14a41d5d7cdfb5995a6c210586 | |
parent | ab751b0947d77f3a791402a37f73ca31a0d43383 (diff) | |
download | cxmanage-9d5039dd141626b2219ebe1d9037d9ca94adf38a.tar.gz |
CXMAN-85: Timeout after 5 minutes on firmware transfers
-rw-r--r-- | cxmanage/target.py | 7 |
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") |