From 5842487cd0eeda32a8730a3775851494ac6e9f33 Mon Sep 17 00:00:00 2001 From: grossmj Date: Wed, 10 Feb 2016 11:26:40 -0700 Subject: [PATCH 1/4] Fixes VMware linked clone cleanup bug. Fixes #420. --- gns3server/modules/vmware/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gns3server/modules/vmware/__init__.py b/gns3server/modules/vmware/__init__.py index 6f0212cf..b79cbebf 100644 --- a/gns3server/modules/vmware/__init__.py +++ b/gns3server/modules/vmware/__init__.py @@ -398,7 +398,7 @@ class VMware(BaseManager): break if vmlist_entry is not None: - for name in inventory_pairs.keys(): + for name in inventory_pairs.copy().keys(): if name.startswith(vmlist_entry): del inventory_pairs[name] From 167a0b8435ad0febc16535c4b7861a43366b1f80 Mon Sep 17 00:00:00 2001 From: grossmj Date: Wed, 10 Feb 2016 19:08:34 -0700 Subject: [PATCH 2/4] Add verification when UDP tunnel is created in a VirtualBox VM. Ref #899. --- gns3server/modules/virtualbox/virtualbox_vm.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/gns3server/modules/virtualbox/virtualbox_vm.py b/gns3server/modules/virtualbox/virtualbox_vm.py index 40181b12..526f7e64 100644 --- a/gns3server/modules/virtualbox/virtualbox_vm.py +++ b/gns3server/modules/virtualbox/virtualbox_vm.py @@ -879,6 +879,14 @@ class VirtualBoxVM(BaseVM): yield from self._control_vm("nicproperty{} dest={}".format(adapter_number + 1, nio.rhost)) yield from self._control_vm("nicproperty{} dport={}".format(adapter_number + 1, nio.rport)) yield from self._control_vm("setlinkstate{} on".format(adapter_number + 1)) + + # check if the UDP tunnel has been correctly set + vm_info = yield from self._get_vm_info() + generic_driver_number = "generic{}".format(adapter_number + 1) + if not generic_driver_number in vm_info and vm_info[generic_driver_number] != "UDPTunnel": + log.warning("UDP tunnel has not been set on nic: {}\n{}".format(adapter_number + 1)) + self.project.emit("log.warning", {"message": "UDP tunnel has not been set on nic: {}\n{}".format(adapter_number + 1)}) + elif isinstance(nio, NIONAT): yield from self._control_vm("nic{} nat".format(adapter_number + 1)) yield from self._control_vm("setlinkstate{} on".format(adapter_number + 1)) From 1fb4d191c903f8f99273f985e3b9cc698fec1016 Mon Sep 17 00:00:00 2001 From: Julien Duponchelle Date: Thu, 11 Feb 2016 09:02:38 +0100 Subject: [PATCH 3/4] Fix number of arguments to the UDP errors on VBOX --- gns3server/modules/virtualbox/virtualbox_vm.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gns3server/modules/virtualbox/virtualbox_vm.py b/gns3server/modules/virtualbox/virtualbox_vm.py index 526f7e64..a3748414 100644 --- a/gns3server/modules/virtualbox/virtualbox_vm.py +++ b/gns3server/modules/virtualbox/virtualbox_vm.py @@ -883,9 +883,9 @@ class VirtualBoxVM(BaseVM): # check if the UDP tunnel has been correctly set vm_info = yield from self._get_vm_info() generic_driver_number = "generic{}".format(adapter_number + 1) - if not generic_driver_number in vm_info and vm_info[generic_driver_number] != "UDPTunnel": - log.warning("UDP tunnel has not been set on nic: {}\n{}".format(adapter_number + 1)) - self.project.emit("log.warning", {"message": "UDP tunnel has not been set on nic: {}\n{}".format(adapter_number + 1)}) + if generic_driver_number not in vm_info and vm_info[generic_driver_number] != "UDPTunnel": + log.warning("UDP tunnel has not been set on nic: {}".format(adapter_number + 1)) + self.project.emit("log.warning", {"message": "UDP tunnel has not been set on nic: {}".format(adapter_number + 1)}) elif isinstance(nio, NIONAT): yield from self._control_vm("nic{} nat".format(adapter_number + 1)) From dea68bcb28368aa238c2ac8392066a2cfaa5073d Mon Sep 17 00:00:00 2001 From: Julien Duponchelle Date: Thu, 11 Feb 2016 09:15:48 +0100 Subject: [PATCH 4/4] Fix missing format in IOU export --- gns3server/modules/iou/iou_vm.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gns3server/modules/iou/iou_vm.py b/gns3server/modules/iou/iou_vm.py index 649103a6..babc14d7 100644 --- a/gns3server/modules/iou/iou_vm.py +++ b/gns3server/modules/iou/iou_vm.py @@ -1189,7 +1189,7 @@ class IOUVM(BaseVM): try: startup_config_content, private_config_content = nvram_export(nvram_content) except ValueError as e: - log.warning("Could not export configs from nvram file".format(nvram_file, e)) + log.warning("Could not export configs from nvram file {}: {}".format(nvram_file, e)) return None, None return startup_config_content, private_config_content