diff --git a/gns3server/controller/compute.py b/gns3server/controller/compute.py index 3fc9fc31..aa191af2 100644 --- a/gns3server/controller/compute.py +++ b/gns3server/controller/compute.py @@ -27,7 +27,6 @@ import io from operator import itemgetter from ..utils import parse_version -from ..utils.images import list_images from ..utils.asyncio import locking from ..controller.controller_error import ControllerError from ..version import __version__, __version_info__ @@ -571,8 +570,7 @@ class Compute: async def images(self, type): """ - Return the list of images available for this type on controller - and on the compute node. + Return the list of images available for this type on the compute node. """ images = [] @@ -581,9 +579,9 @@ class Compute: try: if type in ["qemu", "dynamips", "iou"]: - for local_image in list_images(type): - if local_image['filename'] not in [i['filename'] for i in images]: - images.append(local_image) + #for local_image in list_images(type): + # if local_image['filename'] not in [i['filename'] for i in images]: + # images.append(local_image) images = sorted(images, key=itemgetter('filename')) else: images = sorted(images, key=itemgetter('image')) diff --git a/gns3server/handlers/api/controller/compute_handler.py b/gns3server/handlers/api/controller/compute_handler.py index 2214428a..fccc63f8 100644 --- a/gns3server/handlers/api/controller/compute_handler.py +++ b/gns3server/handlers/api/controller/compute_handler.py @@ -82,13 +82,14 @@ class ComputeHandler: @Route.get( r"/computes/{compute_id}/{emulator}/images", parameters={ - "compute_id": "Compute UUID" + "compute_id": "Compute UUID", + "emulator": "Emulator type" }, status_codes={ 200: "OK", 404: "Instance doesn't exist" }, - description="Return the list of images available on compute and controller for this emulator type") + description="Return the list of images available on compute for this emulator type") async def images(request, response): controller = Controller.instance() compute = controller.get_compute(request.match_info["compute_id"]) diff --git a/gns3server/utils/images.py b/gns3server/utils/images.py index 2af1858e..21bfb9a8 100644 --- a/gns3server/utils/images.py +++ b/gns3server/utils/images.py @@ -139,7 +139,7 @@ def images_directories(type): paths.append(directory) # Compatibility with old topologies we look in parent directory paths.append(img_dir) - # Return only the existings paths + # Return only the existing paths return [force_unix_path(p) for p in paths if os.path.exists(p)] diff --git a/tests/controller/test_compute.py b/tests/controller/test_compute.py index f03b680b..ab0f6094 100644 --- a/tests/controller/test_compute.py +++ b/tests/controller/test_compute.py @@ -348,7 +348,7 @@ def test_forward_post(compute, async_run): def test_images(compute, async_run, images_dir): """ - Will return image on compute and on controller + Will return image on compute """ response = MagicMock() response.status = 200 @@ -357,14 +357,12 @@ def test_images(compute, async_run, images_dir): "path": "linux.qcow2", "md5sum": "d41d8cd98f00b204e9800998ecf8427e", "filesize": 0}]).encode()) - open(os.path.join(images_dir, "QEMU", "asa.qcow2"), "w+").close() with asyncio_patch("aiohttp.ClientSession.request", return_value=response) as mock: images = async_run(compute.images("qemu")) mock.assert_called_with("GET", "https://example.com:84/v2/compute/qemu/images", auth=None, data=None, headers={'content-type': 'application/json'}, chunked=None, timeout=None) async_run(compute.close()) assert images == [ - {"filename": "asa.qcow2", "path": "asa.qcow2", "md5sum": "d41d8cd98f00b204e9800998ecf8427e", "filesize": 0}, {"filename": "linux.qcow2", "path": "linux.qcow2", "md5sum": "d41d8cd98f00b204e9800998ecf8427e", "filesize": 0} ]