From 617868402f3ba3881a93b3d3c81d66312ab8b319 Mon Sep 17 00:00:00 2001 From: Julien Duponchelle Date: Tue, 27 Jun 2017 18:44:31 +0200 Subject: [PATCH] Fix the initial startup for VPCS is not used The default VPCS template didn't provide the base startup config setting. This prevent the replacement of the hostname in the configuration file. Fix https://github.com/GNS3/gns3-gui/issues/2123 --- gns3server/controller/__init__.py | 2 +- tests/controller/test_controller.py | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/gns3server/controller/__init__.py b/gns3server/controller/__init__.py index 69399a8a..1934b2ff 100644 --- a/gns3server/controller/__init__.py +++ b/gns3server/controller/__init__.py @@ -116,7 +116,7 @@ class Controller: builtins = [] builtins.append(Appliance(uuid.uuid3(uuid.NAMESPACE_DNS, "cloud"), {"node_type": "cloud", "name": "Cloud", "category": 2, "symbol": ":/symbols/cloud.svg"}, builtin=True)) builtins.append(Appliance(uuid.uuid3(uuid.NAMESPACE_DNS, "nat"), {"node_type": "nat", "name": "NAT", "category": 2, "symbol": ":/symbols/cloud.svg"}, builtin=True)) - builtins.append(Appliance(uuid.uuid3(uuid.NAMESPACE_DNS, "vpcs"), {"node_type": "vpcs", "name": "VPCS", "category": 2, "symbol": ":/symbols/vpcs_guest.svg"}, builtin=True)) + builtins.append(Appliance(uuid.uuid3(uuid.NAMESPACE_DNS, "vpcs"), {"node_type": "vpcs", "name": "VPCS", "category": 2, "symbol": ":/symbols/vpcs_guest.svg", "properties": {"base_script_file": "vpcs_base_config.txt"}}, builtin=True)) builtins.append(Appliance(uuid.uuid3(uuid.NAMESPACE_DNS, "ethernet_switch"), {"node_type": "ethernet_switch", "name": "Ethernet switch", "category": 1, "symbol": ":/symbols/ethernet_switch.svg"}, builtin=True)) builtins.append(Appliance(uuid.uuid3(uuid.NAMESPACE_DNS, "ethernet_hub"), {"node_type": "ethernet_hub", "name": "Ethernet hub", "category": 1, "symbol": ":/symbols/hub.svg"}, builtin=True)) builtins.append(Appliance(uuid.uuid3(uuid.NAMESPACE_DNS, "frame_relay_switch"), {"node_type": "frame_relay_switch", "name": "Frame Relay switch", "category": 1, "symbol": ":/symbols/frame_relay_switch.svg"}, builtin=True)) diff --git a/tests/controller/test_controller.py b/tests/controller/test_controller.py index 9eed972b..fcae102f 100644 --- a/tests/controller/test_controller.py +++ b/tests/controller/test_controller.py @@ -483,6 +483,7 @@ def test_load_base_files(controller, config, tmpdir): def test_appliance_templates(controller, async_run): controller.load_appliances() assert len(controller.appliance_templates) > 0 + assert "Alpine Linux" in [c.__json__()["name"] for c in controller.appliance_templates.values()] def test_load_appliances(controller): @@ -498,6 +499,11 @@ def test_load_appliances(controller): controller.load_appliances() assert "Test" in [appliance.name for appliance in controller.appliances.values()] assert "Cloud" in [appliance.name for appliance in controller.appliances.values()] + assert "VPCS" in [appliance.name for appliance in controller.appliances.values()] + + for appliance in controller.appliances.values(): + if appliance.name == "VPCS": + assert appliance._data["properties"] == {"base_script_file": "vpcs_base_config.txt"} # UUID should not change when you run again the function for appliance in controller.appliances.values():