Chris Austen | b29d2e8 | 2016-06-07 12:25:35 -0500 | [diff] [blame] | 1 | #!/usr/bin/python -u |
| 2 | import sys |
| 3 | from robot.libraries.BuiltIn import BuiltIn |
| 4 | import imp |
| 5 | import string |
| 6 | |
| 7 | |
| 8 | def get_sensor(module_name, value): |
| 9 | m = imp.load_source('module.name', module_name) |
| 10 | |
| 11 | for i in m.ID_LOOKUP['SENSOR']: |
| 12 | |
| 13 | if m.ID_LOOKUP['SENSOR'][i] == value: |
| 14 | return i |
| 15 | |
| 16 | return 0xFF |
| 17 | |
| 18 | |
| 19 | def get_inventory_sensor (module_name, value): |
| 20 | m = imp.load_source('module.name', module_name) |
| 21 | |
| 22 | value = string.replace(value, m.INVENTORY_ROOT, '<inventory_root>') |
| 23 | |
| 24 | for i in m.ID_LOOKUP['SENSOR']: |
| 25 | |
| 26 | if m.ID_LOOKUP['SENSOR'][i] == value: |
| 27 | return i |
| 28 | |
| 29 | return 0xFF |
| 30 | |
| 31 | |
| 32 | ################################################################ |
| 33 | # This will return the URI's of the FRU type |
| 34 | # |
| 35 | # i.e. get_inventory_list('../data/Palmetto.py') |
| 36 | # |
| 37 | # [/org/openbmc/inventory//system/chassis/motherboard/cpu0/core0, |
| 38 | # /org/openbmc/inventory/system/chassis/motherboard/dimm0] |
| 39 | ################################################################ |
| 40 | def get_inventory_list(module_name): |
| 41 | |
| 42 | l = [] |
| 43 | m = imp.load_source('module.name', module_name) |
| 44 | |
| 45 | |
| 46 | for i in m.ID_LOOKUP['FRU']: |
| 47 | s = m.ID_LOOKUP['FRU'][i] |
| 48 | s = s.replace('<inventory_root>',m.INVENTORY_ROOT) |
| 49 | l.append(s) |
| 50 | |
| 51 | return l |
| 52 | |
| 53 | |
| 54 | ################################################################ |
| 55 | # This will return the URI's of the FRU type |
| 56 | # |
| 57 | # i.e. get_inventory_fru_type_list('../data/Barreleye.py', 'CPU') |
| 58 | # |
| 59 | # [/org/openbmc/inventory//system/chassis/motherboard/cpu0, |
| 60 | # /org/openbmc/inventory//system/chassis/motherboard/cpu1] |
| 61 | ################################################################ |
| 62 | def get_inventory_fru_type_list(module_name, fru): |
| 63 | l = [] |
| 64 | m = imp.load_source('module.name', module_name) |
| 65 | |
| 66 | for i in m.FRU_INSTANCES.keys(): |
| 67 | if m.FRU_INSTANCES[i]['fru_type'] == fru: |
| 68 | s = i.replace('<inventory_root>',m.INVENTORY_ROOT) |
| 69 | l.append(s) |
| 70 | |
| 71 | return l |
| 72 | |
| 73 | |
| 74 | ################################################################ |
| 75 | # This will return the URI's of the FRU type that contain VPD |
| 76 | # |
| 77 | # i.e. get_vpd_inventory_list('../data/Palmetto.py', 'DIMM') |
| 78 | # |
| 79 | # [/org/openbmc/inventory/system/chassis/motherboard/dimm0, |
| 80 | # /org/openbmc/inventory/system/chassis/motherboard/dimm1] |
| 81 | ################################################################ |
| 82 | def get_vpd_inventory_list(module_name, fru): |
| 83 | l = [] |
| 84 | m = imp.load_source('module.name', module_name) |
| 85 | |
| 86 | for i in m.ID_LOOKUP['FRU_STR']: |
| 87 | x = m.ID_LOOKUP['FRU_STR'][i] |
| 88 | |
| 89 | if m.FRU_INSTANCES[x]['fru_type'] == fru: |
| 90 | s = x.replace('<inventory_root>',m.INVENTORY_ROOT) |
| 91 | l.append(s) |
| 92 | |
| 93 | return l |
| 94 | |
| 95 | |
| 96 | def call_keyword(keyword): |
| 97 | return BuiltIn().run_keyword(keyword) |
| 98 | |
| 99 | |
| 100 | def main(): |
| 101 | print get_vpd_inventory_list('../data/Palmetto.py', 'DIMM') |
| 102 | |
| 103 | |
| 104 | if __name__ == "__main__": |
| 105 | main() |