diff options
author | Andrew Geissler <geissonator@yahoo.com> | 2018-02-06 13:41:47 -0800 |
---|---|---|
committer | Andrew Geissler <geissonator@yahoo.com> | 2018-02-16 14:08:46 -0800 |
commit | 099bb15685cab75f745386b4935d5cccb9148d38 (patch) | |
tree | a8ea060f8e40bcff036f66361fa44ee12c3281a6 | |
parent | a14bddf6212fd1201b49655d947004eb7baa3043 (diff) | |
download | talos-skeleton-099bb15685cab75f745386b4935d5cccb9148d38.tar.gz talos-skeleton-099bb15685cab75f745386b4935d5cccb9148d38.zip |
Remove all legacy function from system manager
This commit removes all of the un-used interfaces in
order to get it down to its bare function and to
make eventual removal of this legacy application
easier
Tested: Built image and verified witherspoon system
still powers on as expected and no new errors or issues
show up in basic regression.
Change-Id: I55b7f3ebe68ce224bfccf14b0e9a4ceb4617f3d8
Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
-rw-r--r-- | pysystemmgr/system_manager.py | 132 |
1 files changed, 0 insertions, 132 deletions
diff --git a/pysystemmgr/system_manager.py b/pysystemmgr/system_manager.py index a36b7af..77d36a3 100644 --- a/pysystemmgr/system_manager.py +++ b/pysystemmgr/system_manager.py @@ -5,21 +5,13 @@ import dbus import dbus.service import dbus.mainloop.glib import os -import obmc.dbuslib.propertycacher as PropertyCacher from obmc.dbuslib.bindings import DbusProperties, DbusObjectManager, get_dbus import obmc.enums import obmc_system_config as System -import obmc.mapper.utils -import obmc.inventory import obmc.system DBUS_NAME = 'org.openbmc.managers.System' OBJ_NAME = '/org/openbmc/managers/System' -INTF_SENSOR = 'org.openbmc.SensorValue' -INTF_ITEM = 'org.openbmc.InventoryItem' - -SYS_STATE_FILE = '/var/lib/obmc/last-system-state' -POWER_OFF = "0" class SystemManager(DbusProperties, DbusObjectManager): @@ -29,132 +21,8 @@ class SystemManager(DbusProperties, DbusObjectManager): object_path=obj_name) self.bus = bus - bus.add_signal_receiver( - self.NewObjectHandler, - signal_name="InterfacesAdded", sender_keyword='bus_name') - bus.add_signal_receiver( - self.SystemStateHandler, signal_name="GotoSystemState") - - bus.add_signal_receiver( - self.chassisPowerStateHandler, - dbus_interface="org.freedesktop.DBus.Properties", - signal_name="PropertiesChanged", - path="/org/openbmc/control/power0") - - self.Set(DBUS_NAME, "current_state", "") - self.Set(DBUS_NAME, "system_last_state", POWER_OFF) - self.import_system_state_from_disk() - # replace symbolic path in ID_LOOKUP - for category in System.ID_LOOKUP: - for key in System.ID_LOOKUP[category]: - val = System.ID_LOOKUP[category][key] - new_val = val.replace( - "<inventory_root>", obmc.inventory.INVENTORY_ROOT) - System.ID_LOOKUP[category][key] = new_val - - self.SystemStateHandler(System.SYSTEM_STATES[0]) - print "SystemManager Init Done" - def chassisPowerStateHandler(self, interface_name, changed_properties, - invalidated_properties): - value = changed_properties.get('state') - if value is not None: - self.write_to_disk_and_update(str(value)) - - def SystemStateHandler(self, state_name): - print "Running System State: "+state_name - - self.Set(DBUS_NAME, "current_state", state_name) - - waitlist = System.EXIT_STATE_DEPEND.get(state_name, {}).keys() - if waitlist: - self.waiter = obmc.mapper.utils.Wait( - self.bus, waitlist, - callback=self.gotoNextState) - - def gotoNextState(self): - s = 0 - current_state = self.Get(DBUS_NAME, "current_state") - for i in range(len(System.SYSTEM_STATES)): - if (System.SYSTEM_STATES[i] == current_state): - s = i+1 - - if (s == len(System.SYSTEM_STATES)): - print "ERROR SystemManager: No more system states" - else: - new_state_name = System.SYSTEM_STATES[s] - print "SystemManager Goto System State: "+new_state_name - self.SystemStateHandler(new_state_name) - - def import_system_state_from_disk(self): - state = str(POWER_OFF) - try: - with open(SYS_STATE_FILE, 'r+') as f: - state = f.readline().rstrip('\n') - except IOError: - pass - self.Set(DBUS_NAME, "system_last_state", state) - return state - - def write_to_disk_and_update(self, state): - try: - with open(SYS_STATE_FILE, 'w+') as f: - f.write(str(state)) - self.Set(DBUS_NAME, "system_last_state", state) - except IOError: - pass - - @dbus.service.method(DBUS_NAME, in_signature='', out_signature='s') - def getSystemState(self): - return self.Get(DBUS_NAME, "current_state") - - def doObjectLookup(self, category, key): - obj_path = "" - intf_name = INTF_ITEM - try: - obj_path = System.ID_LOOKUP[category][key] - parts = obj_path.split('/') - if (parts[3] == 'sensors'): - intf_name = INTF_SENSOR - except Exception as e: - print "ERROR SystemManager: "+str(e)+" not found in lookup" - - return [obj_path, intf_name] - - @dbus.service.method(DBUS_NAME, in_signature='ss', out_signature='(ss)') - def getObjectFromId(self, category, key): - return self.doObjectLookup(category, key) - - @dbus.service.method(DBUS_NAME, in_signature='sy', out_signature='(ss)') - def getObjectFromByteId(self, category, key): - byte = int(key) - return self.doObjectLookup(category, byte) - - # Get the FRU area names defined in ID_LOOKUP table given a fru_id. - # If serval areas are defined for a fru_id, the areas are returned - # together as a string with each area name separated with ','. - # If no fru area defined in ID_LOOKUP, an empty string will be returned. - @dbus.service.method(DBUS_NAME, in_signature='y', out_signature='s') - def getFRUArea(self, fru_id): - ret_str = '' - fru_id = '_' + str(fru_id) - area_list = [ - area for area in System.ID_LOOKUP['FRU_STR'].keys() - if area.endswith(fru_id)] - for area in area_list: - ret_str = area + ',' + ret_str - # remove the last ',' - return ret_str[:-1] - - def NewObjectHandler(self, obj_path, iprops, bus_name=None): - current_state = self.Get(DBUS_NAME, "current_state") - if current_state not in System.EXIT_STATE_DEPEND: - return - - if obj_path in System.EXIT_STATE_DEPEND[current_state]: - print "New object: "+obj_path+" ("+bus_name+")" - @dbus.service.method(DBUS_NAME, in_signature='s', out_signature='sis') def gpioInit(self, name): gpio_path = '' |