Merge pull request #72 from adamliyi/occ_hardlink
[skeleton]: Fix hard-coded path name when creating sensor object
diff --git a/bin/Barreleye.py b/bin/Barreleye.py
index 401f6f2..612846c 100755
--- a/bin/Barreleye.py
+++ b/bin/Barreleye.py
@@ -716,6 +716,28 @@
'101' : { 'object_path' : 'temperature/membuf7','poll_interval' : 5000,'scale' : 1000,'units' : 'C' },
}
},
+ '4-0010' : {
+ 'names' : {
+ # Barreleye uses 0.25 millioohms sense resistor for adm1278
+ # To convert Iout register value Y to real-world value X, use an equation:
+ # X= 1/m * (Y * 10^-R - b), here m = 800 * R_sense, and R_sense is expressed in milliohms.
+ # The adm1278 driver did the conversion, but the R_sense is set here as a scale factor.
+ 'curr1_input' : { 'object_path' : 'HSCA/Iout','poll_interval' : 5000,'scale' : 0.25,'units' : 'mA' },
+ 'in2_input' : { 'object_path' : 'HSCA/Vout','poll_interval' : 5000,'scale' : 1,'units' : 'mV' },
+ }
+ },
+ '5-0010' : {
+ 'names' : {
+ 'curr1_input' : { 'object_path' : 'HSCB/Iout','poll_interval' : 5000,'scale' : 0.25,'units' : 'mA' },
+ 'in2_input' : { 'object_path' : 'HSCB/Vout','poll_interval' : 5000,'scale' : 1,'units' : 'mV' },
+ }
+ },
+ '6-0010' : {
+ 'names' : {
+ 'curr1_input' : { 'object_path' : 'HSCC/Iout','poll_interval' : 5000,'scale' : 0.25,'units' : 'mA' },
+ 'in2_input' : { 'object_path' : 'HSCC/Vout','poll_interval' : 5000,'scale' : 1,'units' : 'mV' },
+ }
+ },
}
# Miscellaneous non-poll sensor with system specific properties.
diff --git a/bin/Palmetto.py b/bin/Palmetto.py
index 4c23068..832c650 100755
--- a/bin/Palmetto.py
+++ b/bin/Palmetto.py
@@ -123,6 +123,12 @@
'monitor_process' : True,
'process_name' : 'flash_bios.exe',
},
+ 'bmc_flash_control' : {
+ 'system_state' : 'BMC_STARTING',
+ 'start_process' : True,
+ 'monitor_process' : True,
+ 'process_name' : 'bmc_update.py',
+ },
'download_manager' : {
'system_state' : 'BMC_STARTING',
'start_process' : True,
@@ -184,7 +190,7 @@
'<inventory_root>/system/chassis/motherboard/cpu0/core11' : { 'fru_type' : 'CORE', 'is_fru' : False, },
- '<inventory_root>/system/chassis/motherboard/centaur0' : { 'fru_type' : 'MEMORY_BUFFER', 'is_fru' : False, },
+ '<inventory_root>/system/chassis/motherboard/membuf0' : { 'fru_type' : 'MEMORY_BUFFER', 'is_fru' : False, },
'<inventory_root>/system/chassis/motherboard/dimm0' : { 'fru_type' : 'DIMM', 'is_fru' : True,},
'<inventory_root>/system/chassis/motherboard/dimm1' : { 'fru_type' : 'DIMM', 'is_fru' : True,},
@@ -206,7 +212,7 @@
0x0d : '<inventory_root>/system/chassis',
0x34 : '<inventory_root>/system/chassis/motherboard',
0x01 : '<inventory_root>/system/chassis/motherboard/cpu0',
- 0x02 : '<inventory_root>/system/chassis/motherboard/centaur0',
+ 0x02 : '<inventory_root>/system/chassis/motherboard/membuf0',
0x03 : '<inventory_root>/system/chassis/motherboard/dimm0',
0x04 : '<inventory_root>/system/chassis/motherboard/dimm1',
0x05 : '<inventory_root>/system/chassis/motherboard/dimm2',
@@ -217,7 +223,7 @@
'PRODUCT_15' : '<inventory_root>/system',
'CHASSIS_2' : '<inventory_root>/system/chassis',
'BOARD_1' : '<inventory_root>/system/chassis/motherboard/cpu0',
- 'BOARD_2' : '<inventory_root>/system/chassis/motherboard/centaur0',
+ 'BOARD_2' : '<inventory_root>/system/chassis/motherboard/membuf0',
'BOARD_14' : '<inventory_root>/system/chassis/motherboard',
'PRODUCT_3' : '<inventory_root>/system/chassis/motherboard/dimm0',
'PRODUCT_4' : '<inventory_root>/system/chassis/motherboard/dimm1',
@@ -244,7 +250,7 @@
0x2b : '<inventory_root>/system/chassis/motherboard/cpu0/core9',
0x2c : '<inventory_root>/system/chassis/motherboard/cpu0/core10',
0x2d : '<inventory_root>/system/chassis/motherboard/cpu0/core11',
- 0x2e : '<inventory_root>/system/chassis/motherboard/centaur0',
+ 0x2e : '<inventory_root>/system/chassis/motherboard/membuf0',
0x1e : '<inventory_root>/system/chassis/motherboard/dimm0',
0x1f : '<inventory_root>/system/chassis/motherboard/dimm1',
0x20 : '<inventory_root>/system/chassis/motherboard/dimm2',
diff --git a/bin/Sensors.py b/bin/Sensors.py
index f951eeb..ecdac91 100755
--- a/bin/Sensors.py
+++ b/bin/Sensors.py
@@ -124,7 +124,8 @@
val = (self.properties[SensorValue.IFACE_NAME]['value']-offset) * scale
return [True,val]
else:
- val = (value/scale) + offset
+ # Keep the val as integer. scale may be floating point
+ val = int(value/scale + offset)
if (val != self.value):
SensorValue.setValue(self,val)
self.check_thresholds(val)
@@ -176,9 +177,12 @@
pass
class OccStatusSensor(VirtualSensor):
- def __init__(self,bus,name):
+ def __init__(self,bus,name, sysfs = None):
## default path. can be override
- self.sysfs_attr = "/sys/class/i2c-adapter/i2c-3/3-0050/online"
+ if sysfs is None:
+ self.sysfs_attr = "/sys/class/i2c-adapter/i2c-3/3-0050/online"
+ else:
+ self.sysfs_attr = sysfs
VirtualSensor.__init__(self,bus,name)
self.setValue("Disabled")
bus.add_signal_receiver(self.SystemStateHandler,signal_name = "GotoSystemState")
diff --git a/bin/bmc_update.py b/bin/bmc_update.py
index 2c1329d..a3032cf 100755
--- a/bin/bmc_update.py
+++ b/bin/bmc_update.py
@@ -103,12 +103,12 @@
tar.extractall(UPDATE_PATH,members=doExtract(tar,copy_files))
tar.close()
- if (self.Get(DBUS_NAME,"clear_persistent_files") == False):
+ if (self.Get(DBUS_NAME,"clear_persistent_files") == True):
print "Removing persistent files"
os.unlink(UPDATE_PATH+"/whitelist")
if (self.Get(DBUS_NAME,"preserve_network_settings") == True):
print "Preserving network settings"
- shutil.copy2("/dev/mtd2",UPDATE_PATH+"image-u-boot-env")
+ shutil.copy2("/dev/mtd2",UPDATE_PATH+"/image-u-boot-env")
except Exception as e:
print e
diff --git a/bin/inventory_items.py b/bin/inventory_items.py
index 0a90569..e0351a8 100755
--- a/bin/inventory_items.py
+++ b/bin/inventory_items.py
@@ -79,7 +79,6 @@
if __name__ == '__main__':
dbus.mainloop.glib.DBusGMainLoop(set_as_default=True)
bus = Openbmc.getDBus()
- name = dbus.service.BusName(DBUS_NAME,bus)
mainloop = gobject.MainLoop()
obj_parent = Inventory(bus, '/org/openbmc/inventory')
@@ -94,6 +93,7 @@
version = getVersion()
obj.update({'version': version})
+ name = dbus.service.BusName(DBUS_NAME,bus)
print "Running Inventory Manager"
mainloop.run()