From 02650fa4909e1e46832650a795c143e8104e7e34 Mon Sep 17 00:00:00 2001 From: Julien Duponchelle Date: Fri, 5 Jun 2015 16:23:52 +0200 Subject: [PATCH] Create a private config file if expected Fix #217 --- gns3server/modules/dynamips/nodes/router.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/gns3server/modules/dynamips/nodes/router.py b/gns3server/modules/dynamips/nodes/router.py index c23f10f5..784e9451 100644 --- a/gns3server/modules/dynamips/nodes/router.py +++ b/gns3server/modules/dynamips/nodes/router.py @@ -1498,7 +1498,10 @@ class Router(BaseVM): if self.startup_config or self.private_config: module_workdir = self.project.module_working_directory(self.manager.module_name.lower()) startup_config_base64, private_config_base64 = yield from self.extract_config() - if self.startup_config and startup_config_base64: + if startup_config_base64: + if not self.startup_config: + self._startup_config = os.path.join("configs", "i{}_startup-config.cfg".format(self._dynamips_id)) + try: config = base64.b64decode(startup_config_base64).decode("utf-8", errors="replace") config = "!\n" + config.replace("\r", "") @@ -1509,7 +1512,10 @@ class Router(BaseVM): except (binascii.Error, OSError) as e: raise DynamipsError("Could not save the startup configuration {}: {}".format(config_path, e)) - if self.private_config and private_config_base64: + if private_config_base64: + if not self.private_config: + self._private_config = os.path.join("configs", "i{}_private-config.cfg".format(self._dynamips_id)) + try: config = base64.b64decode(private_config_base64).decode("utf-8", errors="replace") config = "!\n" + config.replace("\r", "")