From 072e9a28676b65af3050caaf36c70c4ab0b41661 Mon Sep 17 00:00:00 2001 From: Jarrod Johnson Date: Tue, 9 Dec 2025 16:20:31 -0500 Subject: [PATCH] Bail if number of max RDOC already met For XCC systems, 2 is an imposed maxmum, detect and abort if this is seen. Change-Id: I17e0b0916d098a4e14a30e8379766aa53f7a9517 --- pyghmi/ipmi/oem/lenovo/imm.py | 5 +++++ pyghmi/redfish/oem/lenovo/xcc.py | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/pyghmi/ipmi/oem/lenovo/imm.py b/pyghmi/ipmi/oem/lenovo/imm.py index 35835059..598bebfd 100644 --- a/pyghmi/ipmi/oem/lenovo/imm.py +++ b/pyghmi/ipmi/oem/lenovo/imm.py @@ -1980,10 +1980,15 @@ class XCCClient(IMMClient): def upload_media(self, filename, progress=None, data=None): wc = self.wc self._refresh_token() + numrdocs = 0 for rdoc in self._list_rdoc(): + numrdocs += 1 if rdoc.name == os.path.basename(filename): raise pygexc.InvalidParameterValue( 'An image with that name already exists') + if numrdocs >= 2: + raise pygexc.InvalidParameterValue( + 'Maximum number of uploaded media reached') rsp, statu = wc.grab_json_response_with_status('/rdocupload') newmode = False if statu == 404: diff --git a/pyghmi/redfish/oem/lenovo/xcc.py b/pyghmi/redfish/oem/lenovo/xcc.py index b289be3e..f7d834c7 100644 --- a/pyghmi/redfish/oem/lenovo/xcc.py +++ b/pyghmi/redfish/oem/lenovo/xcc.py @@ -1214,10 +1214,15 @@ class OEMHandler(generic.OEMHandler): def upload_media(self, filename, progress=None, data=None): wc = self.wc self._refresh_token() + numrdocs = 0 for rdoc in self._list_rdoc(): + numrdocs += 1 if rdoc.name == os.path.basename(filename): raise pygexc.InvalidParameterValue( 'An image with that name already exists') + if numrdocs >= 2: + raise pygexc.InvalidParameterValue( + 'Maximum number of uploaded media reached') rsp, statu = wc.grab_json_response_with_status('/rdocupload') newmode = False if statu == 404: