xref: /openbmc/openbmc-test-automation/redfish/systems/eventlog/test_event_logging.robot (revision b0a491f2d88131ef8297730de09436786170dbe2)
18cca7fb8SGeorge Keishing*** Settings ***
28cca7fb8SGeorge KeishingDocumentation       Inventory of hardware resources under systems.
38cca7fb8SGeorge Keishing
48cca7fb8SGeorge KeishingResource            ../../../lib/bmc_redfish_resource.robot
58cca7fb8SGeorge KeishingResource            ../../../lib/bmc_redfish_utils.robot
68cca7fb8SGeorge KeishingResource            ../../../lib/logging_utils.robot
78cca7fb8SGeorge KeishingResource            ../../../lib/openbmc_ffdc.robot
88cca7fb8SGeorge Keishing
9*b0a491f2SGeorge KeishingTest Setup          Test Setup Execution
108cca7fb8SGeorge KeishingTest Teardown       Test Teardown Execution
11*b0a491f2SGeorge KeishingSuite Teardown      Suite Teardown Execution
128cca7fb8SGeorge Keishing
138cca7fb8SGeorge Keishing*** Test Cases ***
148cca7fb8SGeorge Keishing
158cca7fb8SGeorge KeishingEvent Log Check After BMC Reboot
168cca7fb8SGeorge Keishing    [Documentation]  Check event log after BMC rebooted.
178cca7fb8SGeorge Keishing    [Tags]  Event_Log_Check_After_BMC_Reboot
188cca7fb8SGeorge Keishing
198cca7fb8SGeorge Keishing    Redfish Purge Event Log
208cca7fb8SGeorge Keishing    Event Log Should Not Exist
218cca7fb8SGeorge Keishing
228cca7fb8SGeorge Keishing    Redfish OBMC Reboot (off)
238cca7fb8SGeorge Keishing
248cca7fb8SGeorge Keishing    Redfish.Login
258cca7fb8SGeorge Keishing    Wait Until Keyword Succeeds  1 mins  15 secs   Redfish.Get  ${EVENT_LOG_URI}Entries
268cca7fb8SGeorge Keishing
278cca7fb8SGeorge Keishing    Event Log Should Not Exist
288cca7fb8SGeorge Keishing
298cca7fb8SGeorge Keishing
30*b0a491f2SGeorge KeishingEvent Log Check After Host Poweron
31*b0a491f2SGeorge Keishing    [Documentation]  Check event log after host has booted.
32*b0a491f2SGeorge Keishing    [Tags]  Event_Log_Check_After_Host_Poweron
33*b0a491f2SGeorge Keishing
34*b0a491f2SGeorge Keishing    Redfish Purge Event Log
35*b0a491f2SGeorge Keishing    Event Log Should Not Exist
36*b0a491f2SGeorge Keishing
37*b0a491f2SGeorge Keishing    Redfish Power On
38*b0a491f2SGeorge Keishing
39*b0a491f2SGeorge Keishing    Redfish.Login
40*b0a491f2SGeorge Keishing    Event Log Should Not Exist
41*b0a491f2SGeorge Keishing
42*b0a491f2SGeorge Keishing
43*b0a491f2SGeorge KeishingCreate Test Event Log And Verify
44*b0a491f2SGeorge Keishing    [Documentation]  Create event logs and verify via redfish.
45*b0a491f2SGeorge Keishing    [Tags]  Create_Test_Event_Log_And_Verify
46*b0a491f2SGeorge Keishing
47*b0a491f2SGeorge Keishing    Create Test Error Log
48*b0a491f2SGeorge Keishing    Event Log Should Exist
49*b0a491f2SGeorge Keishing
50*b0a491f2SGeorge Keishing
51*b0a491f2SGeorge KeishingTest Event Log Persistency On Restart
52*b0a491f2SGeorge Keishing    [Documentation]  Restart logging service and verify event logs.
53*b0a491f2SGeorge Keishing    [Tags]  Test_Event_Log_Persistency_On_Restart
54*b0a491f2SGeorge Keishing
55*b0a491f2SGeorge Keishing    Create Test Error Log
56*b0a491f2SGeorge Keishing    Event Log Should Exist
57*b0a491f2SGeorge Keishing
58*b0a491f2SGeorge Keishing    BMC Execute Command
59*b0a491f2SGeorge Keishing    ...  systemctl restart xyz.openbmc_project.Logging.service
60*b0a491f2SGeorge Keishing    Sleep  10s  reason=Wait for logging service to restart properly.
61*b0a491f2SGeorge Keishing
62*b0a491f2SGeorge Keishing    Event Log Should Exist
63*b0a491f2SGeorge Keishing
64*b0a491f2SGeorge Keishing
65*b0a491f2SGeorge KeishingTest Event Entry Numbering Reset On Restart
66*b0a491f2SGeorge Keishing    [Documentation]  Restart logging service and verify event logs entry starts
67*b0a491f2SGeorge Keishing    ...  from entry "Id" 1.
68*b0a491f2SGeorge Keishing    [Tags]  Test_Event_Entry_Numbering_Reset_On_Restart
69*b0a491f2SGeorge Keishing
70*b0a491f2SGeorge Keishing    #{
71*b0a491f2SGeorge Keishing    #  "@odata.context": "/redfish/v1/$metadata#LogEntryCollection.LogEntryCollection",
72*b0a491f2SGeorge Keishing    #  "@odata.id": "/redfish/v1/Systems/system/LogServices/EventLog/Entries",
73*b0a491f2SGeorge Keishing    #  "@odata.type": "#LogEntryCollection.LogEntryCollection",
74*b0a491f2SGeorge Keishing    #  "Description": "Collection of System Event Log Entries",
75*b0a491f2SGeorge Keishing    #  "Members": [
76*b0a491f2SGeorge Keishing    #  {
77*b0a491f2SGeorge Keishing    #    "@odata.context": "/redfish/v1/$metadata#LogEntry.LogEntry",
78*b0a491f2SGeorge Keishing    #    "@odata.id": "/redfish/v1/Systems/system/LogServices/EventLog/Entries/1",
79*b0a491f2SGeorge Keishing    #    "@odata.type": "#LogEntry.v1_4_0.LogEntry",
80*b0a491f2SGeorge Keishing    #    "Created": "2019-05-29T13:19:27+00:00",
81*b0a491f2SGeorge Keishing    #    "EntryType": "Event",
82*b0a491f2SGeorge Keishing    #    "Id": "1",               <----- Event log ID
83*b0a491f2SGeorge Keishing    #    "Message": "org.open_power.Host.Error.Event",
84*b0a491f2SGeorge Keishing    #    "Name": "System DBus Event Log Entry",
85*b0a491f2SGeorge Keishing    #    "Severity": "Critical"
86*b0a491f2SGeorge Keishing    #  }
87*b0a491f2SGeorge Keishing    #  ],
88*b0a491f2SGeorge Keishing    #  "Members@odata.count": 1,
89*b0a491f2SGeorge Keishing    #  "Name": "System Event Log Entries"
90*b0a491f2SGeorge Keishing    #}
91*b0a491f2SGeorge Keishing
92*b0a491f2SGeorge Keishing    Create Test Error Log
93*b0a491f2SGeorge Keishing    Create Test Error Log
94*b0a491f2SGeorge Keishing    Event Log Should Exist
95*b0a491f2SGeorge Keishing
96*b0a491f2SGeorge Keishing    Redfish Purge Event Log
97*b0a491f2SGeorge Keishing    Event Log Should Not Exist
98*b0a491f2SGeorge Keishing
99*b0a491f2SGeorge Keishing    BMC Execute Command
100*b0a491f2SGeorge Keishing    ...  systemctl restart xyz.openbmc_project.Logging.service
101*b0a491f2SGeorge Keishing    Sleep  10s  reason=Wait for logging service to restart properly.
102*b0a491f2SGeorge Keishing
103*b0a491f2SGeorge Keishing    Create Test Error Log
104*b0a491f2SGeorge Keishing    ${elogs}=  Get Event Logs
105*b0a491f2SGeorge Keishing    Should Be Equal  ${elogs[0]["Id"]}  1  msg=Event log entry is not 1.
106*b0a491f2SGeorge Keishing
107*b0a491f2SGeorge Keishing
108*b0a491f2SGeorge KeishingTest Event Log Persistency On Reboot
109*b0a491f2SGeorge Keishing    [Documentation]  Reboot BMC and verify event log.
110*b0a491f2SGeorge Keishing    [Tags]  Test_Event_Log_Persistency_On_Reboot
111*b0a491f2SGeorge Keishing
112*b0a491f2SGeorge Keishing    Redfish Purge Event Log
113*b0a491f2SGeorge Keishing    Create Test Error Log
114*b0a491f2SGeorge Keishing    Event Log Should Exist
115*b0a491f2SGeorge Keishing
116*b0a491f2SGeorge Keishing    Redfish OBMC Reboot (off)
117*b0a491f2SGeorge Keishing
118*b0a491f2SGeorge Keishing    Redfish.Login
119*b0a491f2SGeorge Keishing    Wait Until Keyword Succeeds  1 mins  15 secs   Redfish.Get  ${EVENT_LOG_URI}Entries
120*b0a491f2SGeorge Keishing
121*b0a491f2SGeorge Keishing    Event Log Should Exist
122*b0a491f2SGeorge Keishing
123*b0a491f2SGeorge Keishing
1248cca7fb8SGeorge Keishing*** Keywords ***
1258cca7fb8SGeorge Keishing
1268cca7fb8SGeorge KeishingSuite Teardown Execution
1278cca7fb8SGeorge Keishing    [Documentation]  Do the post suite teardown.
1288cca7fb8SGeorge Keishing
1298cca7fb8SGeorge Keishing    Redfish.Logout
1308cca7fb8SGeorge Keishing
1318cca7fb8SGeorge Keishing
132*b0a491f2SGeorge KeishingTest Setup Execution
1338cca7fb8SGeorge Keishing   [Documentation]  Do test case setup tasks.
1348cca7fb8SGeorge Keishing
1358cca7fb8SGeorge Keishing    Redfish.Login
1368cca7fb8SGeorge Keishing
1378cca7fb8SGeorge Keishing    ${status}=  Run Keyword And Return Status  Logging Test Binary Exist
1388cca7fb8SGeorge Keishing    Run Keyword If  ${status} == ${False}  Install Tarball
1398cca7fb8SGeorge Keishing
1408cca7fb8SGeorge Keishing
1418cca7fb8SGeorge KeishingTest Teardown Execution
1428cca7fb8SGeorge Keishing    [Documentation]  Do the post test teardown.
1438cca7fb8SGeorge Keishing
1448cca7fb8SGeorge Keishing    FFDC On Test Case Fail
145*b0a491f2SGeorge Keishing    Redfish Purge Event Log
1468cca7fb8SGeorge Keishing
1478cca7fb8SGeorge Keishing
1488cca7fb8SGeorge KeishingEvent Log Should Not Exist
1498cca7fb8SGeorge Keishing    [Documentation]  Event log entries should not exist.
1508cca7fb8SGeorge Keishing
1518cca7fb8SGeorge Keishing    ${elogs}=  Get Event Logs
1528cca7fb8SGeorge Keishing    Should Be Empty  ${elogs}  msg=System event log entry is not empty.
153*b0a491f2SGeorge Keishing
154*b0a491f2SGeorge Keishing
155*b0a491f2SGeorge KeishingEvent Log Should Exist
156*b0a491f2SGeorge Keishing    [Documentation]  Event log entries should exist.
157*b0a491f2SGeorge Keishing
158*b0a491f2SGeorge Keishing    ${elogs}=  Get Event Logs
159*b0a491f2SGeorge Keishing    Should Not Be Empty  ${elogs}  msg=System event log entry is not empty.
160