xref: /openbmc/openbmc-test-automation/systest/collection/bmc_collect_vpd_and_hw_status.robot (revision feb79d60e26d78a6e91521ee41b1af5b8ba71f4c)
1*** Settings ***
2Documentation       BMC server health, collect VPD and hardware status.
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_VPD_And_HW_Status
15
16*** Variables ***
17${QUIET}  ${1}
18${rest_collected_values}  Rest collection excluded
19${redfish_collected_values}  Redfish collection excluded
20
21*** Test Cases ***
22
23Rest Collect VPD And Hardware Status
24    [Documentation]  Collect VPD and hardware status using the OpenBMC Rest API.
25    [Tags]  Rest_Collect_VPD_And_Hardware_Status  rest
26    [Teardown]  FFDC On Test Case Fail
27
28    ${system_properties}=  OpenBMC Get Request  ${HOST_INVENTORY_URI}system
29    ${system_properties}=  Evaluate  $system_properties.json()
30    ${Type}=  Read Attribute  ${CHASSIS_INVENTORY_URI}  Type
31    ${WaterCooled}=  Read Attribute  ${CHASSIS_INVENTORY_URI}  WaterCooled
32    ${AirCooled}=  Read Attribute  ${CHASSIS_INVENTORY_URI}  AirCooled
33    ${system_chassis}=  OpenBMC Get Request  ${MOTHERBOARD_INVENTORY_URI}enumerate
34    ${system_chassis}=  Evaluate  $system_chassis.json()
35    Rprint Vars  system_properties  Type  WaterCooled  AirCooled  system_chassis
36    ${rest_collected_values}=  gen_robot_print.Sprint Vars
37    ...  system_properties  Type  WaterCooled  AirCooled  system_chassis
38    Set Global Variable  ${rest_collected_values}
39
40
41Redfish Collect VPD And Hardware Status
42    [Documentation]  Collect VPD and hardware status using Redfish.
43    [Tags]  Redfish_Collect_VPD_And_Hardware_Status  redfish
44    [Setup]  Redfish.Login
45    [Teardown]  Redfish Test Teardown Execution
46
47    ${system_properties}=  Redfish_Utils.Get Properties  ${SYSTEM_BASE_URI}
48    ${system_memory_info}=  Redfish_Utils.Enumerate Request  ${SYSTEM_BASE_URI}/Memory
49    ${system_processors_info}=  Redfish_Utils.Enumerate Request  ${SYSTEM_BASE_URI}/Processors
50    ${system_fans_info}=  Redfish_Utils.Get Attribute  ${REDFISH_CHASSIS_THERMAL_URI}  Fans
51    Rprint Vars  system_properties  system_memory_info  system_processors_info  system_fans_info
52    ${redfish_collected_values}=  gen_robot_print.Sprint Vars
53    ...  system_properties  system_memory_info  system_processors_info  system_fans_info
54    Set Global Variable  ${redfish_collected_values}
55
56
57*** Keywords ***
58
59Suite Setup Execution
60    [Documentation]  Do test case setup tasks.
61
62    Set Log Level  DEBUG
63    REST Power On  stack_mode=skip
64
65
66Suite Teardown Execution
67    [Documentation]  Do suite teardown tasks. Log values and data collected.
68
69    Log  Rest collected values:${\n}${rest_collected_values}
70    Log  Redfish collected values:${\n}${redfish_collected_values}
71
72
73Redfish Test Teardown Execution
74    [Documentation]  Do the post test teardown for redfish.
75
76    Redfish.Logout
77    FFDC On Test Case Fail
78