diff --git a/pyghmi/redfish/oem/lenovo/xcc3.py b/pyghmi/redfish/oem/lenovo/xcc3.py index b2abd9b8..9ee5851f 100644 --- a/pyghmi/redfish/oem/lenovo/xcc3.py +++ b/pyghmi/redfish/oem/lenovo/xcc3.py @@ -749,9 +749,14 @@ class OEMHandler(generic.OEMHandler): fd.join() def get_diagnostic_data(self, savefile, progress=None, autosuffix=False): - tsk = self._do_web_request( - '/redfish/v1/Systems/1/LogServices/DiagnosticLog/Actions/LogService.CollectDiagnosticData', - {"DiagnosticDataType": "Manager", "SelectDataTypes": ["adapter","worknote","thermal"]}) + try: + tsk = self._do_web_request( + '/redfish/v1/Systems/1/LogServices/DiagnosticLog/Actions/LogService.CollectDiagnosticData', + {"DiagnosticDataType": "Manager", "SelectDataTypes": ["adapter","worknote","thermal"]}) + except pygexc.RedfishError as e: + tsk = self._do_web_request( + '/redfish/v1/Systems/1/LogServices/DiagnosticLog/Actions/LogService.CollectDiagnosticData', + {"DiagnosticDataType": "Manager", "SelectDataTypes": ["adapter"]}) taskrunning = True taskurl = tsk.get('TaskMonitor', None) pct = 0 if taskurl else 100