*** Settings *** Documentation Utilities for eSEL testing. Resource ../lib/ipmi_client.robot Resource ../lib/utils.robot Variables ../data/variables.py *** Variables *** ${RAW_PREFIX} raw 0x3a 0xf0 0x ${RESERVE_ID} raw 0x0a 0x42 ${RAW_SUFFIX} 0x00 0x00 0x00 0x00 0x00 0x01 0x00 0x00 ... 0xdf 0x00 0x00 0x00 0x00 0x20 0x00 0x04 0x12 0x65 0x6f 0xaa 0x00 0x00 ${RAW_SEL_COMMIT} raw 0x0a 0x44 0x00 0x00 0x02 0x00 0x00 0x00 0x00 0x20 ... 0x00 0x04 0x12 0xA6 0x6f 0x02 0x00 0x01 *** Keywords *** Create eSEL [Documentation] Create an eSEL. Open Connection And Log In ${Resv_id}= Run Inband IPMI Standard Command ${RESERVE_ID} ${cmd}= Catenate ... ${RAW_PREFIX}${Resv_id.strip().rsplit(' ', 1)[0]} ${RAW_SUFFIX} Run Inband IPMI Standard Command ${cmd} Run Inband IPMI Standard Command ${RAW_SEL_COMMIT} Count eSEL Entries [Documentation] Count eSEL entries logged. ${resp}= OpenBMC Get Request ${BMC_LOGGING_ENTRY} Should Be Equal As Strings ${resp.status_code} ${HTTP_OK} ${jsondata}= To JSON ${resp.content} ${count}= Get Length ${jsondata["data"]} [Return] ${count} Verify eSEL Entries [Documentation] Verify eSEL entries logged. ${elog_entry}= Get URL List ${BMC_LOGGING_ENTRY} ${resp}= OpenBMC Get Request ${elog_entry[0]} # "data": { # "AdditionalData": [ # "ESEL=00 00 df 00 00 00 00 20 00 04 12 35 6f aa 00 00 " # ], # "Id": 1, # "Message": "org.open_power.Host.Error.Event", # "Severity": "xyz.openbmc_project.Logging.Entry.Level.Error", # "Timestamp": 1485904869061 # } ${entry_id}= Read Attribute ${elog_entry[0]} Message Should Be Equal ${entry_id} ... org.open_power.Host.Error.Event ${entry_id}= Read Attribute ${elog_entry[0]} Severity # Could be either xyz.openbmc_project.Logging.Entry.Level.Error # or xyz.openbmc_project.Logging.Entry.Level.Warning. Should Contain ${entry_id} xyz.openbmc_project.Logging.Entry.Level