From 379c2161095adc566f96cd183c50a887e4d93a65 Mon Sep 17 00:00:00 2001 From: grossmj Date: Sun, 26 Jun 2016 21:50:08 -0600 Subject: [PATCH] Allow for (a lot) more docker container ports. Fixes #593. --- gns3server/modules/docker/docker_vm.py | 8 ++++---- tests/modules/docker/test_docker_vm.py | 14 +++++++------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/gns3server/modules/docker/docker_vm.py b/gns3server/modules/docker/docker_vm.py index 3c4d1349..3378ec78 100644 --- a/gns3server/modules/docker/docker_vm.py +++ b/gns3server/modules/docker/docker_vm.py @@ -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( diff --git a/tests/modules/docker/test_docker_vm.py b/tests/modules/docker/test_docker_vm.py index e3217413..728b0068 100644 --- a/tests/modules/docker/test_docker_vm.py +++ b/tests/modules/docker/test_docker_vm.py @@ -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)