blob: 5423a66dd51fc4585b3711562ed5dcc1038d93b2 [file] [log] [blame]
Steven Sombara3f04392018-10-01 15:38:21 -05001*** Settings ***
2Documentation Utilities for eSEL testing.
3
4Resource ../lib/ipmi_client.robot
5Resource ../lib/utils.robot
George Keishing6716d6a2019-06-03 10:18:20 -05006Resource ../lib/logging_utils.robot
Steven Sombara3f04392018-10-01 15:38:21 -05007Variables ../data/variables.py
8
9
10*** Variables ***
11
12${RAW_PREFIX} raw 0x3a 0xf0 0x
13
14${RESERVE_ID} raw 0x0a 0x42
15
16${RAW_SUFFIX} 0x00 0x00 0x00 0x00 0x00 0x01 0x00 0x00
Steven Sombar31b6bd02019-03-06 10:58:07 -060017... 0xdf 0x00 0x00 0x00 0x00 0x20 0x00 0x04 0x12 0x65 0x6f 0xaa 0x00 0x00
Steven Sombara3f04392018-10-01 15:38:21 -050018
19${RAW_SEL_COMMIT} raw 0x0a 0x44 0x00 0x00 0x02 0x00 0x00 0x00 0x00 0x20
20... 0x00 0x04 0x12 0xA6 0x6f 0x02 0x00 0x01
21
22
23*** Keywords ***
24
25Create eSEL
26 [Documentation] Create an eSEL.
27 Open Connection And Log In
28 ${Resv_id}= Run Inband IPMI Standard Command ${RESERVE_ID}
29 ${cmd}= Catenate
30 ... ${RAW_PREFIX}${Resv_id.strip().rsplit(' ', 1)[0]} ${RAW_SUFFIX}
31 Run Inband IPMI Standard Command ${cmd}
32 Run Inband IPMI Standard Command ${RAW_SEL_COMMIT}
33
34
35Count eSEL Entries
36 [Documentation] Count eSEL entries logged.
37 ${resp}= OpenBMC Get Request ${BMC_LOGGING_ENTRY}
38 Should Be Equal As Strings ${resp.status_code} ${HTTP_OK}
George Keishingfbd67002022-08-01 11:24:03 -050039 ${count}= Get Length ${resp.json()["data"]}
Steven Sombara3f04392018-10-01 15:38:21 -050040 [Return] ${count}
41
42
43Verify eSEL Entries
44 [Documentation] Verify eSEL entries logged.
Steven Sombara3f04392018-10-01 15:38:21 -050045
George Keishing6716d6a2019-06-03 10:18:20 -050046 # {
47 # "@odata.context": "/redfish/v1/$metadata#LogEntry.LogEntry",
48 # "@odata.id": "/redfish/v1/Systems/system/LogServices/EventLog/Entries/2",
49 # "@odata.type": "#LogEntry.v1_4_0.LogEntry",
50 # "Created": "2019-06-03T14:47:31+00:00",
51 # "EntryType": "Event",
52 # "Id": "2",
53 # "Message": "org.open_power.Host.Error.Event",
54 # "Name": "System DBus Event Log Entry",
55 # "Severity": "Critical"
56 # }
57
58 ${elog_entry}= Get Event Logs
59 Should Be Equal ${elog_entry[0]["Message"]} org.open_power.Host.Error.Event
60 Should Be Equal ${elog_entry[0]["Severity"]} Critical
Steven Sombar3839c8c2019-09-09 14:39:45 -050061
62
63Check For Error Logs
64 [Documentation] Fail if there are error logs. Ignore logs with
George Keishing178d9bf2020-07-09 08:29:29 -050065 ... severity in the ignorelist.
Steven Sombar3839c8c2019-09-09 14:39:45 -050066
Konstantin Aladyshev10ac7fe2021-03-23 01:11:22 +030067 [Arguments] ${ignorelist}
Steven Sombar3839c8c2019-09-09 14:39:45 -050068
69 # Description of Argument(s):
George Keishing178d9bf2020-07-09 08:29:29 -050070 # ignorelist A list to be used to filter out esels which are
Steven Sombar3839c8c2019-09-09 14:39:45 -050071 # of no interest to the caller.
72 # Error Logs with Severity field matching an
73 # entry in this list will be ignored. (e.g.
74 # xyz.openbmc_project.Logging.Entry.Level.Error)
75
76 Print Timen Checking Error Logs.
77 ${error_logs}= Get Error Logs
78
79 ${num_error_logs}= Get Length ${error_logs}
80 Return From Keyword If ${num_error_logs} == ${0}
81
82 # Get a list of the severities of the error logs.
83 ${error_log_severities}= Nested Get Severity ${error_logs}
George Keishing178d9bf2020-07-09 08:29:29 -050084 # Subtract the IGNORETLIST from the error_log_severities.
Steven Sombar3839c8c2019-09-09 14:39:45 -050085 ${problem_error_logs}= Evaluate
Konstantin Aladyshev10ac7fe2021-03-23 01:11:22 +030086 ... list(set($error_log_severities) - set($ignorelist))
Steven Sombar3839c8c2019-09-09 14:39:45 -050087
88 Valid Length problem_error_logs max_length=0