summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorge Kraft <george.kraft@calxeda.com>2013-11-05 12:12:50 -0600
committerGeorge Kraft <george.kraft@calxeda.com>2013-11-05 12:12:50 -0600
commitf0a8672967a708136151a3b42150e7ee50ec2e40 (patch)
tree871cc992ab2ebf1c0d8a3aa1e2cf53222cfe3c17
parent2a0699876e46ef568129f7216f70d26aa2280b9f (diff)
downloadcxmanage-f0a8672967a708136151a3b42150e7ee50ec2e40.tar.gz
CXMAN-242: Make Node._read_fru be a public method
-rw-r--r--cxmanage_api/node.py31
1 files changed, 20 insertions, 11 deletions
diff --git a/cxmanage_api/node.py b/cxmanage_api/node.py
index da0c6b5..c92bdc5 100644
--- a/cxmanage_api/node.py
+++ b/cxmanage_api/node.py
@@ -1560,6 +1560,26 @@ obtained.
"""
return self.bmc.fabric_get_uplink_info().strip()
+ def read_fru(self, fru_number, offset=0, bytes_to_read=-1):
+ """Read from node's fru starting at offset.
+ This is equivalent to the ipmitool fru read command.
+
+ :param fru_number: FRU image to read
+ :type fru_number: integer
+ :param offset: File offset
+ :type offset: integer
+ :param bytes_to_read: Number of bytes to read
+ :type bytes_to_read: integer
+
+ :return: The data read from FRU
+ :rtype: string
+
+ """
+ with tempfile.NamedTemporaryFile(delete=True) as hexfile:
+ self.bmc.fru_read(fru_number, hexfile.name)
+ hexfile.seek(offset)
+ return(hexfile.read(bytes_to_read))
+
def _run_fabric_command(self, function_name, **kwargs):
"""Handles the basics of sending a node a command for fabric data."""
filename = temp_file()
@@ -1801,16 +1821,5 @@ obtained.
"Unable to increment SIMG priority, too high")
return priority
- def _read_fru(self, fru_number, offset=0, bytes_to_read=-1):
- """Read from node's fru starting at offset.
- This is equivalent to the ipmitool fru read command.
-
- """
- # Use a temporary file to store the FRU image
- with tempfile.NamedTemporaryFile(delete=True) as hexfile:
- self.bmc.fru_read(fru_number, hexfile.name)
- hexfile.seek(offset)
- return(hexfile.read(bytes_to_read))
-
# End of file: ./node.py