xref: /openbmc/openbmc-test-automation/systest/collection/bmc_collect_esels.robot (revision b2a2d948d555cb6e5169b9f21d489a3b089b4387)
1*** Settings ***
2Documentation       BMC server health, collect eSELs.
3
4# Test Parameters:
5# OPENBMC_HOST      The BMC host name or IP address.
6
7Resource            ../../lib/bmc_redfish_resource.robot
8Resource            ../../lib/openbmc_ffdc.robot
9
10Suite Setup         Suite Setup Execution
11Suite Teardown      Suite Teardown Execution
12Test Setup          Printn
13
14Test Tags           BMC_Collect_Esels
15
16*** Variables ***
17${QUIET}                       ${1}
18${error_logs_flagged_rest}     Rest error log collection excluded
19${event_logs_flagged_redfish}  Redfish event log collection excluded
20${rest_error_logs}             Rest error log collection excluded
21${redfish_event_logs}          Redfish error log collection excluded
22
23*** Test Cases ***
24
25Rest Collect eSELs
26    [Documentation]  Collect eSEL using the OpenBMC Rest API.
27    [Tags]  Rest_Collect_eSELs  rest
28    [Teardown]  FFDC On Test Case Fail
29
30    ${error_logs}=  Get Error Logs  ${QUIET}
31    ${rest_error_logs}=  gen_robot_print.Sprint Vars  error_logs
32    Set Suite Variable  ${rest_error_logs}
33    Log To Console  ${rest_error_logs}
34
35    # Filter out informational error logs.
36    ${non_informational_error_logs}=  Filter Struct  ${error_logs}  [('Severity', '\.Informational$')]
37    ...  regex=1  invert=1
38    ${error_logs_flagged_rest}=  gen_robot_print.Sprint Vars  non_informational_error_logs
39    Set Suite Variable  ${error_logs_flagged_rest}
40
41
42Redfish Collect eSELs
43    [Documentation]  Collect eSEL with Redfish.
44    [Tags]  Redfish_Collect_eSELs  redfish
45    [Setup]  Redfish.Login
46    [Teardown]  Redfish Test Teardown Execution
47
48    ${redfish_event_logs}=  Get Event Logs
49    ${redfish_event_logs}=  gen_robot_print.Sprint Vars  redfish_event_logs
50    Set Suite Variable  ${redfish_event_logs}
51    Log To Console  ${redfish_event_logs}
52    ${event_logs_flagged_redfish}=  Get Event Logs Not Ok
53    ${event_logs_flagged_redfish}=  gen_robot_print.Sprint Vars  event_logs_flagged_redfish
54    Set Suite Variable  ${event_logs_flagged_redfish}
55
56
57*** Keywords ***
58
59Suite Setup Execution
60    [Documentation]  Do test suite setup tasks.
61
62    Set Log Level  DEBUG
63    Redfish Power On  stack_mode=skip
64
65
66Suite Teardown Execution
67    [Documentation]  Do suite teardown tasks. Log error and event logs collected.
68
69    Log Many  ${rest_error_logs}  ${redfish_event_logs}
70    Log  Flagged error logs found via REST:${\n}${error_logs_flagged_rest}  console=true
71    Log  Flagged events logs found via Redfish:${\n}${event_logs_flagged_redfish}  console=true
72
73
74Redfish Test Teardown Execution
75    [Documentation]  Do the post test teardown for redfish.
76
77    Redfish.Logout
78    FFDC On Test Case Fail
79