|  | *** Settings *** | 
|  | Documentation   Module for testing BMC via XCAT. | 
|  |  | 
|  | Resource        ../lib/xcat/resource.robot | 
|  | Resource        ../lib/xcat/xcat_utils.robot | 
|  | Resource        ../lib/state_manager.robot | 
|  |  | 
|  | Library         OperatingSystem | 
|  | Library         String | 
|  |  | 
|  | Suite Setup     Test Suite Setup | 
|  |  | 
|  | *** Variables *** | 
|  |  | 
|  | *** Test Cases *** | 
|  |  | 
|  | Verify Power On Via XCAT | 
|  | [Documentation]  Power on system via XCAT and verify using REST. | 
|  | [Tags]  Verify_Power_On_Via_XCAT | 
|  |  | 
|  | Execute Command On XCAT  rpower  on | 
|  | Wait Until Keyword Succeeds  10 min  10 sec  Is Host Running | 
|  |  | 
|  |  | 
|  | Verify Power Off Via XCAT | 
|  | [Documentation]  Power off system via XCAT and verify using REST. | 
|  | [Tags]  Verify_Power_Off_Via_XCAT | 
|  |  | 
|  | Execute Command On XCAT  rpower  off | 
|  | Wait Until Keyword Succeeds  6 min  10 sec  Is Host Off | 
|  |  | 
|  |  | 
|  | Verify BMC State Via XCAT | 
|  | [Documentation]  Verify BMC state using REST and XCAT. | 
|  | [Tags]  Verify_BMC_State_Via_XCAT | 
|  |  | 
|  | ${xcat_resp}=  Execute Command On XCAT  rpower  bmcstate | 
|  | ${rest_resp}=  Get BMC State | 
|  | Should contain  ${xcat_resp}  ${rest_resp} | 
|  |  | 
|  |  | 
|  | Verify Soft Power Off Followed With Power On | 
|  | [Documentation]  Verify soft power off system followed with power on. | 
|  | [Tags]  Verify_Soft_Power_Off_Followed_With_Power_On | 
|  | [Setup]  Initiate Host Boot | 
|  |  | 
|  | Execute Command On XCAT  rpower  softoff | 
|  | Wait Until Keyword Succeeds  6 min  10 sec  Is Host Off | 
|  |  | 
|  | Execute Command On XCAT  rpower  on | 
|  | Wait Until Keyword Succeeds  10 min  10 sec  Is Host Running | 
|  |  | 
|  |  | 
|  | Verify Hard Power Off Followed With Power On | 
|  | [Documentation]  Verify hard power off system followed with power on. | 
|  | [Tags]  Verify_Hard_Power_Off_Followed_With_Power_On | 
|  | [Setup]  Initiate Host Boot | 
|  |  | 
|  | Execute Command On XCAT  rpower  off | 
|  | Wait Until Keyword Succeeds  6 min  10 sec  Is Host Off | 
|  |  | 
|  | Execute Command On XCAT  rpower  on | 
|  | Wait Until Keyword Succeeds  10 min  10 sec  Is Host Running | 
|  |  | 
|  |  | 
|  | *** Keywords *** | 
|  |  | 
|  | Test Suite Setup | 
|  | [Documentation]  Do the initial suite setup. | 
|  |  | 
|  | Open Connection And Login To XCAT | 
|  |  | 
|  | # Check if XCAT is installed. | 
|  | ${cmd_output}=  Execute Command  ${XCAT_DIR_PATH}/lsxcatd -v | 
|  | Should Not Be Empty  ${cmd_output}  msg=XCAT not installed. | 
|  |  | 
|  | Add Nodes To XCAT  ${OPENBMC_HOST} |