blob: 09620a64bc76223aa89a361ad07fe676eb3e6b09 [file] [log] [blame]
*** Settings ***
Documentation Test BMC using https://github.com/DMTF/Redfish-Usecase-Checkers
... DMTF tool.
Library OperatingSystem
Library ../../lib/state.py
Resource ../../lib/dmtf_tools_utils.robot
Resource ../../lib/openbmc_ffdc.robot
Test Setup Test Setup Execution
Test Teardown Test Teardown Execution
*** Variables ***
${DEFAULT_PYTHON} python3
${rsv_github_url} https://github.com/DMTF/Redfish-Usecase-Checkers.git
${rsv_dir_path} Redfish-Usecase-Checkers
${command_account} ${DEFAULT_PYTHON} ${rsv_dir_path}${/}account_management/account_management.py
... -r ${OPENBMC_HOST} -u ${OPENBMC_USERNAME}
... -p ${OPENBMC_PASSWORD} -S Always -d ${EXECDIR}${/}logs${/} -v
${command_power_control} ${DEFAULT_PYTHON} ${rsv_dir_path}${/}power_control/power_control.py
... -r ${OPENBMC_HOST} -u ${OPENBMC_USERNAME}
... -p ${OPENBMC_PASSWORD} -S Always --F
${power_on_timeout} 15 mins
${power_off_timeout} 15 mins
${state_change_timeout} 3 mins
*** Test Case ***
Test BMC Redfish Account Management
[Documentation] Check Account Management with a Redfish interface.
[Tags] Test_BMC_Redfish_Account_Management
${output}= Run DMTF Tool ${rsv_dir_path} ${command_account}
${output}= Shell Cmd cat ${EXECDIR}${/}logs${/}results.json
Log ${output}
Test BMC Redfish Boot Host And ForceOff
[Documentation] Boot host and ForceOff.
[Tags] Test_BMC_Redfish_Boot_Host_And_ForceOff
DMTF Power On
DMTF Hard Power Off
Test BMC Redfish Boot Host And GracefulShutdown
[Documentation] Boot host and issue GracefulShutdown.
[Tags] Test_BMC_Redfish_Boot_Host_And_GracefulShutdown
DMTF Power On
DMTF Power Off
*** Keywords ***
Test Setup Execution
[Documentation] Do test case setup tasks.
Printn
Download DMTF Tool ${rsv_dir_path} ${rsv_github_url}
${status} ${state}= Run Keyword And Ignore Error
... Check State standby_match_state
Return From Keyword If '${status}' == 'PASS'
DMTF Power Off
Test Teardown Execution
[Documentation] Do the post-test teardown.
Printn
FFDC On Test Case Fail
DMTF Power On
[Documentation] Power the BMC machine on via DMTF tools.
Print Timen Doing "DMTF Power On".
${state}= Get State
${match_state}= Anchor State ${state}
Run DMTF Tool ${rsv_dir_path} ${command_power_control} On
${state}= Wait State ${match_state} wait_time=${state_change_timeout} interval=10 seconds invert=1
${state}= Wait State os_running_match_state wait_time=${power_on_timeout} interval=10 seconds
[Return] ${state}
DMTF Power Off
[Documentation] Power the BMC machine off via DMTF tools.
Print Timen Doing "DMTF Hard Power Off".
${state}= Get State
${match_state}= Anchor State ${state}
Run DMTF Tool ${rsv_dir_path} ${command_power_control} GracefulShutdown
${state}= Wait State ${match_state} wait_time=${state_change_timeout} interval=10 seconds invert=1
${state}= Wait State standby_match_state wait_time=${power_off_timeout} interval=10 seconds
[Return] ${state}
DMTF Hard Power Off
[Documentation] Power the BMC machine off via DMTF tools.
Print Timen Doing "DMTF Hard Power Off".
${state}= Get State
${match_state}= Anchor State ${state}
Run DMTF Tool ${rsv_dir_path} ${command_power_control} ForceOff
${state}= Wait State ${match_state} wait_time=${state_change_timeout} interval=10 seconds invert=1
${state}= Wait State standby_match_state wait_time=${power_off_timeout} interval=10 seconds
[Return] ${state}