blob: 44eaa1fd3fe8b35f3b81a81cc9d8496251a62f38 [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