From 22133c4aca07429f2209f57256c202776e05bbef Mon Sep 17 00:00:00 2001 From: Jarrod Johnson Date: Fri, 4 Dec 2020 08:38:54 -0500 Subject: [PATCH] Have TSM use redfish only when needed TSM only needs to use redfish for UEFI configuration when used as an IPMI 'extension'. Restrict use to avoid depending on redfish when not needed. Change-Id: I72aece79dc1814124a4a06b48c3266853af9a14e --- pyghmi/ipmi/oem/lenovo/handler.py | 1 - pyghmi/redfish/oem/lenovo/tsma.py | 7 +++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/pyghmi/ipmi/oem/lenovo/handler.py b/pyghmi/ipmi/oem/lenovo/handler.py index 199dc5c3..0f32f1df 100755 --- a/pyghmi/ipmi/oem/lenovo/handler.py +++ b/pyghmi/ipmi/oem/lenovo/handler.py @@ -165,7 +165,6 @@ class OEMHandler(generic.OEMHandler): self.tsmahandler.set_credentials( ipmicmd.ipmi_session.userid.decode('utf-8'), ipmicmd.ipmi_session.password.decode('utf-8')) - self.tsmahandler.init_redfish() @property def _megarac_eth_index(self): diff --git a/pyghmi/redfish/oem/lenovo/tsma.py b/pyghmi/redfish/oem/lenovo/tsma.py index d16c74a4..52db9b15 100644 --- a/pyghmi/redfish/oem/lenovo/tsma.py +++ b/pyghmi/redfish/oem/lenovo/tsma.py @@ -85,17 +85,24 @@ class TsmHandler(generic.OEMHandler): self.csrftok = None self.isipmi = bool(fish) self.fish = fish + self.fishclient = None super(TsmHandler, self).__init__(sysinfo, sysurl, webclient, cache) self.tsm = webclient.thehost self._certverify = webclient._certverify def clear_uefi_configuration(self): + if not self.fishclient: + self.init_redfish() return self.fishclient.clear_system_configuration() def get_uefi_configuration(self, hideadvanced=True): + if not self.fishclient: + self.init_redfish() return self.fishclient.get_system_configuration(hideadvanced) def set_uefi_configuration(self, changeset): + if not self.fishclient: + self.init_redfish() return self.fishclient.set_system_configuration(changeset) def get_diagnostic_data(self, savefile, progress=None, autosuffix=False):