1a3f0439fSSteven Sombar*** Settings *** 2a3f0439fSSteven SombarDocumentation Utilities for eSEL testing. 3a3f0439fSSteven Sombar 4a3f0439fSSteven SombarResource ../lib/ipmi_client.robot 5a3f0439fSSteven SombarResource ../lib/utils.robot 66716d6a8SGeorge KeishingResource ../lib/logging_utils.robot 7a3f0439fSSteven SombarVariables ../data/variables.py 8a3f0439fSSteven Sombar 9a3f0439fSSteven Sombar 10a3f0439fSSteven Sombar*** Variables *** 11a3f0439fSSteven Sombar 12a3f0439fSSteven Sombar${RESERVE_ID} raw 0x0a 0x42 13a3f0439fSSteven Sombar 14a3f0439fSSteven Sombar${RAW_SUFFIX} 0x00 0x00 0x00 0x00 0x00 0x01 0x00 0x00 1531b6bd0eSSteven Sombar... 0xdf 0x00 0x00 0x00 0x00 0x20 0x00 0x04 0x12 0x65 0x6f 0xaa 0x00 0x00 16a3f0439fSSteven Sombar 17a3f0439fSSteven Sombar${RAW_SEL_COMMIT} raw 0x0a 0x44 0x00 0x00 0x02 0x00 0x00 0x00 0x00 0x20 18a3f0439fSSteven Sombar... 0x00 0x04 0x12 0xA6 0x6f 0x02 0x00 0x01 19a3f0439fSSteven Sombar 20a3f0439fSSteven Sombar 21a3f0439fSSteven Sombar*** Keywords *** 22a3f0439fSSteven Sombar 23a3f0439fSSteven SombarCreate eSEL 24a3f0439fSSteven Sombar [Documentation] Create an eSEL. 25*2a2dbbd1SSridevi Ramesh [Arguments] ${IPMI_RAW_PREFIX} 26*2a2dbbd1SSridevi Ramesh 27*2a2dbbd1SSridevi Ramesh # Description of Argument(s): 28*2a2dbbd1SSridevi Ramesh # IPMI_RAW_PREFIX Provide the IPMI raw prefix format 29*2a2dbbd1SSridevi Ramesh # Default is '0x3a 0xf0 0x'. 30*2a2dbbd1SSridevi Ramesh 31a3f0439fSSteven Sombar Open Connection And Log In 32a3f0439fSSteven Sombar ${Resv_id}= Run Inband IPMI Standard Command ${RESERVE_ID} 33a3f0439fSSteven Sombar ${cmd}= Catenate 34*2a2dbbd1SSridevi Ramesh ... raw ${IPMI_RAW_PREFIX}${Resv_id.strip().rsplit(' ', 1)[0]} ${RAW_SUFFIX} 35*2a2dbbd1SSridevi Ramesh 36a3f0439fSSteven Sombar Run Inband IPMI Standard Command ${cmd} 37a3f0439fSSteven Sombar Run Inband IPMI Standard Command ${RAW_SEL_COMMIT} 38a3f0439fSSteven Sombar 39a3f0439fSSteven Sombar 40a3f0439fSSteven SombarCount eSEL Entries 41a3f0439fSSteven Sombar [Documentation] Count eSEL entries logged. 42*2a2dbbd1SSridevi Ramesh 43a3f0439fSSteven Sombar ${resp}= OpenBMC Get Request ${BMC_LOGGING_ENTRY} 44a3f0439fSSteven Sombar Should Be Equal As Strings ${resp.status_code} ${HTTP_OK} 45fbd67007SGeorge Keishing ${count}= Get Length ${resp.json()["data"]} 46409df05dSGeorge Keishing RETURN ${count} 47a3f0439fSSteven Sombar 48a3f0439fSSteven Sombar 49a3f0439fSSteven SombarVerify eSEL Entries 50a3f0439fSSteven Sombar [Documentation] Verify eSEL entries logged. 51a3f0439fSSteven Sombar 526716d6a8SGeorge Keishing # { 536716d6a8SGeorge Keishing # "@odata.context": "/redfish/v1/$metadata#LogEntry.LogEntry", 546716d6a8SGeorge Keishing # "@odata.id": "/redfish/v1/Systems/system/LogServices/EventLog/Entries/2", 556716d6a8SGeorge Keishing # "@odata.type": "#LogEntry.v1_4_0.LogEntry", 566716d6a8SGeorge Keishing # "Created": "2019-06-03T14:47:31+00:00", 576716d6a8SGeorge Keishing # "EntryType": "Event", 586716d6a8SGeorge Keishing # "Id": "2", 596716d6a8SGeorge Keishing # "Message": "org.open_power.Host.Error.Event", 606716d6a8SGeorge Keishing # "Name": "System DBus Event Log Entry", 616716d6a8SGeorge Keishing # "Severity": "Critical" 626716d6a8SGeorge Keishing # } 636716d6a8SGeorge Keishing 646716d6a8SGeorge Keishing ${elog_entry}= Get Event Logs 656716d6a8SGeorge Keishing Should Be Equal ${elog_entry[0]["Message"]} org.open_power.Host.Error.Event 666716d6a8SGeorge Keishing Should Be Equal ${elog_entry[0]["Severity"]} Critical 673839c8cfSSteven Sombar 683839c8cfSSteven Sombar 693839c8cfSSteven SombarCheck For Error Logs 703839c8cfSSteven Sombar [Documentation] Fail if there are error logs. Ignore logs with 71178d9bf2SGeorge Keishing ... severity in the ignorelist. 723839c8cfSSteven Sombar 7310ac7fe2SKonstantin Aladyshev [Arguments] ${ignorelist} 743839c8cfSSteven Sombar 753839c8cfSSteven Sombar # Description of Argument(s): 76178d9bf2SGeorge Keishing # ignorelist A list to be used to filter out esels which are 773839c8cfSSteven Sombar # of no interest to the caller. 783839c8cfSSteven Sombar # Error Logs with Severity field matching an 793839c8cfSSteven Sombar # entry in this list will be ignored. (e.g. 803839c8cfSSteven Sombar # xyz.openbmc_project.Logging.Entry.Level.Error) 813839c8cfSSteven Sombar 823839c8cfSSteven Sombar Print Timen Checking Error Logs. 833839c8cfSSteven Sombar ${error_logs}= Get Error Logs 843839c8cfSSteven Sombar 853839c8cfSSteven Sombar ${num_error_logs}= Get Length ${error_logs} 863839c8cfSSteven Sombar Return From Keyword If ${num_error_logs} == ${0} 873839c8cfSSteven Sombar 883839c8cfSSteven Sombar # Get a list of the severities of the error logs. 893839c8cfSSteven Sombar ${error_log_severities}= Nested Get Severity ${error_logs} 90178d9bf2SGeorge Keishing # Subtract the IGNORETLIST from the error_log_severities. 913839c8cfSSteven Sombar ${problem_error_logs}= Evaluate 9210ac7fe2SKonstantin Aladyshev ... list(set($error_log_severities) - set($ignorelist)) 933839c8cfSSteven Sombar 943839c8cfSSteven Sombar Valid Length problem_error_logs max_length=0 95