Steven Sombar | 741e99d | 2019-05-07 07:20:51 -0500 | [diff] [blame] | 1 | *** Settings *** |
| 2 | |
| 3 | Documentation 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 | |
| 12 | Resource ../../lib/utils.robot |
| 13 | Resource ../../lib/fan_utils.robot |
| 14 | Resource ../../lib/dump_utils.robot |
| 15 | |
| 16 | |
| 17 | Suite Setup Suite Setup Execution |
| 18 | Test Teardown Test Teardown Execution |
| 19 | |
| 20 | |
| 21 | *** Test Cases *** |
| 22 | |
| 23 | |
| 24 | Check 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 | |
| 36 | Check 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 | |
| 43 | Check 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 Sombar | 4cb50e6 | 2019-05-29 14:07:44 -0500 | [diff] [blame] | 48 | # 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 Sombar | 741e99d | 2019-05-07 07:20:51 -0500 | [diff] [blame] | 52 | Rprint Vars tolerance |
| 53 | |
| 54 | Verify Fan Speed ${tolerance} ${fan_names} |
| 55 | |
| 56 | |
| 57 | Check 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 | |
| 76 | Check 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 | |
| 86 | Check System Shutdown Due To Fans |
| 87 | [Documentation] Shut down when not enough fans. |
| 88 | [Tags] Check_System_Shutdown_Due_To_Fans |
| 89 | |
Steven Sombar | 4cb50e6 | 2019-05-29 14:07:44 -0500 | [diff] [blame] | 90 | # Previous test may have shut down the OS. |
| 91 | Redfish Power On stack_mode=skip |
| 92 | |
Steven Sombar | 741e99d | 2019-05-07 07:20:51 -0500 | [diff] [blame] | 93 | Verify System Shutdown Due To Fans ${fan_names} |
| 94 | |
| 95 | |
| 96 | *** Keywords *** |
| 97 | |
| 98 | Reset 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 | |
| 109 | Suite 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 | |
| 123 | Test Teardown Execution |
| 124 | [Documentation] Do the post-test teardown. |
| 125 | |
| 126 | FFDC On Test Case Fail |
| 127 | Reset Fans And Error Logs |