From c7ea8517a1f1e6a22b4013ccd9e4a7ada40a8be9 Mon Sep 17 00:00:00 2001 From: grossmj Date: Mon, 8 Jun 2015 11:32:00 -0600 Subject: [PATCH] Do not stop saving IOS router or IOU configs when there is an exception while a project is committed. --- gns3server/modules/dynamips/__init__.py | 6 +++++- gns3server/modules/iou/__init__.py | 9 ++++++++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/gns3server/modules/dynamips/__init__.py b/gns3server/modules/dynamips/__init__.py index d68bf5f5..86069668 100644 --- a/gns3server/modules/dynamips/__init__.py +++ b/gns3server/modules/dynamips/__init__.py @@ -213,7 +213,11 @@ class Dynamips(BaseManager): # save the configs when the project is committed for vm in self._vms.copy().values(): if vm.project.id == project.id: - yield from vm.save_configs() + try: + yield from vm.save_configs() + except DynamipsError as e: + log.warning(e) + continue @property def dynamips_path(self): diff --git a/gns3server/modules/iou/__init__.py b/gns3server/modules/iou/__init__.py index 97bf678a..92ffb526 100644 --- a/gns3server/modules/iou/__init__.py +++ b/gns3server/modules/iou/__init__.py @@ -26,6 +26,9 @@ from ..base_manager import BaseManager from .iou_error import IOUError from .iou_vm import IOUVM +import logging +log = logging.getLogger(__name__) + class IOU(BaseManager): @@ -79,7 +82,11 @@ class IOU(BaseManager): # save the configs when the project is committed for vm in self._vms.copy().values(): if vm.project.id == project.id: - vm.save_configs() + try: + vm.save_configs() + except IOUError as e: + log.warning(e) + continue def get_application_id(self, vm_id): """