summaryrefslogtreecommitdiffstats
path: root/pychassisctl
diff options
context:
space:
mode:
authorBrad Bishop <bradleyb@fuzziesquirrel.com>2016-08-22 19:27:18 -0400
committerBrad Bishop <bradleyb@fuzziesquirrel.com>2016-08-31 13:11:24 -0400
commitabe0f68b7807b35054ed788e3311f509b361e36d (patch)
treeb8e90abb497362147f3de4508792cbbaf86099a6 /pychassisctl
parent059cffb8749a6f95cbc422840adce67de7674401 (diff)
downloadtalos-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-xpychassisctl/chassis_control.py27
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,
OpenPOWER on IntegriCloud