mirror of
https://github.com/GNS3/gns3-server.git
synced 2026-11-03 14:01:15 +02:00
Controller side unique node name allocation. Ref #541.
This commit is contained in:
1 parent
6cd136b423
commit
2bde02d459
11 files changed
+128
-47
No files matched your search
@@ -41,8 +41,8 @@ def compute():
|
||||
|
||||
@pytest.fixture
|
||||
def link(async_run, project, compute):
|
||||
node1 = Node(project, compute)
|
||||
node2 = Node(project, compute)
|
||||
node1 = Node(project, compute, "node1")
|
||||
node2 = Node(project, compute, "node2")
|
||||
|
||||
link = Link(project)
|
||||
async_run(link.add_node(node1, 0, 4))
|
||||
@@ -51,7 +51,7 @@ def link(async_run, project, compute):
|
||||
|
||||
|
||||
def test_addNode(async_run, project, compute):
|
||||
node1 = Node(project, compute)
|
||||
node1 = Node(project, compute, "node1")
|
||||
|
||||
link = Link(project)
|
||||
async_run(link.add_node(node1, 0, 4))
|
||||
@@ -65,8 +65,8 @@ def test_addNode(async_run, project, compute):
|
||||
|
||||
|
||||
def test_json(async_run, project, compute):
|
||||
node1 = Node(project, compute)
|
||||
node2 = Node(project, compute)
|
||||
node1 = Node(project, compute, "node1")
|
||||
node2 = Node(project, compute, "node2")
|
||||
|
||||
link = Link(project)
|
||||
async_run(link.add_node(node1, 0, 4))
|
||||
@@ -110,8 +110,8 @@ def test_start_streaming_pcap(link, async_run, tmpdir, project):
|
||||
|
||||
|
||||
def test_default_capture_file_name(project, compute, async_run):
|
||||
node1 = Node(project, compute, name="Hello@")
|
||||
node2 = Node(project, compute, name="w0.rld")
|
||||
node1 = Node(project, compute, "Hello@")
|
||||
node2 = Node(project, compute, "w0.rld")
|
||||
|
||||
link = Link(project)
|
||||
async_run(link.add_node(node1, 0, 4))
|
||||
|
||||
@@ -38,8 +38,7 @@ def compute():
|
||||
@pytest.fixture
|
||||
def node(compute, controller):
|
||||
project = Project(str(uuid.uuid4()), controller=controller)
|
||||
node = Node(project, compute,
|
||||
name="demo",
|
||||
node = Node(project, compute, "demo",
|
||||
node_id=str(uuid.uuid4()),
|
||||
node_type="vpcs",
|
||||
console_type="vnc",
|
||||
@@ -70,7 +69,7 @@ def test_json(node, compute):
|
||||
|
||||
|
||||
def test_init_without_uuid(project, compute):
|
||||
node = Node(project, compute,
|
||||
node = Node(project, compute, "demo",
|
||||
node_type="vpcs",
|
||||
console_type="vnc")
|
||||
assert node.id is not None
|
||||
@@ -258,8 +257,7 @@ def test_dynamips_idlepc_proposals(node, async_run, compute):
|
||||
|
||||
def test_upload_missing_image(compute, controller, async_run, images_dir):
|
||||
project = Project(str(uuid.uuid4()), controller=controller)
|
||||
node = Node(project, compute,
|
||||
name="demo",
|
||||
node = Node(project, compute, "demo",
|
||||
node_id=str(uuid.uuid4()),
|
||||
node_type="qemu",
|
||||
properties={"hda_disk_image": "linux.img"})
|
||||
|
||||
@@ -35,7 +35,7 @@ def node(project, async_run):
|
||||
response.json = {"console": 2048}
|
||||
compute.post = AsyncioMagicMock(return_value=response)
|
||||
|
||||
return async_run(project.add_node(compute, None, name="test", node_type="vpcs", properties={"startup_config": "test.cfg"}))
|
||||
return async_run(project.add_node(compute, "test", None, node_type="vpcs", properties={"startup_config": "test.cfg"}))
|
||||
|
||||
|
||||
def test_emit_to_all(async_run, controller, project):
|
||||
|
||||
@@ -94,7 +94,7 @@ def test_add_node_local(async_run, controller):
|
||||
response.json = {"console": 2048}
|
||||
compute.post = AsyncioMagicMock(return_value=response)
|
||||
|
||||
node = async_run(project.add_node(compute, None, name="test", node_type="vpcs", properties={"startup_config": "test.cfg"}))
|
||||
node = async_run(project.add_node(compute, "test", None, node_type="vpcs", properties={"startup_config": "test.cfg"}))
|
||||
assert node.id in project._nodes
|
||||
|
||||
compute.post.assert_any_call('/projects', data={
|
||||
@@ -123,7 +123,7 @@ def test_add_node_non_local(async_run, controller):
|
||||
response.json = {"console": 2048}
|
||||
compute.post = AsyncioMagicMock(return_value=response)
|
||||
|
||||
node = async_run(project.add_node(compute, None, name="test", node_type="vpcs", properties={"startup_config": "test.cfg"}))
|
||||
node = async_run(project.add_node(compute, "test", None, node_type="vpcs", properties={"startup_config": "test.cfg"}))
|
||||
|
||||
compute.post.assert_any_call('/projects', data={
|
||||
"name": project._name,
|
||||
@@ -149,7 +149,7 @@ def test_delete_node(async_run, controller):
|
||||
response.json = {"console": 2048}
|
||||
compute.post = AsyncioMagicMock(return_value=response)
|
||||
|
||||
node = async_run(project.add_node(compute, None, name="test", node_type="vpcs", properties={"startup_config": "test.cfg"}))
|
||||
node = async_run(project.add_node(compute, "test", None, node_type="vpcs", properties={"startup_config": "test.cfg"}))
|
||||
assert node.id in project._nodes
|
||||
async_run(project.delete_node(node.id))
|
||||
assert node.id not in project._nodes
|
||||
@@ -166,7 +166,7 @@ def test_getVM(async_run, controller):
|
||||
response.json = {"console": 2048}
|
||||
compute.post = AsyncioMagicMock(return_value=response)
|
||||
|
||||
vm = async_run(project.add_node(compute, None, name="test", node_type="vpcs", properties={"startup_config": "test.cfg"}))
|
||||
vm = async_run(project.add_node(compute, "test", None, node_type="vpcs", properties={"startup_config": "test.cfg"}))
|
||||
assert project.get_node(vm.id) == vm
|
||||
|
||||
with pytest.raises(aiohttp.web_exceptions.HTTPNotFound):
|
||||
@@ -180,8 +180,8 @@ def test_addLink(async_run, project, controller):
|
||||
response.json = {"console": 2048}
|
||||
compute.post = AsyncioMagicMock(return_value=response)
|
||||
|
||||
vm1 = async_run(project.add_node(compute, None, name="test1", node_type="vpcs", properties={"startup_config": "test.cfg"}))
|
||||
vm2 = async_run(project.add_node(compute, None, name="test2", node_type="vpcs", properties={"startup_config": "test.cfg"}))
|
||||
vm1 = async_run(project.add_node(compute, "test1", None, node_type="vpcs", properties={"startup_config": "test.cfg"}))
|
||||
vm2 = async_run(project.add_node(compute, "test2", None, node_type="vpcs", properties={"startup_config": "test.cfg"}))
|
||||
controller._notification = MagicMock()
|
||||
link = async_run(project.add_link())
|
||||
async_run(link.add_node(vm1, 3, 1))
|
||||
|
||||
@@ -35,8 +35,8 @@ def test_create(async_run, project):
|
||||
compute1 = MagicMock()
|
||||
compute2 = MagicMock()
|
||||
|
||||
node1 = Node(project, compute1, node_type="vpcs")
|
||||
node2 = Node(project, compute2, node_type="vpcs")
|
||||
node1 = Node(project, compute1, "node1", node_type="vpcs")
|
||||
node2 = Node(project, compute2, "node2", node_type="vpcs")
|
||||
|
||||
link = UDPLink(project)
|
||||
async_run(link.add_node(node1, 0, 4))
|
||||
@@ -86,8 +86,8 @@ def test_delete(async_run, project):
|
||||
compute1 = MagicMock()
|
||||
compute2 = MagicMock()
|
||||
|
||||
node1 = Node(project, compute1, node_type="vpcs")
|
||||
node2 = Node(project, compute2, node_type="vpcs")
|
||||
node1 = Node(project, compute1, "node1", node_type="vpcs")
|
||||
node2 = Node(project, compute2, "node2", node_type="vpcs")
|
||||
|
||||
link = UDPLink(project)
|
||||
async_run(link.add_node(node1, 0, 4))
|
||||
@@ -107,8 +107,8 @@ def test_choose_capture_side(async_run, project):
|
||||
compute2 = MagicMock()
|
||||
compute2.id = "local"
|
||||
|
||||
node_vpcs = Node(project, compute1, node_type="vpcs")
|
||||
node_iou = Node(project, compute2, node_type="iou")
|
||||
node_vpcs = Node(project, compute1, "node1", node_type="vpcs")
|
||||
node_iou = Node(project, compute2, "node2", node_type="iou")
|
||||
|
||||
link = UDPLink(project)
|
||||
async_run(link.add_node(node_vpcs, 0, 4))
|
||||
@@ -116,8 +116,8 @@ def test_choose_capture_side(async_run, project):
|
||||
|
||||
assert link._choose_capture_side()["node"] == node_iou
|
||||
|
||||
node_vpcs = Node(project, compute1, node_type="vpcs")
|
||||
node_vpcs2 = Node(project, compute1, node_type="vpcs")
|
||||
node_vpcs = Node(project, compute1, "node1", node_type="vpcs")
|
||||
node_vpcs2 = Node(project, compute1, "node2", node_type="vpcs")
|
||||
|
||||
link = UDPLink(project)
|
||||
async_run(link.add_node(node_vpcs, 0, 4))
|
||||
@@ -128,8 +128,8 @@ def test_choose_capture_side(async_run, project):
|
||||
link._choose_capture_side()["node"]
|
||||
|
||||
# Capture should run on the local node
|
||||
node_iou = Node(project, compute1, node_type="iou")
|
||||
node_iou2 = Node(project, compute2, node_type="iou")
|
||||
node_iou = Node(project, compute1, "node1", node_type="iou")
|
||||
node_iou2 = Node(project, compute2, "node2", node_type="iou")
|
||||
|
||||
link = UDPLink(project)
|
||||
async_run(link.add_node(node_iou, 0, 4))
|
||||
@@ -141,8 +141,8 @@ def test_choose_capture_side(async_run, project):
|
||||
def test_capture(async_run, project):
|
||||
compute1 = MagicMock()
|
||||
|
||||
node_vpcs = Node(project, compute1, node_type="vpcs", name="V1")
|
||||
node_iou = Node(project, compute1, node_type="iou", name="I1")
|
||||
node_vpcs = Node(project, compute1, "V1", node_type="vpcs")
|
||||
node_iou = Node(project, compute1, "I1", node_type="iou")
|
||||
|
||||
link = UDPLink(project)
|
||||
async_run(link.add_node(node_vpcs, 0, 4))
|
||||
|
||||
@@ -53,8 +53,8 @@ def test_create_link(http_controller, tmpdir, project, compute, async_run):
|
||||
response.json = {"console": 2048}
|
||||
compute.post = AsyncioMagicMock(return_value=response)
|
||||
|
||||
node1 = async_run(project.add_node(compute, None))
|
||||
node2 = async_run(project.add_node(compute, None))
|
||||
node1 = async_run(project.add_node(compute, "node1", None))
|
||||
node2 = async_run(project.add_node(compute, "node2", None))
|
||||
|
||||
with asyncio_patch("gns3server.controller.udp_link.UDPLink.create") as mock:
|
||||
response = http_controller.post("/projects/{}/links".format(project.id), {
|
||||
@@ -82,8 +82,8 @@ def test_list_link(http_controller, tmpdir, project, compute, async_run):
|
||||
response.json = {"console": 2048}
|
||||
compute.post = AsyncioMagicMock(return_value=response)
|
||||
|
||||
node1 = async_run(project.add_node(compute, None))
|
||||
node2 = async_run(project.add_node(compute, None))
|
||||
node1 = async_run(project.add_node(compute, "node1", None))
|
||||
node2 = async_run(project.add_node(compute, "node2", None))
|
||||
|
||||
with asyncio_patch("gns3server.controller.udp_link.UDPLink.create") as mock:
|
||||
response = http_controller.post("/projects/{}/links".format(project.id), {
|
||||
|
||||
@@ -50,7 +50,7 @@ def project(http_controller, async_run):
|
||||
|
||||
@pytest.fixture
|
||||
def node(project, compute, async_run):
|
||||
node = Node(project, compute, name="test", node_type="vpcs")
|
||||
node = Node(project, compute, "test", node_type="vpcs")
|
||||
project._nodes[node.id] = node
|
||||
return node
|
||||
|
||||
|
||||
Reference in new issue
Block a user