xref: /openbmc/openbmc-test-automation/lib/bmc_redfish_utils.robot (revision 0be2df9465b56a9c69f23bb2ff80a345bdcc1538)
1*** Settings ***
2Documentation   BMC and host redfish utility keywords.
3
4Resource        resource.robot
5Resource        bmc_redfish_resource.robot
6
7
8*** Keywords ***
9
10Redfish Power Operation
11    [Documentation]  Do Redfish host power operation.
12    [Arguments]      ${reset_type}
13    # Description of arguments:
14    # reset_type     Type of power operation.
15    #                (e.g. On/ForceOff/GracefulRestart/GracefulShutdown)
16
17    # Example:
18    # "Actions": {
19    # "#ComputerSystem.Reset": {
20    #  "ResetType@Redfish.AllowableValues": [
21    #    "On",
22    #    "ForceOff",
23    #    "GracefulRestart",
24    #    "GracefulShutdown"
25    #  ],
26    #  "target": "/redfish/v1/Systems/system/Actions/ComputerSystem.Reset"
27    #  }
28    # }
29
30    redfish.Login
31    ${payload}=  Create Dictionary  ResetType=${reset_type}
32    ${resp}=  redfish.Post  Systems/system/Actions/ComputerSystem.Reset  body=&{payload}
33    Should Be Equal As Strings  ${resp.status}  ${HTTP_OK}
34    redfish.Logout
35
36
37Redfish BMC Reset Operation
38    [Documentation]  Do Redfish BMC reset operation.
39
40    # Example:
41    # "Actions": {
42    # "#Manager.Reset": {
43    #  "ResetType@Redfish.AllowableValues": [
44    #    "GracefulRestart"
45    #  ],
46    #  "target": "/redfish/v1/Managers/bmc/Actions/Manager.Reset"
47    # }
48
49    redfish.Login
50    ${payload}=  Create Dictionary  ResetType=GracefulRestart
51    ${resp}=  redfish.Post  Managers/bmc/Actions/Manager.Reset  body=&{payload}
52    Should Be Equal As Strings  ${resp.status}  ${HTTP_OK}
53    redfish.Logout
54