diff --git a/gns3server/controller/compute.py b/gns3server/controller/compute.py index 3d6822c8..6a4ac0ce 100644 --- a/gns3server/controller/compute.py +++ b/gns3server/controller/compute.py @@ -529,7 +529,7 @@ class Compute: raise aiohttp.web.HTTPForbidden(text=msg) elif response.status == 404: raise aiohttp.web.HTTPNotFound(text="{} {} not found".format(method, path)) - elif response.status == 408: + elif response.status == 408 or response.status == 504: raise aiohttp.web.HTTPRequestTimeout(text="{} {} request timeout".format(method, path)) elif response.status == 409: try: diff --git a/gns3server/web/web_server.py b/gns3server/web/web_server.py index 1e8bd1b8..0bcc71a5 100644 --- a/gns3server/web/web_server.py +++ b/gns3server/web/web_server.py @@ -33,6 +33,7 @@ from .route import Route from ..config import Config from ..compute import MODULES from ..compute.port_manager import PortManager +from ..compute.qemu import Qemu from ..controller import Controller @@ -192,6 +193,10 @@ class WebServer: Called when the HTTP server start """ yield from Controller.instance().start() + # Because with a large image collection + # without md5sum already computed we start the + # computing with server start + asyncio.async(Qemu.instance().list_images()) def run(self): """