diff --git a/pyghmi/ipmi/oem/lenovo/imm.py b/pyghmi/ipmi/oem/lenovo/imm.py index f718cf38..da495687 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 322fcf9a..2b2717cd 100644 --- a/pyghmi/redfish/oem/lenovo/xcc.py +++ b/pyghmi/redfish/oem/lenovo/xcc.py @@ -1278,7 +1278,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'