blob: 7c4659379d763f7951b56d9b7c757809481c7fe9 [file] [log] [blame]
Steven Sombar741e99d2019-05-07 07:20:51 -05001*** Settings ***
2
3Documentation Operational check of fans with OS booted.
4
5# Test Parameters:
6# OPENBMC_HOST The BMC host name or IP address.
7# OPENBMC_USERNAME The userID to login to the BMC as.
8# OPENBMC_PASSWORD The password for OPENBMC_USERNAME.
9#
10# Approximate run time: 18 minutes.
11
12Resource ../../lib/utils.robot
13Resource ../../lib/fan_utils.robot
14Resource ../../lib/dump_utils.robot
15
16
17Suite Setup Suite Setup Execution
18Test Teardown Test Teardown Execution
19
20
21*** Test Cases ***
22
23
24Check Number Of Fans With Power On
25 [Documentation] Verify system has the minimum number of fans.
26 [Tags] Check_Number_Of_Fans_With_Power_On
27
28 # Determine if system is water cooled.
29 ${water_cooled}= Is Water Cooled
30 Rprint Vars water_cooled
31
32 Verify Minimum Number Of Fans With Cooling Type ${number_of_fans}
33 ... ${water_cooled}
34
35
36Check Number Of Fan Monitors With Power On
37 [Documentation] Verify monitors are present when power on.
38 [Tags] Check_Number_Of_Fan_Monitors_With_Power_On
39
40 Verify Fan Monitors With State On
41
42
43Check Fans Running At Target Speed
44 [Documentation] Verify fans are running at or near target speed.
45 [Tags] Check_Fans_Running_At_Target_Speed
46
47 # Set the speed tolerance criteria.
Steven Sombar4cb50e62019-05-29 14:07:44 -050048 # A tolerance value of .30 means that the fan's speed should be
49 # within 30% of its set target speed. Fans may be accelerating
50 # or decelerating to meet a new target, so allow .20 extra.
51 ${tolerance}= Set Variable .50
Steven Sombar741e99d2019-05-07 07:20:51 -050052 Rprint Vars tolerance
53
54 Verify Fan Speed ${tolerance} ${fan_names}
55
56
57Check Fan Manual Control
58 [Documentation] Check direct control of fans.
59 [Tags] Check_Fan_Manual_Control
60
61 # The maximum target speed.
62 ${max_speed}= Set Variable ${10500}
63
64 # Speed criteria for passing, which is 85% of max_speed.
65 ${min_speed}= Set Variable ${8925}
66
67 # Time allowed for the fan daemon to take control and then return
68 # the fans to normal speed.
69 ${minutes_to_stabilize}= Set Variable 4
70
71 Verify Direct Fan Control
72 ... ${max_speed} ${min_speed} ${minutes_to_stabilize}
73 ... ${number_of_fans} ${fan_names}
74
75
76Check Fan Speed Increase When One Disabled
77 [Documentation] Verify that the speed of working fans increase when
78 ... one fan is disabled.
79 [Tags] Check_Fan_Speed_Increase_When_One_Disabled
80 # A non-functional fan should cause an error log and
81 # an enclosure LED will light. The other fans should speed up.
82
83 Verify Fan Speed Increase ${fan_names}
84
85
86Check System Shutdown Due To Fans
87 [Documentation] Shut down when not enough fans.
88 [Tags] Check_System_Shutdown_Due_To_Fans
89
Steven Sombar4cb50e62019-05-29 14:07:44 -050090 # Previous test may have shut down the OS.
91 Redfish Power On stack_mode=skip
92
Steven Sombar741e99d2019-05-07 07:20:51 -050093 Verify System Shutdown Due To Fans ${fan_names}
94
95
96*** Keywords ***
97
98Reset Fans And Error Logs
99 [Documentation] Reset Fans, Error Logs, and LEDs
100
101 Reset Fans ${fan_names}
102 Run Key U Sleep \ 15s
103 Delete All Error Logs
104 Delete All BMC Dump
105 Set System LED State front_fault Off
106 Set System LED State rear_fault Off
107
108
109Suite Setup Execution
110 [Documentation] Do the pre-suite setup.
111
112 Redfish Power On stack_mode=skip
113
114 ${number_of_fans} ${fan_names}= Get Fan Count And Names
115 Printn
116 Rprint Vars number_of_fans fan_names
117 Set Suite Variable ${fan_names} children=true
118 Set Suite Variable ${number_of_fans} children=true
119
120 Reset Fans And Error Logs
121
122
123Test Teardown Execution
124 [Documentation] Do the post-test teardown.
125
126 FFDC On Test Case Fail
127 Reset Fans And Error Logs