diff --git a/gns3server/modules/dynamips/__init__.py b/gns3server/modules/dynamips/__init__.py index f27fd896..ddc18dbe 100644 --- a/gns3server/modules/dynamips/__init__.py +++ b/gns3server/modules/dynamips/__init__.py @@ -419,7 +419,7 @@ class Dynamips(IModule): ghost.ram = router.ram ghost.start() ghost.stop() - ghost.delete() + ghost.clean_delete() if router.ghost_file != ghost_instance: # set the ghost file to the router diff --git a/gns3server/modules/dynamips/backends/vm.py b/gns3server/modules/dynamips/backends/vm.py index 14930f2b..9059fd20 100644 --- a/gns3server/modules/dynamips/backends/vm.py +++ b/gns3server/modules/dynamips/backends/vm.py @@ -226,7 +226,7 @@ class VM(object): return try: - router.delete() + router.clean_delete() self._hypervisor_manager.unallocate_hypervisor_for_router(router) del self._routers[router_id] except DynamipsError as e: diff --git a/gns3server/modules/dynamips/nodes/router.py b/gns3server/modules/dynamips/nodes/router.py index a64286e5..a2328294 100644 --- a/gns3server/modules/dynamips/nodes/router.py +++ b/gns3server/modules/dynamips/nodes/router.py @@ -280,7 +280,7 @@ class Router(object): Deletes this router. """ - self._hypervisor.send("vm clean_delete {}".format(self._name)) + self._hypervisor.send("vm delete {}".format(self._name)) self._hypervisor.devices.remove(self) log.info("router {name} [id={id}] has been deleted".format(name=self._name, id=self._id)) @@ -290,6 +290,21 @@ class Router(object): if self.aux: self._allocated_aux_ports.remove(self.aux) + def clean_delete(self): + """ + Deletes this router & associated files (nvram, disks etc.) + """ + + self._hypervisor.send("vm clean_delete {}".format(self._name)) + self._hypervisor.devices.remove(self) + + log.info("router {name} [id={id}] has been deleted (including associated files)".format(name=self._name, id=self._id)) + self._allocated_names.remove(self.name) + if self.console: + self._allocated_console_ports.remove(self.console) + if self.aux: + self._allocated_aux_ports.remove(self.aux) + def start(self): """ Starts this router. diff --git a/gns3server/modules/iou/schemas.py b/gns3server/modules/iou/schemas.py index 62ac0ec4..62b35747 100644 --- a/gns3server/modules/iou/schemas.py +++ b/gns3server/modules/iou/schemas.py @@ -313,13 +313,6 @@ IOU_ADD_NIO_SCHEMA = { "minimum": 0, "maximum": 3 }, - - "slot": { - "description": "Slot number", - "type": "integer", - "minimum": 0, - "maximum": 15 - }, "nio": { "type": "object", "description": "Network Input/Output", diff --git a/gns3server/version.py b/gns3server/version.py index 3d651704..dca48fbb 100644 --- a/gns3server/version.py +++ b/gns3server/version.py @@ -23,5 +23,5 @@ # or negative for a release candidate or beta (after the base version # number has been incremented) -__version__ = "1.0-alpha3" +__version__ = "1.0a4.dev1" __version_info__ = (1, 0, 0, -99) diff --git a/tests/conftest.py b/tests/conftest.py index 05ac262c..a7ca89ef 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -14,6 +14,6 @@ def server(request): cwd = os.path.dirname(os.path.abspath(__file__)) server_script = os.path.join(cwd, "../gns3server/main.py") process = subprocess.Popen([sys.executable, server_script, "--port=8000"]) - time.sleep(0.1) # give some time for the process to start + time.sleep(1) # give some time for the process to start request.addfinalizer(process.terminate) return process