| *** Settings *** |
| |
| Documentation Module to test IPMI chassis functionality. |
| Resource ../lib/ipmi_client.robot |
| Resource ../lib/openbmc_ffdc.robot |
| Resource ../lib/boot_utils.robot |
| Library ../lib/ipmi_utils.py |
| |
| Suite Setup Redfish.Login |
| Suite Teardown Redfish.Logout |
| Test Teardown FFDC On Test Case Fail |
| |
| *** Test Cases *** |
| |
| IPMI Chassis Status On |
| [Documentation] This test case verfies system power on status |
| ... using IPMI Get Chassis status command. |
| [Tags] IPMI_Chassis_Status_On |
| |
| Redfish Power On stack_mode=skip quiet=1 |
| ${resp}= Run IPMI Standard Command chassis status |
| ${power_status}= Get Lines Containing String ${resp} System Power |
| Should Contain ${power_status} on |
| |
| IPMI Chassis Status Off |
| [Documentation] This test case verfies system power off status |
| ... using IPMI Get Chassis status command. |
| [Tags] IPMI_Chassis_Status_Off |
| |
| Redfish Power Off stack_mode=skip quiet=1 |
| ${resp}= Run IPMI Standard Command chassis status |
| ${power_status}= Get Lines Containing String ${resp} System Power |
| Should Contain ${power_status} off |
| |
| Verify Host PowerOff Via IPMI |
| [Documentation] Verify host power off operation using external IPMI command. |
| [Tags] Verify_Host_PowerOff_Via_IPMI |
| |
| IPMI Power Off |
| ${ipmi_state}= Get Host State Via External IPMI |
| Valid Value ipmi_state ['off'] |
| |
| Verify Host PowerOn Via IPMI |
| [Documentation] Verify host power on operation using external IPMI command. |
| [Tags] Verify_Host_PowerOn_Via_IPMI |
| |
| IPMI Power On |
| ${ipmi_state}= Get Host State Via External IPMI |
| Valid Value ipmi_state ['on'] |
| |
| |
| Verify Soft Shutdown |
| [Documentation] Verify host OS shutdown softly via IPMI command. |
| [Tags] Verify_Soft_Shutdown |
| |
| Redfish Power On stack_mode=skip |
| Run IPMI Standard Command chassis power soft |
| Wait Until Keyword Succeeds 3 min 10 sec Is Host Off Via IPMI |
| |
| |
| Verify Chassis Power Policy |
| [Documentation] Verify setting chassis power policy via IPMI command. |
| [Tags] Verify_Chassis_Power_Policy |
| [Setup] Test Setup Execution |
| [Teardown] Run Keywords FFDC On Test Case Fail AND |
| ... Run IPMI Standard Command chassis policy ${initial_power_policy} |
| [Template] Set Chassis Power Policy Via IPMI And Verify |
| |
| # power_policy |
| always-off |
| always-on |
| previous |
| |
| |
| *** Keywords *** |
| |
| Set Chassis Power Policy Via IPMI And Verify |
| [Documentation] Set chasiss power policy via IPMI and verify. |
| [Arguments] ${power_policy} |
| |
| # Description of argument(s): |
| # power_policy Chassis power policy to be set(e.g. "always-off", "always-on"). |
| |
| Run IPMI Standard Command chassis policy ${power_policy} |
| ${resp}= Get Chassis Status |
| Valid Value resp['power_restore_policy'] ['${power_policy}'] |
| |
| |
| Test Setup Execution |
| [Documentation] Do test setup tasks. |
| |
| ${chassis_status}= Get Chassis Status |
| Set Test Variable ${initial_power_policy} ${chassis_status['power_restore_policy']} |
| |