diff --git a/gns3server/controller/__init__.py b/gns3server/controller/__init__.py index 584ed887..e00cd338 100644 --- a/gns3server/controller/__init__.py +++ b/gns3server/controller/__init__.py @@ -146,9 +146,12 @@ class Controller: "password": c.password, "compute_id": c.id }) - os.makedirs(os.path.dirname(self._config_file), exist_ok=True) - with open(self._config_file, 'w+') as f: - json.dump(data, f, indent=4) + try: + os.makedirs(os.path.dirname(self._config_file), exist_ok=True) + with open(self._config_file, 'w+') as f: + json.dump(data, f, indent=4) + except OSError as e: + log.error("Can't write the configuration {}: {}".format(self._config_file, str(e))) @asyncio.coroutine def _load_controller_settings(self):