Fix: Made Glance-fake API more robust in
authorpeusterm <manuel.peuster@uni-paderborn.de>
Mon, 6 Aug 2018 12:28:24 +0000 (14:28 +0200)
committerpeusterm <manuel.peuster@uni-paderborn.de>
Mon, 6 Aug 2018 12:40:56 +0000 (14:40 +0200)
environments with many registered Docker images.

Change-Id: I27880b3530da088ab83a5bb5eb8d2946639d7ee0
Signed-off-by: peusterm <manuel.peuster@uni-paderborn.de>
src/emuvim/api/openstack/compute.py
src/emuvim/api/openstack/openstack_dummies/glance_dummy_api.py

index ce6f636..865b770 100755 (executable)
@@ -96,8 +96,6 @@ class OpenstackCompute(object):
         for image in self.dcli.images.list():
             if len(image.tags) > 0:
                 for t in image.tags:
-                    # only use short tag names for OSM compatibility
-                    t = t.replace(":latest", "")
                     if t not in self._images:
                         self._images[t] = Image(t)
         return self._images
index 16241e0..1b066f0 100755 (executable)
@@ -99,14 +99,15 @@ class GlanceListImagesApi(Resource):
     def get(self):
         LOG.debug("API CALL: %s GET" % str(self.__class__.__name__))
         try:
+            img_list = self.api.compute.images.values()
+            LOG.debug("Found {} Docker images: {}".format(
+                len(img_list), [i.name for i in img_list]))
             resp = dict()
             # resp['next'] = None
             resp['first'] = "/v2/images"
             resp['schema'] = "/v2/schemas/images"
             resp['images'] = list()
-            limit = 18
-            c = 0
-            for image in self.api.compute.images.values():
+            for image in img_list:
                 f = dict()
                 f['id'] = image.id
                 f['name'] = str(image.name).replace(":latest", "")
@@ -128,9 +129,6 @@ class GlanceListImagesApi(Resource):
                 f['virtual_size'] = 1
                 f['marker'] = None
                 resp['images'].append(f)
-                c += 1
-                if c > limit:  # ugly hack to stop buggy glance client to do infinite requests
-                    break
             if "marker" in request.args:  # ugly hack to fix pageination of openstack client
                 resp['images'] = None
             return Response(json.dumps(resp), status=200,