1
0
mirror of https://github.com/GNS3/gns3-server synced 2024-11-13 20:08:55 +00:00

Allow for (a lot) more docker container ports. Fixes #593.

This commit is contained in:
grossmj 2016-06-26 21:50:08 -06:00
parent 7422d06c1d
commit 379c216109
2 changed files with 11 additions and 11 deletions

View File

@ -622,11 +622,11 @@ class DockerVM(BaseVM):
raise DockerError(
"Adapter {adapter_number} doesn't exist on Docker container '{name}'".format(name=self.name, adapter_number=adapter_number))
for index in range(128):
if "veth-gns3-ext{}".format(index) not in psutil.net_if_addrs():
for index in range(4096):
if "gns3-ext{}".format(index) not in psutil.net_if_addrs():
adapter.ifc = "eth{}".format(str(index))
adapter.host_ifc = "veth-gns3-ext{}".format(str(index))
adapter.guest_ifc = "veth-gns3-int{}".format(str(index))
adapter.host_ifc = "gns3-ext{}".format(str(index))
adapter.guest_ifc = "gns3-int{}".format(str(index))
break
if not hasattr(adapter, "ifc"):
raise DockerError(

View File

@ -692,10 +692,10 @@ def test_add_ubridge_connection(loop, vm):
loop.run_until_complete(asyncio.async(vm._add_ubridge_connection(nio, 0, 42)))
calls = [
call.send("docker create_veth veth-gns3-ext0 veth-gns3-int0"),
call.send('docker move_to_ns veth-gns3-int0 42 eth0'),
call.send("docker create_veth gns3-ext0 gns3-int0"),
call.send('docker move_to_ns gns3-int0 42 eth0'),
call.send('bridge create bridge0'),
call.send('bridge add_nio_linux_raw bridge0 veth-gns3-ext0'),
call.send('bridge add_nio_linux_raw bridge0 gns3-ext0'),
call.send('bridge add_nio_udp bridge0 4242 127.0.0.1 4343'),
call.send('bridge start_capture bridge0 "/tmp/capture.pcap"'),
call.send('bridge start bridge0')
@ -712,8 +712,8 @@ def test_add_ubridge_connection_none_nio(loop, vm):
loop.run_until_complete(asyncio.async(vm._add_ubridge_connection(nio, 0, 42)))
calls = [
call.send("docker create_veth veth-gns3-ext0 veth-gns3-int0"),
call.send('docker move_to_ns veth-gns3-int0 42 eth0'),
call.send("docker create_veth gns3-ext0 gns3-int0"),
call.send('docker move_to_ns gns3-int0 42 eth0'),
]
# We need to check any_order ortherwise mock is confused by asyncio
vm._ubridge_hypervisor.assert_has_calls(calls, any_order=True)
@ -740,7 +740,7 @@ def test_add_ubridge_connection_no_free_interface(loop, vm):
with pytest.raises(DockerError):
# We create fake ethernet interfaces for docker
interfaces = ["veth-gns3-ext{}".format(index) for index in range(128)]
interfaces = ["gns3-ext{}".format(index) for index in range(128)]
with patch("psutil.net_if_addrs", return_value=interfaces):
loop.run_until_complete(asyncio.async(vm._add_ubridge_connection(nio, 0, 42)))
@ -760,7 +760,7 @@ def test_delete_ubridge_connection(loop, vm):
calls = [
call.send("bridge delete bridge0"),
call.send('docker delete_veth veth-gns3-ext0')
call.send('docker delete_veth gns3-ext0')
]
vm._ubridge_hypervisor.assert_has_calls(calls, any_order=True)