diff --git a/src/emuvim/api/sonata/__init__.py b/src/emuvim/api/sonata/__init__.py
index 14182c5..541ba67 100644
--- a/src/emuvim/api/sonata/__init__.py
+++ b/src/emuvim/api/sonata/__init__.py
@@ -40,4 +40,4 @@
         logging.debug("Started API endpoint %s" % self)
 
     def _api_server_thread(self):
-        dgk.start_rest_api(self.ip, self.port)
+        dgk.start_rest_api(self.ip, self.port, self.dcs)
diff --git a/src/emuvim/api/sonata/dummygatekeeper.py b/src/emuvim/api/sonata/dummygatekeeper.py
index 4241e79..71fb559 100644
--- a/src/emuvim/api/sonata/dummygatekeeper.py
+++ b/src/emuvim/api/sonata/dummygatekeeper.py
@@ -28,6 +28,7 @@
 
     def __init__(self):
         self.services = dict()
+        self.dcs = list()
         LOG.info("Create SONATA dummy gatekeeper.")
 
     def register_service_package(self, service_uuid, service):
@@ -62,12 +63,18 @@
         self.local_docker_files = dict()
         self.instances = dict()
 
-    def start_service(self, service_uuid):
+    def start_service(self):
         # TODO implement method
-        # 1. parse descriptors
-        # 2. do the corresponding dc.startCompute(name="foobar") calls
-        # 3. store references to the compute objects in self.instantiations
-        pass
+        instance_uuid = str(uuid.uuid4())
+        # 1. parse descriptors and get name of each docker container
+        for vnfd in self.vnfds.itervalues():
+            for u in vnfd.get("virtual_deployment_units"):
+                docker_name = u.get("vm_image")
+                # 2. do the corresponding dc.startCompute(name="foobar") calls
+                print "start %r" % docker_name
+                print "available dcs: %r " % GK.dcs
+                # 3. store references to the compute objects in self.instantiations
+        return instance_uuid
 
     def onboard(self):
         """
@@ -217,12 +224,13 @@
         """
         # TODO implement method (start real service)
         json_data = request.get_json(force=True)
-        service_uuid = json_data.get("service_uuid")
-        if service_uuid is not None:
-            service_instance_uuid = str(uuid.uuid4())
+        service_uuid = list(GK.services.iterkeys())[0] #json_data.get("service_uuid") # TODO only for quick testing
+        if service_uuid in GK.services:
             LOG.info("Starting service %r" % service_uuid)
+            service_instance_uuid = GK.services.get(service_uuid).start_service()
+            LOG.info("Service started. Instance id: %r" % service_instance_uuid)
             return {"service_instance_uuid": service_instance_uuid}
-        return None
+        return "Service not found", 404
 
     def get(self):
         """
@@ -244,7 +252,8 @@
 api.add_resource(Instantiations, '/api/instantiations')
 
 
-def start_rest_api(host, port):
+def start_rest_api(host, port, datacenters=list()):
+    GK.dcs = datacenters
     # start the Flask server (not the best performance but ok for our use case)
     app.run(host=host,
             port=port,
