From 2ef45781adc66dbf03734cc62f933be84917c640 Mon Sep 17 00:00:00 2001 From: Jeremy Date: Sun, 11 Jan 2015 18:24:13 -0700 Subject: [PATCH] Checks connection failure to Qemu monitor. --- gns3server/modules/qemu/qemu_vm.py | 6 +++++- gns3server/modules/virtualbox/virtualbox_vm.py | 12 +++++------- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/gns3server/modules/qemu/qemu_vm.py b/gns3server/modules/qemu/qemu_vm.py index 08cf415b2..5ae6fad77 100644 --- a/gns3server/modules/qemu/qemu_vm.py +++ b/gns3server/modules/qemu/qemu_vm.py @@ -911,7 +911,11 @@ class QemuVM(object): result = None if self.is_running() and self._monitor: log.debug("Execute QEMU monitor command: {}".format(command)) - tn = telnetlib.Telnet(self._monitor_host, self._monitor, timeout=timeout) + try: + tn = telnetlib.Telnet(self._monitor_host, self._monitor, timeout=timeout) + except OSError as e: + log.warn("Could not connect to QEMU monitor: {}".format(e)) + return result try: tn.write(command.encode('ascii') + b"\n") time.sleep(0.1) diff --git a/gns3server/modules/virtualbox/virtualbox_vm.py b/gns3server/modules/virtualbox/virtualbox_vm.py index 13aca08e8..e50ab9cbc 100644 --- a/gns3server/modules/virtualbox/virtualbox_vm.py +++ b/gns3server/modules/virtualbox/virtualbox_vm.py @@ -778,16 +778,14 @@ class VirtualBoxVM(object): "--register"] result = self._execute("clonevm", args) - - args = [self._name, - "take", - "reset"] - - result = self._execute("snapshot", args) + log.debug("cloned VirtualBox VM: {}".format(result)) self._vmname = self._name self._execute("setextradata", [self._vmname, "GNS3/Clone", "yes"]) - log.debug("cloned VirtualBox VM: {}".format(result)) + + args = [self._name, "take", "reset"] + result = self._execute("snapshot", args) + log.debug("snapshot reset created: {}".format(result)) def _start_remote_console(self): """