From d06af526b29b85db1fbd3d721cf53a7ee5bc5973 Mon Sep 17 00:00:00 2001 From: Julien Duponchelle Date: Mon, 6 Feb 2017 10:49:09 +0100 Subject: [PATCH] Fix the server don't start if a remote is unavailable --- gns3server/controller/__init__.py | 2 -- gns3server/controller/compute.py | 8 ++++---- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/gns3server/controller/__init__.py b/gns3server/controller/__init__.py index 295e6762..825e9455 100644 --- a/gns3server/controller/__init__.py +++ b/gns3server/controller/__init__.py @@ -16,7 +16,6 @@ # along with this program. If not, see . import os -import sys import json import socket import asyncio @@ -318,7 +317,6 @@ class Controller: try: return self._computes[compute_id] except KeyError: - server_config = Config.instance().get_section_config("Server") if compute_id == "vm": raise aiohttp.web.HTTPNotFound(text="You try to use a node on the GNS3 VM server but the GNS3 VM is not configured") raise aiohttp.web.HTTPNotFound(text="Compute ID {} doesn't exist".format(compute_id)) diff --git a/gns3server/controller/compute.py b/gns3server/controller/compute.py index 47b780e8..f3373c46 100644 --- a/gns3server/controller/compute.py +++ b/gns3server/controller/compute.py @@ -22,14 +22,12 @@ import socket import json import uuid import sys -import os import io from ..utils import parse_version -from ..utils.images import list_images, md5sum +from ..utils.images import list_images from ..utils.asyncio import locked_coroutine from ..controller.controller_error import ControllerError -from ..config import Config from ..version import __version__ @@ -381,7 +379,9 @@ class Compute: except aiohttp.web.HTTPNotFound: raise aiohttp.web.HTTPConflict(text="The server {} is not a GNS3 server or it's a 1.X server".format(self._id)) except aiohttp.web.HTTPUnauthorized: - raise aiohttp.web.HTTPConflict(text="Invalid auth for server {} ".format(self._id)) + raise aiohttp.web.HTTPConflict(text="Invalid auth for server {}".format(self._id)) + except aiohttp.web.HTTPServiceUnavailable: + raise aiohttp.web.HTTPConflict(text="The server {} is unavailable".format(self._id)) if "version" not in response.json: self._http_session.close()