From 19be2d85b7559259f4aacf16c3d3a89949a6b04c Mon Sep 17 00:00:00 2001 From: Julien Duponchelle Date: Tue, 18 Oct 2016 16:17:49 +0200 Subject: [PATCH] Fix Snapshot restore does not work with IOS routers Fix https://github.com/GNS3/gns3-gui/issues/1583 --- gns3server/compute/dynamips/nodes/router.py | 1 + gns3server/controller/project.py | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/gns3server/compute/dynamips/nodes/router.py b/gns3server/compute/dynamips/nodes/router.py index 7b638018..7b0e4731 100644 --- a/gns3server/compute/dynamips/nodes/router.py +++ b/gns3server/compute/dynamips/nodes/router.py @@ -380,6 +380,7 @@ class Router(BaseNode): except OSError as e: log.warn("Could not delete file {}: {}".format(file, e)) continue + self.manager.release_dynamips_id(self.project.id, self.dynamips_id) @property def platform(self): diff --git a/gns3server/controller/project.py b/gns3server/controller/project.py index f4913d1b..db3b2d79 100644 --- a/gns3server/controller/project.py +++ b/gns3server/controller/project.py @@ -584,10 +584,10 @@ class Project: """ Delete the project on computes but not on controller """ - for compute in self._project_created_on_compute: + for compute in list(self._project_created_on_compute): if compute.id != "local": yield from compute.delete("/projects/{}".format(self._id)) - self._project_created_on_compute = set() + self._project_created_on_compute.remove(compute) @classmethod def _get_default_project_directory(cls):