diff --git a/pyghmi/ipmi/oem/lenovo/imm.py b/pyghmi/ipmi/oem/lenovo/imm.py index 5cc9cad7..afbc91df 100644 --- a/pyghmi/ipmi/oem/lenovo/imm.py +++ b/pyghmi/ipmi/oem/lenovo/imm.py @@ -2072,7 +2072,8 @@ class XCCClient(IMMClient): complete = state == 'Completed' progress({'phase': phase, 'progress': pct}) if complete: - if 'OperationTransitionedToJob' in pgress['Messages'][0]['MessageId']: + msgs = pgress.get('Messages', []) + if msgs and 'OperationTransitionedToJob' in msgs[0].get('MessageId', ''): monitorurl = pgress['Messages'][0]['MessageArgs'][0] phase = 'validating' statetype = 'JobState' diff --git a/pyghmi/redfish/oem/generic.py b/pyghmi/redfish/oem/generic.py index 219ce8be..1dea64ba 100644 --- a/pyghmi/redfish/oem/generic.py +++ b/pyghmi/redfish/oem/generic.py @@ -836,7 +836,8 @@ class OEMHandler(object): complete = state == 'Completed' progress({'phase': phase, 'progress': pct}) if complete: - if 'OperationTransitionedToJob' in pgress['Messages'][0]['MessageId']: + msgs = pgress.get('Messages', []) + if msgs and 'OperationTransitionedToJob' in msgs[0].get('MessageId', ''): monitorurl = pgress['Messages'][0]['MessageArgs'][0] phase = 'validating' statetype = 'JobState' diff --git a/pyghmi/redfish/oem/lenovo/xcc.py b/pyghmi/redfish/oem/lenovo/xcc.py index 87ed08e7..b56be0be 100644 --- a/pyghmi/redfish/oem/lenovo/xcc.py +++ b/pyghmi/redfish/oem/lenovo/xcc.py @@ -1290,7 +1290,8 @@ class OEMHandler(generic.OEMHandler): complete = state == 'Completed' progress({'phase': phase, 'progress': pct}) if complete: - if 'OperationTransitionedToJob' in pgress['Messages'][0]['MessageId']: + msgs = pgress.get('Messages', []) + if msgs and 'OperationTransitionedToJob' in msgs[0].get('MessageId', ''): monitorurl = pgress['Messages'][0]['MessageArgs'][0] phase = 'validating' statetype = 'JobState'