blob: ce1eb85d251491ad7ee453b8d319418ab5a9cff5 [file] [log] [blame]
George Keishing27bf6932017-08-07 14:30:40 -05001*** Settings ***
2Documentation BMC and PNOR update utilities keywords.
3
4Resource ../lib/rest_client.robot
5
6*** Keywords ***
7
8Get Software Objects
9 [Documentation] Get the host software objects and return as a list.
10 [Arguments] ${version_type}=${VERSION_PURPOSE_HOST}
11
12 # Description of argument(s):
13 # version_type Either BMC or host version purpose.
14 # By default host version purpose string.
15 # (e.g. "xyz.openbmc_project.Software.Version.VersionPurpose.BMC"
16 # "xyz.openbmc_project.Software.Version.VersionPurpose.Host").
17
18 # Example:
19 # "data": [
20 # "/xyz/openbmc_project/software/f3b29aa8",
21 # "/xyz/openbmc_project/software/e49bc78e",
22 # ],
23 # Iterate the list and return the host object name path list.
24
25 ${host_list}= Create List
26 ${sw_list}= Read Properties ${SOFTWARE_VERSION_URI}
27
28 :FOR ${index} IN @{sw_list}
29 \ ${attr_purpose}= Read Attribute ${index} Purpose quiet=${1}
30 \ Continue For Loop If '${attr_purpose}' != '${version_type}'
31 \ Append To List ${host_list} ${index}
32
33 [return] ${host_list}
34
35
36Get Host Software Property
37 [Documentation] Return a dictionary of host software properties.
38 [Arguments] ${host_object}
39
40 # Description of argument(s):
41 # host_object Host software object path.
42 # (e.g. "/xyz/openbmc_project/software/f3b29aa8").
43
44 ${sw_attributes}= Read Properties ${host_object}
45 [return] ${sw_attributes}
46
47
48Set Host Software Property
49 [Documentation] Set the host software properties of a given object.
50 [Arguments] ${host_object} ${sw_attribute} ${data}
51
52 # Description of argument(s):
53 # host_object Host software object name.
54 # sw_attribute Host software attribute name.
55 # (e.g. "Activation", "Priority", "RequestedActivation" etc).
56 # data Value to be written.
57
58 ${args}= Create Dictionary data=${data}
59 Write Attribute ${host_object} ${sw_attribute} data=${args}
60
Charles Paul Hoferda24d0a2017-08-09 15:03:40 -050061Delete Software Object
62 [Documentation] Deletes an image from the BMC.
63 [Arguments] ${software_object}
64
65 # Description of argument(s):
66 # software_object The URI to the software image to delete.
67
68 ${arglist}= Create List
69 ${args}= Create Dictionary data=${arglist}
70 ${resp}= OpenBMC Post Request ${software_object}/action/delete
71 ... data=${args}
72 Should Be Equal As Strings ${resp.status_code} ${HTTP_OK}