diff options
author | George Kraft <george.kraft@calxeda.com> | 2012-08-24 12:28:39 -0500 |
---|---|---|
committer | George Kraft <george.kraft@calxeda.com> | 2012-08-24 12:28:39 -0500 |
commit | 7a7c956facb72e13b65bce402ab43caacbe6bd8e (patch) | |
tree | 8bc0ce03c15af1d95c4f2a6dc2a1fa306979c126 | |
parent | 43434fc73be88619105ed49d314a2ddd6991a454 (diff) | |
download | cxmanage-7a7c956facb72e13b65bce402ab43caacbe6bd8e.tar.gz |
target: Abort ipinfo/macaddr commands if they return an error
Also cleaned up some other error messages -- they should hopefully
be more meaningful now.
-rw-r--r-- | cxmanage/target.py | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/cxmanage/target.py b/cxmanage/target.py index e12d1e6..77eccd6 100644 --- a/cxmanage/target.py +++ b/cxmanage/target.py @@ -80,9 +80,11 @@ class Target: # Send ipinfo command try: - self.bmc.get_fabric_ipinfo(basename, tftp_address) + result = self.bmc.get_fabric_ipinfo(basename, tftp_address) except IpmiError as e: raise CxmanageError(self._parse_ipmierror(e)) + if hasattr(result, "error"): + raise CxmanageError(result.error) # Wait for file for a in range(10): @@ -125,9 +127,11 @@ class Target: # Send ipinfo command try: - self.bmc.get_fabric_macaddresses(basename, tftp_address) + result = self.bmc.get_fabric_macaddresses(basename, tftp_address) except IpmiError as e: raise CxmanageError(self._parse_ipmierror(e)) + if hasattr(result, "error"): + raise CxmanageError(result.error) # Wait for file for a in range(10): @@ -193,7 +197,7 @@ class Target: try: result = self.bmc.mc_reset("cold") if hasattr(result, "error"): - raise CxmanageError("Failed to send MC reset command") + raise CxmanageError(result.error) except IpmiError as e: raise CxmanageError(self._parse_ipmierror(e)) @@ -298,7 +302,7 @@ class Target: # Reset CDB result = self.bmc.reset_firmware() if hasattr(result, "error"): - raise CxmanageError("Failed to reset configuration") + raise CxmanageError(result.error) # Reset ubootenv fwinfo = self.get_firmware_info() @@ -336,7 +340,7 @@ class Target: """ Get basic SoC info from this target """ result = self.bmc.get_info_basic() if hasattr(result, "error"): - raise CxmanageError("Failed to retrieve SoC info") + raise CxmanageError(result.error) return result def info_dump(self, tftp): |