blob: 7635e78bc17c6a64dae7a1bd8905583e8f677e43 [file] [log] [blame]
Rahul Maheshwari037407d2021-05-12 23:54:11 -05001*** Settings ***
2Documentation This suite tests Vital Product Data (VPD) using Redfish.
3
4Resource ../../lib/openbmc_ffdc.robot
5Library ../../lib/vpd_utils.py
6
7Test Teardown FFDC On Test Case Fail
8
9
10*** Test Cases ***
11
12Verify VPD Data Via Redfish
13 [Documentation] Verify VPD details via Redfish output.
14 [Tags] Verify_VPD_Data_Via_Redfish
15 [Template] Verify Redfish VPD Data
16
17 # Component
18 BMC
19 Chassis
20 CPU
21
22
23*** Keywords ***
24
25Verify Redfish VPD Data
26 [Documentation] Verify Redfish VPD data of given component.
27 [Arguments] ${component}
28 # Description of arguments:
29 # component VPD component (e.g. /system/chassis/motherboard/vdd_vrm1).
30
31 ${component_uri}= Set Variable If
32 ... '${component}' == 'BMC' /redfish/v1/Managers/bmc
33 ... '${component}' == 'Chassis' /redfish/v1/Chassis/chassis
34 ... '${component}' == 'CPU' /redfish/v1/Systems/system/Processors/cpu0
35
36 # TODO: Currently serial number is verified. Verification for other fields will be added later.
37 Verify Redfish VPD ${component} ${component_uri} SerialNumber
38
39
40Verify Redfish VPD
41 [Documentation] Verify Redfish VPD of given URI.
42 [Arguments] ${component} ${component_uri} ${field}
43 # Description of arguments:
44 # component_uri Redfish VPD uri (e.g. /redfish/v1/Systems/system/Processors/cpu1).
45 # field Redfish VPD field (Model)
46
47 ${resp}= Redfish.Get Properties ${component_uri}
48
49 ${vpd_field}= Set Variable If
50 ... '${field}' == 'Model' CC
51 ... '${field}' == 'PartNumber' PN
52 ... '${field}' == 'SerialNumber' SN
53 ... '${field}' == 'SparePartNumber' FN
54 ... '${field}' == 'Location' LocationCode
55
56 ${vpd_component}= Set Variable If
57 ... '${component}' == 'CPU' /system/chassis/motherboard/cpu0
58 ... '${component}' == 'Chassis' /system/chassis
59 ... '${component}' == 'BMC' /system/chassis/motherboard/ebmc_card_bmc
60
61 ${vpd_records}= Vpdtool -r -O ${vpd_component} -R VINI -K ${vpd_field}
62 Should Be Equal As Strings ${resp["SerialNumber"]} ${vpd_records['${vpd_component}']['${vpd_field}']}