diff options
author | Brad Bishop <bradleyb@fuzziesquirrel.com> | 2016-08-22 19:27:18 -0400 |
---|---|---|
committer | Brad Bishop <bradleyb@fuzziesquirrel.com> | 2016-08-31 13:11:24 -0400 |
commit | abe0f68b7807b35054ed788e3311f509b361e36d (patch) | |
tree | b8e90abb497362147f3de4508792cbbaf86099a6 /pychassisctl | |
parent | 059cffb8749a6f95cbc422840adce67de7674401 (diff) | |
download | talos-skeleton-abe0f68b7807b35054ed788e3311f509b361e36d.tar.gz talos-skeleton-abe0f68b7807b35054ed788e3311f509b361e36d.zip |
chassis: Use systemd for chassis on/off
Start a systemd target for chassis state changes.
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
Change-Id: I3f02360aeec35ff451d4da8a087c1aeb1e7709e0
Diffstat (limited to 'pychassisctl')
-rwxr-xr-x | pychassisctl/chassis_control.py | 27 |
1 files changed, 11 insertions, 16 deletions
diff --git a/pychassisctl/chassis_control.py b/pychassisctl/chassis_control.py index 6c5ad09..6c6d9bd 100755 --- a/pychassisctl/chassis_control.py +++ b/pychassisctl/chassis_control.py @@ -52,11 +52,6 @@ class ChassisControlObject(DbusProperties, DbusObjectManager): 'object_name': '/org/openbmc/control/led/identify', 'interface_name': 'org.openbmc.Led' }, - 'watchdog': { - 'bus_name': 'org.openbmc.watchdog.Host', - 'object_name': '/org/openbmc/watchdog/host0', - 'interface_name': 'org.openbmc.Watchdog' - }, 'host_services': { 'bus_name': 'org.openbmc.HostServices', 'object_name': '/org/openbmc/HostServices', @@ -67,10 +62,10 @@ class ChassisControlObject(DbusProperties, DbusObjectManager): 'object_name': '/org/openbmc/settings/host0', 'interface_name': 'org.freedesktop.DBus.Properties' }, - 'host_control': { - 'bus_name': 'org.openbmc.control.Host', - 'object_name': '/org/openbmc/control/host0', - 'interface_name': 'org.openbmc.control.Host' + 'systemd': { + 'bus_name': 'org.freedesktop.systemd1', + 'object_name': '/org/freedesktop/systemd1', + 'interface_name': 'org.freedesktop.systemd1.Manager' }, } @@ -130,19 +125,19 @@ class ChassisControlObject(DbusProperties, DbusObjectManager): def powerOn(self): print "Turn on power and boot" self.Set(DBUS_NAME, "reboot", 0) - if (self.getPowerState() == 0): - intf = self.getInterface('power_control') - intf.setPowerState(POWER_ON) + intf = self.getInterface('systemd') + f = getattr(intf, 'StartUnit') + f.call_async('obmc-chassis-start@0.target', 'replace') return None @dbus.service.method(DBUS_NAME, in_signature='', out_signature='') def powerOff(self): print "Turn off power" - intfwatchdog = self.getInterface('watchdog') - intfwatchdog.stop() - intf = self.getInterface('power_control') - intf.setPowerState(POWER_OFF) + + intf = self.getInterface('systemd') + f = getattr(intf, 'StartUnit') + f.call_async('obmc-chassis-stop@0.target', 'replace') return None @dbus.service.method(DBUS_NAME, |