1*** Settings *** 2Documentation Open power domain keywords. 3 4Library ../data/variables.py 5Resource ../lib/utils.robot 6 7*** Keywords *** 8 9Get OCC Objects 10 [Documentation] Get the OCC objects and return as a list. 11 12 # Example: 13 # { 14 # "/org/open_power/control/occ0": { 15 # "OccActive": 0 16 # }, 17 # "/org/open_power/control/occ1": { 18 # "OccActive": 1 19 # } 20 21 ${occ_list}= Get Endpoint Paths ${OPENPOWER_CONTROL} occ* 22 23 [Return] ${occ_list} 24 25 26Get OCC Active State 27 [Documentation] Get the OCC "OccActive" and return the attribute value. 28 [Arguments] ${occ_object} 29 30 # Description of argument(s): 31 # occ_object OCC object path. 32 # (e.g. "/org/open_power/control/occ0"). 33 34 ${occ_attribute}= Read Attribute ${occ_object} OccActive 35 [Return] ${occ_attribute} 36 37 38Count Object Entries 39 [Documentation] Count the occurrence number of a given object. 40 [Arguments] ${object_base_uri_path} ${object_name} 41 42 # Description of argument(s): 43 # object_base_uri_path Object base path 44 # (e.g. "/org/open_power/control/"). 45 # object_name Object name (e.g. "occ", "cpu" etc). 46 47 ${object_list}= Get Endpoint Paths 48 ... ${object_base_uri_path} ${object_name} 49 ${list_count}= Get Length ${object_list} 50 [Return] ${list_count} 51 52 53Read Object Attribute 54 [Documentation] Return object attribute data. 55 [Arguments] ${object_base_uri_path} ${attribute_name} 56 57 # Description of argument(s): 58 # object_base_uri_path Object path. 59 # (e.g. "/org/open_power/control/occ0"). 60 # attribute_name Object attribute name. 61 62 ${resp}= OpenBMC Get Request 63 ... ${object_base_uri_path}/attr/${attribute_name} quiet=${1} 64 Return From Keyword If ${resp.status_code} != ${HTTP_OK} 65 ${content}= To JSON ${resp.content} 66 [Return] ${content["data"]} 67 68