Prevent router to be duplicated when running and add tests

This commit is contained in:
grossmj committed 2026-03-17 12:49:38 +08:00
1 parent 95bd76a212
commit 0aa6566e50
4 files changed
+11 -2

No files matched your search

-1
View File
@@ -35,7 +35,6 @@ from gns3server.utils.interfaces import is_interface_up
from uuid import UUID, uuid4
from typing import Type
from ..config import Config
from ..utils.asyncio import wait_run_in_executor
from ..utils import force_unix_path
from .project_manager import ProjectManager
from .port_manager import PortManager
+4 -1
View File
@@ -32,7 +32,7 @@ import re
log = logging.getLogger(__name__)
from gns3server.utils.interfaces import interfaces, is_interface_up
from gns3server.utils.interfaces import is_interface_up
from gns3server.utils.asyncio import wait_run_in_executor, subprocess_check_output
from gns3server.utils import parse_version
from uuid import uuid4
@@ -644,6 +644,9 @@ class Dynamips(BaseManager):
if not hasattr(source_node, "startup_config_path"):
return await super().duplicate_node(source_node_id, destination_node_id)
if hasattr(source_node, "status") and source_node.status != "stopped":
raise DynamipsError("Cannot duplicate router data while the route is running")
try:
with open(source_node.startup_config_path) as f:
startup_config = f.read()