From 33e6212152a68426c59c63a7f3d973f480571b33 Mon Sep 17 00:00:00 2001 From: Jarrod Johnson Date: Wed, 8 Oct 2025 14:01:57 -0400 Subject: [PATCH] Tolerate failure retrieving logs Some redfish implementations advertise non-existant logs, or logs that only exist under certain conditions. Note these logs and move on. Change-Id: Id6e39ef53a8882e6e9a6435ab0904f06499ab0bb --- pyghmi/redfish/oem/generic.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/pyghmi/redfish/oem/generic.py b/pyghmi/redfish/oem/generic.py index 190e3157..169e7db6 100644 --- a/pyghmi/redfish/oem/generic.py +++ b/pyghmi/redfish/oem/generic.py @@ -306,7 +306,16 @@ class OEMHandler(object): lurls.extend(extraurls) for lurl in lurls: lurl = lurl['@odata.id'] - loginfo = self._do_web_request(lurl, cache=(not clear)) + try: + loginfo = self._do_web_request(lurl, cache=(not clear)) + except Exception: + record = {} + record['log_id'] = os.path.basename(lurl) + record['message'] = 'Could not retrieve log at {0}'.format(lurl) + record['severity'] = const.Health.Ok + record['timestamp'] = datetime.now().strftime('%Y-%m-%dT%H:%M:%S') + yield record + continue entriesurl = loginfo.get('Entries', {}).get('@odata.id', None) if not entriesurl: continue