summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorge Kraft <george.kraft@calxeda.com>2012-08-24 12:28:39 -0500
committerGeorge Kraft <george.kraft@calxeda.com>2012-08-24 12:28:39 -0500
commit7a7c956facb72e13b65bce402ab43caacbe6bd8e (patch)
tree8bc0ce03c15af1d95c4f2a6dc2a1fa306979c126
parent43434fc73be88619105ed49d314a2ddd6991a454 (diff)
downloadcxmanage-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.py14
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):