Add a call to start cape process.
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
This commit is contained in:
parent
a76d02e790
commit
077ff505d2
|
@ -16,7 +16,7 @@
|
||||||
"""
|
"""
|
||||||
/stack endpoint for heat v1 API
|
/stack endpoint for heat v1 API
|
||||||
"""
|
"""
|
||||||
|
import dbus
|
||||||
import httplib
|
import httplib
|
||||||
import json
|
import json
|
||||||
import libxml2
|
import libxml2
|
||||||
|
@ -231,6 +231,30 @@ class Json2CapeXml:
|
||||||
s[index] = self.resolve_base64(item)
|
s[index] = self.resolve_base64(item)
|
||||||
return s
|
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):
|
class StackController(object):
|
||||||
|
@ -343,6 +367,8 @@ class StackController(object):
|
||||||
cape_transformer = Json2CapeXml(stack, req.params['StackName'])
|
cape_transformer = Json2CapeXml(stack, req.params['StackName'])
|
||||||
cape_transformer.convert_and_write()
|
cape_transformer.convert_and_write()
|
||||||
|
|
||||||
|
systemctl('start', 'pcloud-cape-sshd', req.params['StackName'])
|
||||||
|
|
||||||
return {'CreateStackResult': {'StackId': my_id}}
|
return {'CreateStackResult': {'StackId': my_id}}
|
||||||
|
|
||||||
def update(self, req):
|
def update(self, req):
|
||||||
|
@ -387,6 +413,8 @@ class StackController(object):
|
||||||
|
|
||||||
del stack_db[req.params['StackName']]
|
del stack_db[req.params['StackName']]
|
||||||
|
|
||||||
|
systemctl('stop', 'pcloud-cape-sshd', req.params['StackName'])
|
||||||
|
|
||||||
def create_resource(options):
|
def create_resource(options):
|
||||||
"""Stacks resource factory method"""
|
"""Stacks resource factory method"""
|
||||||
deserializer = wsgi.JSONRequestDeserializer()
|
deserializer = wsgi.JSONRequestDeserializer()
|
||||||
|
|
Loading…
Reference in New Issue