*** Settings *** Documentation This suite tests Redfish Host power operations. Resource ../../lib/boot_utils.robot Resource ../../lib/common_utils.robot Resource ../../lib/open_power_utils.robot Test Setup Test Setup Execution Test Teardown Test Teardown Execution *** Test Cases *** Verify Redfish Host GracefulShutdown [Documentation] Verify Redfish host graceful shutdown operation. [Tags] Verify_Redfish_Host_GracefulShutdown Redfish Power Off Verify Redfish BMC PowerOn With OCC State [Documentation] Verify Redfish host power on operation. [Tags] Verify_Redfish_BMC_PowerOn_With_OCC_State Redfish Power On # TODO: Replace OCC state check with redfish property when available. Verify OCC State Verify Redfish BMC PowerOn [Documentation] Verify Redfish host power on operation. [Tags] Verify_Redfish_Host_PowerOn Redfish Power On # TODO: Replace OCC state check with redfish property when available. Verify OCC State ${power_uri_list}= redfish_utils.Get Members URI /redfish/v1/Chassis/ PowerControl Log List ${power_uri_list} # Power entries could be seen across different redfish path, remove the URI # where the attribute is non-existent. # Example: # ['/redfish/v1/Chassis/chassis/Power', # '/redfish/v1/Chassis/motherboard/Power'] FOR ${idx} IN @{power_uri_list} ${power_control}= redfish_utils.Get Attribute ${idx} PowerControl Log Dictionary ${power_control[0]} # Ensure the path does have the attribute else set to EMPTY as default to skip. ${value}= Get Variable Value ${power_control[0]['PowerConsumedWatts']} ${EMPTY} Run Keyword If "${value}" == "${EMPTY}" ... Remove Values From List ${power_uri_list} ${idx} # Check the next available element in the list. Continue For Loop If "${value}" == "${EMPTY}" Valid Dict power_control[${0}] ['PowerConsumedWatts'] END # Double check, the validation has atleast one valid path. Should Not Be Empty ${power_uri_list} ... msg=Should contain atleast one element in the list. Verify Redfish BMC GracefulRestart [Documentation] Verify Redfish host graceful restart operation. [Tags] Verify_Redfish_Host_GracefulRestart RF SYS GracefulRestart Verify Redfish BMC PowerOff [Documentation] Verify Redfish host power off operation. [Tags] Verify_Redfish_Host_PowerOff Redfish Hard Power Off *** Keywords *** Test Setup Execution [Documentation] Do test case setup tasks. Printn Start SOL Console Logging Redfish.Login Test Teardown Execution [Documentation] Collect FFDC and SOL log. FFDC On Test Case Fail ${sol_log}= Stop SOL Console Logging Log ${sol_log} Run Keyword If ${REDFISH_SUPPORTED} ... Redfish Set Auto Reboot RetryAttempts ... ELSE ... Set Auto Reboot ${1} Redfish.Logout