diff --git a/gns3server/compute/base_manager.py b/gns3server/compute/base_manager.py index 269c9ab1..dd3d7a6f 100644 --- a/gns3server/compute/base_manager.py +++ b/gns3server/compute/base_manager.py @@ -282,7 +282,7 @@ class BaseManager: # We force a refresh of the name. This force the rewrite # of some configuration files node_name = destination_node.name - destination_node.name = node_name + "tmp" + destination_node.name = node_name + str(uuid4()) destination_node.name = node_name return destination_node diff --git a/gns3server/compute/dynamips/__init__.py b/gns3server/compute/dynamips/__init__.py index 318cc1b4..000a2e53 100644 --- a/gns3server/compute/dynamips/__init__.py +++ b/gns3server/compute/dynamips/__init__.py @@ -614,7 +614,7 @@ class Dynamips(BaseManager): source_node = self.get_node(source_node_id) destination_node = self.get_node(destination_node_id) - # Non router gears + # Not a Dynamips router if not hasattr(source_node, "startup_config_path"): return (yield from super().duplicate_node(source_node_id, destination_node_id)) diff --git a/gns3server/controller/project.py b/gns3server/controller/project.py index 25acfc3a..1523d0b9 100644 --- a/gns3server/controller/project.py +++ b/gns3server/controller/project.py @@ -897,7 +897,7 @@ class Project: :returns: New node """ if node.status != "stopped" and not node.is_always_running(): - raise aiohttp.web.HTTPConflict(text="Can't duplicate node data while is running") + raise aiohttp.web.HTTPConflict(text="Cannot duplicate node data while the node is running") data = copy.deepcopy(node.__json__(topology_dump=True)) # Some properties like internal ID should not be duplicate @@ -927,7 +927,7 @@ class Project: }) except aiohttp.web.HTTPNotFound as e: yield from self.delete_node(new_node_uuid) - raise aiohttp.web.HTTPConflict(text="You can't duplicate this node type") + raise aiohttp.web.HTTPConflict(text="This node type cannot be duplicated") except aiohttp.web.HTTPConflict as e: yield from self.delete_node(new_node_uuid) raise e