"""
/stack endpoint for heat v1 API
"""
-
+import dbus
import httplib
import json
import libxml2
s[index] = self.resolve_base64(item)
return s
+def systemctl(method, name, instance=None):
+
+ bus = dbus.SystemBus()
+
+ sysd = bus.get_object('org.freedesktop.systemd1',
+ '/org/freedesktop/systemd1')
+
+ actual_method = ''
+ if method == 'start':
+ actual_method = 'StartUnit'
+ elif method == 'stop':
+ actual_method = 'StopUnit'
+ else:
+ raise
+
+ m = sysd.get_dbus_method(actual_method, 'org.freedesktop.systemd1.Manager')
+
+ if instance == None:
+ service = '%s.service' % (name)
+ else:
+ service = '%s@%s.service' % (name, instance)
+
+ result = m(service, 'replace')
+ return result
class StackController(object):
cape_transformer = Json2CapeXml(stack, req.params['StackName'])
cape_transformer.convert_and_write()
+ systemctl('start', 'pcloud-cape-sshd', req.params['StackName'])
+
return {'CreateStackResult': {'StackId': my_id}}
def update(self, req):
del stack_db[req.params['StackName']]
+ systemctl('stop', 'pcloud-cape-sshd', req.params['StackName'])
+
def create_resource(options):
"""Stacks resource factory method"""
deserializer = wsgi.JSONRequestDeserializer()