From ea0bfc99c95c55639bede404cfacb7ba70afd28b Mon Sep 17 00:00:00 2001 From: Jarrod Johnson Date: Tue, 11 Jun 2024 10:58:20 -0400 Subject: [PATCH] Add FAPM meters for better quality power data Change-Id: I5e716badabdf5bdaa04666ddcd55f1d3c6d2a789 --- pyghmi/ipmi/oem/lenovo/energy.py | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/pyghmi/ipmi/oem/lenovo/energy.py b/pyghmi/ipmi/oem/lenovo/energy.py index b6a5914e..a10a3d70 100644 --- a/pyghmi/ipmi/oem/lenovo/energy.py +++ b/pyghmi/ipmi/oem/lenovo/energy.py @@ -32,8 +32,8 @@ class EnergyManager(object): try: rsp = ipmicmd.xraw_command(netfn=0x3a, command=0x32, data=[4, 2, 0, 0, 0]) if len(rsp['data']) >= 8: - self.supportedmeters = ('DC Energy',) # 'GPU Power', - # 'Node Power', 'Total Power') + self.supportedmeters = ('DC Energy', 'GPU Power', + 'Node Power', 'Total Power') self._mypowermeters = ('node power', 'total power', 'gpu power', 'riser 1 power', 'riser 2 power') self._usefapm = True return @@ -67,9 +67,22 @@ class EnergyManager(object): def get_sensor(self, name, ipmicmd): if name.lower() not in self._mypowermeters: - raise pygexc.UnsupportedFunctionality('Unrecogcized sensor') - rsp = ipmicmd.xraw_command(netfn=0x3a, command=0x32, data=[4, 8, 0, 0, 0]) - npow, gpupow, r1pow, r2pow = struct.unpack('