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
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 @@
                 '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 @@
                 '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 @@
     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,