diff --git a/gns3server/compute/docker/docker_vm.py b/gns3server/compute/docker/docker_vm.py index 0bfc46ac..ecc2d197 100644 --- a/gns3server/compute/docker/docker_vm.py +++ b/gns3server/compute/docker/docker_vm.py @@ -531,7 +531,11 @@ class DockerVM(BaseNode): yield from self._clean_servers() yield from self._stop_ubridge() - state = yield from self._get_container_state() + try: + state = yield from self._get_container_state() + except DockerHttp404Error: + state = "stopped" + if state == "paused": yield from self.unpause() @@ -576,6 +580,9 @@ class DockerVM(BaseNode): @asyncio.coroutine def reset(self): try: + state = yield from self._get_container_state() + if state == "paused" or state == "running": + yield from self.stop() if self.console_type == "vnc": if self._x11vnc_process: try: @@ -588,9 +595,6 @@ class DockerVM(BaseNode): yield from self._xvfb_process.wait() except ProcessLookupError: pass - state = yield from self._get_container_state() - if state == "paused" or state == "running": - yield from self.stop() # v – 1/True/true or 0/False/false, Remove the volumes associated to the container. Default false. # force - 1/True/true or 0/False/false, Kill then remove the container. Default false. yield from self.manager.query("DELETE", "containers/{}".format(self._cid), params={"force": 1, "v": 1}) @@ -655,7 +659,6 @@ class DockerVM(BaseNode): if nio.capturing: yield from self._ubridge_send('bridge start_capture bridge{adapter} "{pcap_file}"'.format(adapter=adapter_number, pcap_file=nio.pcap_output_file)) - yield from self._ubridge_send('bridge start bridge{adapter}'.format(adapter=adapter_number)) def _delete_ubridge_connection(self, adapter_number): diff --git a/gns3server/symbols/.gitkeep b/gns3server/symbols/.gitkeep new file mode 100644 index 00000000..e69de29b