blob: e64151729554d855a4296eb12f15468cb56ddbb3 [file] [log] [blame]
Sridevi Rameshea36b412017-03-09 04:08:02 -06001*** Settings ***
2Documentation This suite tests checkstop operations through OS.
3Resource ../lib/utils.robot
4Resource ../lib/openbmc_ffdc.robot
5Resource ../lib/ras/host_utils.robot
6Resource ../lib/resource.txt
7Resource ../lib/state_manager.robot
8Test Setup RAS Test Setup
9Test Teardown FFDC On Test Case Fail
10
11*** Variables ***
12${HOST_SETTINGS} ${SETTINGS_URI}host0
13
14*** Test Cases ***
15
16Verify Channel Checkstop Through OS With Auto Reboot
17
18 [Documentation] Verify Channel Checkstop (MBS FIR REG INT PROTOCOL ERROR)
19 ... through OS With Auto Reboot settings enabled.
20 [Tags] Verify_Channel_Checkstop_Through_OS_With_Auto_Reboot
21
22 Verify Checkstop Insertion With Auto Reboot
23 ... Centaur 2011400 4000000000000000
24
25*** Keywords ***
26Inject Checkstop Through OS
27 [Documentation] Inject checkstop on processor/centaur through OS.
28 ... Test sequence:
29 ... 1. Boot To OS
30 ... 2. Clear any existing gard records
31 ... 3. Inject Checkstop on processor/centaur
32 [Arguments] ${chip_type} ${fru} ${address}
33 # Description of arguments:
34 # chip_type The chip type (Processor/Centaur).
35 # fru FRU value (e.g. 2011400).
36 # address chip address (e.g 4000000000000000).
37
38
39 Login To OS Host ${OS_HOST} ${OS_USERNAME} ${OS_PASSWORD}
40 # Get core values are present through OS.
41 Get Cores Values From OS
42
43 Gard Operations On OS clear all
44
45 # Fetch Processor/Centaur chip value based on the input chip_type.
46 ${output}= Get ChipID From OS ${chip_type}
47 ${chip_values}= Split String ${output}
48 ${chip_value}= Get From List ${chip_values} 0
49
50 Putscom Through OS ${chip_value} ${fru} ${address}
51
52Verify And Clear Gard Records On OS
53 [Documentation] Verify And Clear gard records on OS.
54
55 Login To OS Host ${OS_HOST} ${OS_USERNAME} ${OS_PASSWORD}
56 ${output}= Gard Operations On OS list
57 Should Not Contain ${output} 'No GARD entries to display'
58 Gard Operations On OS clear all
59
60Verify Checkstop Insertion With Auto Reboot
61 [Documentation] Inject and verify checkstop on processor/centaur through
62 ... OS with auto reboot.
63 ... Test sequence:
64 ... 1. Enable Auto Reboot Setting
65 ... 2. Inject Checkstop on processor/centaur
66 ... 3. Check If HOST rebooted and OS is up
67 ... 4. Verify & clear gard records
68 [Arguments] ${chip_type} ${fru} ${address}
69 # Description of arguments:
70 # chip_type The chip type (Processor/Centaur).
71 # fru FRU value (e.g. 2011400).
72 # address chip address (e.g 4000000000000000).
73
74 Set Auto Reboot yes
75 Inject Checkstop Through OS ${chip_type} ${fru} ${address}
76 Wait Until Keyword Succeeds 120 sec 20 sec Is Host Rebooted
77 Wait for OS ${OS_HOST} ${OS_USERNAME} ${OS_PASSWORD}
78 Verify And Clear Gard Records On OS
79
80RAS Test SetUp
81 [Documentation] Validates input parameters.
82
83 Should Not Be Empty
84 ... ${OS_HOST} msg=You must provide DNS name/IP of the OS host.
85 Should Not Be Empty
86 ... ${OS_USERNAME} msg=You must provide OS host user name.
87 Should Not Be Empty
88 ... ${OS_PASSWORD} msg=You must provide OS host user password.