diff --git a/src/emuvim/api/rest/compute.py b/src/emuvim/api/rest/compute.py
index dc2b611..8d46aa2 100755
--- a/src/emuvim/api/rest/compute.py
+++ b/src/emuvim/api/rest/compute.py
@@ -29,6 +29,7 @@
 from flask_restful import Resource
 from flask import request
 import json
+from copy import deepcopy
 
 logging.basicConfig(level=logging.INFO)
 
@@ -51,10 +52,6 @@
     global dcs
 
     def put(self, dc_label, compute_name, resource=None, value=None):
-        # check if resource update
-        if resource and value:
-           c = self._update_resource(dc_label, compute_name, resource, value)
-           return c.getStatus(), 200
 
         # deploy new container
         # check if json data is a dict
@@ -79,20 +76,6 @@
             logging.exception("API error.")
             return ex.message, 500, CORS_HEADER
 
-    def _update_resource(self, dc_label, compute_name, resource, value):
-        #check if container exists
-        d = dcs.get(dc_label).net.getNodeByName(compute_name)
-        if resource == 'cpu':
-            cpu_period = int(dcs.get(dc_label).net.cpu_period)
-            cpu_quota = int(cpu_period * float(value))
-            #put default values back
-            if float(value) <= 0:
-                cpu_period = 100000
-                cpu_quota = -1
-            d.updateCpuLimit(cpu_period=cpu_period, cpu_quota=cpu_quota)
-        return d
-
-
     def get(self, dc_label, compute_name):
 
         logging.debug("API CALL: compute status")
@@ -151,6 +134,74 @@
             logging.exception("API error.")
             return ex.message, 500, CORS_HEADER
 
+class ComputeResources(Resource):
+    """
+    Update the container's resources using the docker.update function
+    re-using the same parameters:
+        url params:
+           blkio_weight
+           cpu_period, cpu_quota, cpu_shares
+           cpuset_cpus
+           cpuset_mems
+           mem_limit
+           mem_reservation
+           memswap_limit
+           kernel_memory
+           restart_policy
+    see https://docs.docker.com/engine/reference/commandline/update/
+    or API docs: https://docker-py.readthedocs.io/en/stable/api.html#module-docker.api.container
+    :param dc_label: name of the DC
+    :param compute_name: compute container name
+
+    :return: docker inspect dict of deployed docker
+    """
+    global dcs
+
+    def put(self, dc_label, compute_name):
+        logging.debug("REST CALL: update container resources")
+
+        try:
+            c = self._update_resources(dc_label, compute_name)
+            return c.getStatus(), 200, CORS_HEADER
+        except Exception as ex:
+            logging.exception("API error.")
+            return ex.message, 500, CORS_HEADER
+
+    def _update_resources(self, dc_label, compute_name):
+
+        # get URL parameters
+        params = request.args
+        # then no data
+        if params is None:
+            params = {}
+        logging.debug("REST CALL: update container resources {0}".format(params))
+        #check if container exists
+        d = dcs.get(dc_label).net.getNodeByName(compute_name)
+
+        # general request of cpu percentage
+        # create a mutable copy
+        params = params.to_dict()
+        if 'cpu_bw' in params:
+            cpu_period = int(dcs.get(dc_label).net.cpu_period)
+            value = params.get('cpu_bw')
+            cpu_quota = int(cpu_period * float(value))
+            #put default values back
+            if float(value) <= 0:
+                cpu_period = 100000
+                cpu_quota = -1
+            params['cpu_period'] = cpu_period
+            params['cpu_quota'] = cpu_quota
+            #d.updateCpuLimit(cpu_period=cpu_period, cpu_quota=cpu_quota)
+
+        # only pass allowed keys to docker
+        allowed_keys = ['blkio_weight', 'cpu_period', 'cpu_quota', 'cpu_shares', 'cpuset_cpus',
+                        'cpuset_mems', 'mem_limit', 'mem_reservation', 'memswap_limit',
+                        'kernel_memory', 'restart_policy']
+        filtered_params = {key:params[key] for key in allowed_keys if key in params}
+
+        d.update_resources(**filtered_params)
+
+        return d
 
 class DatacenterList(Resource):
     global dcs
diff --git a/src/emuvim/api/rest/rest_api_endpoint.py b/src/emuvim/api/rest/rest_api_endpoint.py
index 0ecf548..fc48a33 100755
--- a/src/emuvim/api/rest/rest_api_endpoint.py
+++ b/src/emuvim/api/rest/rest_api_endpoint.py
@@ -32,7 +32,7 @@
 
 # need to import total module to set its global variable dcs
 import compute
-from compute import dcs, ComputeList, Compute, DatacenterList, DatacenterStatus
+from compute import dcs, ComputeList, Compute, ComputeResources, DatacenterList, DatacenterStatus
 
 # need to import total module to set its global variable net
 import network
@@ -62,12 +62,11 @@
         # setup endpoints
 
         # compute related actions (start/stop VNFs, get info)
-        self.api.add_resource(Compute,
-                              "/restapi/compute/<dc_label>/<compute_name>",
-                              "/restapi/compute/<dc_label>/<compute_name>/<resource>/<value>")
+        self.api.add_resource(Compute, "/restapi/compute/<dc_label>/<compute_name>")
         self.api.add_resource(ComputeList,
                       "/restapi/compute",
                       "/restapi/compute/<dc_label>")
+        self.api.add_resource(ComputeResources, "/restapi/compute/resources/<dc_label>/<compute_name>")
 
         self.api.add_resource(DatacenterStatus, "/restapi/datacenter/<dc_label>")
         self.api.add_resource(DatacenterList, "/restapi/datacenter")
diff --git a/src/emuvim/dcemulator/monitoring.py b/src/emuvim/dcemulator/monitoring.py
index de96e37..269a7e0 100755
--- a/src/emuvim/dcemulator/monitoring.py
+++ b/src/emuvim/dcemulator/monitoring.py
@@ -606,6 +606,7 @@
             while not started:
                 list1 = self.dockercli.containers.list(filters={'status': 'running', 'name': 'prometheus'})
                 if len(list1) >= 1:
+                    time.sleep(1)
                     started = True
                 if wait_time > 5:
                     return 'skewmon not started'
diff --git a/src/emuvim/dcemulator/node.py b/src/emuvim/dcemulator/node.py
index 2702bf5..c5ac9b3 100755
--- a/src/emuvim/dcemulator/node.py
+++ b/src/emuvim/dcemulator/node.py
@@ -82,12 +82,12 @@
         status["docker_network"] = self.dcinfo['NetworkSettings']['IPAddress']
         status["image"] = self.dimage
         status["flavor_name"] = self.flavor_name
-        status["cpu_quota"] = self.cpu_quota
-        status["cpu_period"] = self.cpu_period
-        status["cpu_shares"] = self.cpu_shares
-        status["cpuset"] = self.cpuset
-        status["mem_limit"] = self.mem_limit
-        status["memswap_limit"] = self.memswap_limit
+        status["cpu_quota"] = self.resources.get('cpu_quota')
+        status["cpu_period"] = self.resources.get('cpu_period')
+        status["cpu_shares"] = self.resources.get('cpu_shares')
+        status["cpuset"] = self.resources.get('cpuset_cpus')
+        status["mem_limit"] = self.resources.get('mem_limit')
+        status["memswap_limit"] = self.resources.get('memswap_limit')
         status["state"] = self.dcli.inspect_container(self.dc)["State"]
         status["id"] = self.dcli.inspect_container(self.dc)["Id"]
         status["short_id"] = self.dcli.inspect_container(self.dc)["Id"][:12]
diff --git a/src/emuvim/test/unittests/test_resourcemodel.py b/src/emuvim/test/unittests/test_resourcemodel.py
index b15fed0..5fbd172 100755
--- a/src/emuvim/test/unittests/test_resourcemodel.py
+++ b/src/emuvim/test/unittests/test_resourcemodel.py
@@ -96,10 +96,11 @@
     class DummyContainer(object):
 
         def __init__(self):
-            self.cpu_period = -1
+            # take defaukt values from son-emu
+            # self.cpu_period = -1
             self.cpu_quota = -1
-            self.mem_limit = -1
-            self.memswap_limit = -1
+            # self.mem_limit = -1
+            # self.memswap_limit = -1
 
         def updateCpuLimit(self, cpu_period, cpu_quota):
             self.cpu_period = cpu_period
diff --git a/utils/docker/Dockerfile b/utils/docker/Dockerfile
index b5a94af..eac132c 100755
--- a/utils/docker/Dockerfile
+++ b/utils/docker/Dockerfile
@@ -51,8 +51,10 @@
 RUN echo 'install son-emu'
 RUN apt-get install -y  python-dev python-zmq libzmq-dev libffi-dev libssl-dev
 RUN pip install -U zerorpc tabulate argparse networkx six ryu oslo.config pytest Flask flask_restful requests prometheus_client pyaml
-WORKDIR / 
-RUN git clone https://github.com/sonata-nfv/son-emu.git
+WORKDIR /
+#avoid pulling not the latest git, copy the current dir, to run this from Jenkins
+#RUN git clone https://github.com/sonata-nfv/son-emu.git
+COPY . /son-emu
 WORKDIR son-emu/
 RUN python setup.py develop
 WORKDIR / 
