From 4e396ac690cf55aadc5a8e91cdc2f652e5248075 Mon Sep 17 00:00:00 2001 From: grossmj Date: Mon, 18 Mar 2019 15:30:59 +0700 Subject: [PATCH] Save the GNS3 VM settings even if the GNS3 VM cannot be stopped. --- gns3server/controller/gns3vm/__init__.py | 8 +++++--- gns3server/controller/gns3vm/hyperv_gns3_vm.py | 2 ++ 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/gns3server/controller/gns3vm/__init__.py b/gns3server/controller/gns3vm/__init__.py index 8b6f7468..885916e1 100644 --- a/gns3server/controller/gns3vm/__init__.py +++ b/gns3server/controller/gns3vm/__init__.py @@ -212,9 +212,11 @@ class GNS3VM: new_settings = copy.copy(self._settings) new_settings.update(settings) if self.settings != new_settings: - await self._stop() - self._settings = settings - self._controller.save() + try: + await self._stop() + finally: + self._settings = settings + self._controller.save() if self.enable: await self.start() else: diff --git a/gns3server/controller/gns3vm/hyperv_gns3_vm.py b/gns3server/controller/gns3vm/hyperv_gns3_vm.py index 0509652f..a072e61d 100644 --- a/gns3server/controller/gns3vm/hyperv_gns3_vm.py +++ b/gns3server/controller/gns3vm/hyperv_gns3_vm.py @@ -239,6 +239,8 @@ class HyperVGNS3VM(BaseGNS3VM): log.info("GNS3 VM has been started") # Get the guest IP address + # LIS (Linux Integration Services) must be installed on the guest + # See https://oitibs.com/hyper-v-lis-on-ubuntu-18-04/ for details. trial = 120 guest_ip_address = "" log.info("Waiting for GNS3 VM IP")