From: Claudio-Daniel Freire Date: Tue, 19 Jul 2011 12:09:47 +0000 (+0200) Subject: Ticket #58: remove the emulation flag, instead, pick correctly configured nodes only X-Git-Tag: nepi-3.0.0~364 X-Git-Url: http://git.onelab.eu/?a=commitdiff_plain;h=77989fabbd3186885cbd47c6cde9eb7493227f27;p=nepi.git Ticket #58: remove the emulation flag, instead, pick correctly configured nodes only --- diff --git a/src/nepi/testbeds/planetlab/execute.py b/src/nepi/testbeds/planetlab/execute.py index 02514baa..1420601e 100644 --- a/src/nepi/testbeds/planetlab/execute.py +++ b/src/nepi/testbeds/planetlab/execute.py @@ -509,15 +509,7 @@ class TestbedController(testbed_impl.TestbedController): return app def _make_node(self, parameters): - node = self._make_generic(parameters, self._node.Node) - - # If emulation is enabled, we automatically need - # some vsys interfaces and packages - if node.emulation: - node.required_vsys.add('ipfw-be') - node.required_packages.add('ipfwslice') - - return node + return self._make_generic(parameters, self._node.Node) def _make_node_iface(self, parameters): return self._make_generic(parameters, self._interfaces.NodeIface) diff --git a/src/nepi/testbeds/planetlab/metadata.py b/src/nepi/testbeds/planetlab/metadata.py index e20d328b..f2672e8f 100644 --- a/src/nepi/testbeds/planetlab/metadata.py +++ b/src/nepi/testbeds/planetlab/metadata.py @@ -93,10 +93,8 @@ def connect_node_iface_inet(testbed_instance, iface_guid, inet_guid): def connect_tun_iface_node(testbed_instance, node_guid, iface_guid): node = testbed_instance._elements[node_guid] iface = testbed_instance._elements[iface_guid] - if not node.emulation: - raise RuntimeError, "Use of TUN interfaces requires emulation" iface.node = node - node.required_vsys.update(('fd_tuntap', 'vif_up')) + node.required_vsys.update(('fd_tuntap', 'vif_up', 'vif_down')) node.required_packages.update(('python', 'python-crypto', 'python-setuptools', 'gcc')) def connect_tun_iface_peer(proto, testbed_instance, iface_guid, peer_iface_guid): @@ -155,9 +153,9 @@ def connect_dep(testbed_instance, node_guid, app_guid): def connect_node_netpipe(testbed_instance, node_guid, netpipe_guid): node = testbed_instance._elements[node_guid] netpipe = testbed_instance._elements[netpipe_guid] - if not node.emulation: - raise RuntimeError, "Use of NetPipes requires emulation" netpipe.node = node + node.required_vsys.add('ipfw-be') + node.required_packages.add('ipfwslice') ### Creation functions ### @@ -667,14 +665,6 @@ attributes = dict({ "PLJ"], "validation_function": validation.is_enum, }), - "emulation": dict({ - "name": "emulation", - "help": "Enable emulation on this node. Enables NetfilterRoutes, bridges, and a host of other functionality.", - "type": Attribute.BOOL, - "value": False, - "flags": Attribute.ExecReadOnly | Attribute.ExecImmutable, - "validation_function": validation.is_bool, - }), "min_reliability": dict({ "name": "minReliability", "help": "Constrain reliability while picking PlanetLab nodes. Specifies a lower acceptable bound.", @@ -965,7 +955,6 @@ factories_info = dict({ "architecture", "operating_system", "site", - "emulation", "min_reliability", "max_reliability", "min_bandwidth", diff --git a/src/nepi/testbeds/planetlab/node.py b/src/nepi/testbeds/planetlab/node.py index 2557ea9d..99ba2aa5 100644 --- a/src/nepi/testbeds/planetlab/node.py +++ b/src/nepi/testbeds/planetlab/node.py @@ -54,7 +54,6 @@ class Node(object): self.operatingSystem = None self.pl_distro = None self.site = None - self.emulation = None self.minReliability = None self.maxReliability = None self.minBandwidth = None diff --git a/test/testbeds/planetlab/design.py b/test/testbeds/planetlab/design.py index ba91696e..7caee348 100755 --- a/test/testbeds/planetlab/design.py +++ b/test/testbeds/planetlab/design.py @@ -64,8 +64,6 @@ class PlanetlabDesignTestCase(unittest.TestCase): def test_design_emulation(self): exp_desc, tstbd_desc, node1, node2, iface1, iface2, app = self.make_test_design() - node1.set_attribute_value("emulation",True) - netpipe1 = tstbd_desc.create("NetPipe") netpipe1.set_attribute_value("mode","CLIENT") netpipe1.set_attribute_value("portList","80,443") diff --git a/test/testbeds/planetlab/execute.py b/test/testbeds/planetlab/execute.py index dcbb27e3..758cb04c 100755 --- a/test/testbeds/planetlab/execute.py +++ b/test/testbeds/planetlab/execute.py @@ -210,7 +210,6 @@ FIONREAD = 0x[0-9a-fA-F]{8}.* instance.defer_create(2, "Node") instance.defer_create_set(2, "hostname", self.host1) - instance.defer_create_set(2, "emulation", True) # require emulation instance.defer_create(3, "NodeInterface") instance.defer_connect(2, "devs", 3, "node") instance.defer_create(4, "Internet") @@ -259,7 +258,6 @@ echo 'OKIDOKI' instance.defer_create(2, "Node") instance.defer_create_set(2, "hostname", self.host1) - instance.defer_create_set(2, "emulation", True) # require emulation instance.defer_create(3, "NodeInterface") instance.defer_connect(2, "devs", 3, "node") instance.defer_create(4, "Internet") @@ -311,46 +309,14 @@ echo 'OKIDOKI' self.assertTrue(netpipe_stats, "Unavailable netpipe stats") - @test_util.skipUnless(test_util.pl_auth() is not None, "Test requires PlanetLab authentication info (PL_USER and PL_PASS environment variables)") - def test_tun_emulation_requirement(self): - instance = self.make_instance() - - instance.defer_create(2, "Node") - instance.defer_create_set(2, "hostname", self.host1) - instance.defer_create(3, "NodeInterface") - instance.defer_connect(2, "devs", 3, "node") - instance.defer_create(4, "Internet") - instance.defer_connect(3, "inet", 4, "devs") - instance.defer_create(5, "TunInterface") - instance.defer_add_address(5, "192.168.2.2", 24, False) - instance.defer_connect(2, "devs", 5, "node") - instance.defer_create(6, "Application") - instance.defer_create_set(6, "command", "false") - instance.defer_add_trace(6, "stdout") - instance.defer_add_trace(6, "stderr") - instance.defer_connect(6, "node", 2, "apps") - - try: - instance.do_setup() - instance.do_create() - instance.do_connect_init() - instance.do_connect_compl() - instance.do_preconfigure() - instance.do_configure() - self.fail("Usage of TUN without emulation should fail") - except Exception,e: - pass - @test_util.skipUnless(test_util.pl_auth() is not None, "Test requires PlanetLab authentication info (PL_USER and PL_PASS environment variables)") def _pingtest(self, TunClass, ConnectionProto): instance = self.make_instance() instance.defer_create(2, "Node") instance.defer_create_set(2, "hostname", self.host1) - instance.defer_create_set(2, "emulation", True) # require emulation instance.defer_create(3, "Node") instance.defer_create_set(3, "hostname", self.host2) - instance.defer_create_set(3, "emulation", True) # require emulation instance.defer_create(4, "NodeInterface") instance.defer_connect(2, "devs", 4, "node") instance.defer_create(5, "Internet") diff --git a/test/testbeds/planetlab/integration_cross.py b/test/testbeds/planetlab/integration_cross.py index c152bad9..77850ccf 100755 --- a/test/testbeds/planetlab/integration_cross.py +++ b/test/testbeds/planetlab/integration_cross.py @@ -26,8 +26,8 @@ class PlanetLabMultiIntegrationTestCase(unittest.TestCase): host1pl1 = "nepi1.pl.sophia.inria.fr" host2pl1 = "nepi2.pl.sophia.inria.fr" - host1pl2 = "onelab11.pl.sophia.inria.fr" - host2pl2 = "onelab10.pl.sophia.inria.fr" + host1pl2 = "planetlab1.utt.fr" + host2pl2 = "planetlab2.utt.fr" def setUp(self): self.root_dir = tempfile.mkdtemp() @@ -78,7 +78,6 @@ class PlanetLabMultiIntegrationTestCase(unittest.TestCase): node1 = pl.create("Node") node1.set_attribute_value("hostname", hostname) node1.set_attribute_value("label", label_prefix) - node1.set_attribute_value("emulation", True) # require emulation iface1 = pl.create("NodeInterface") iface1.set_attribute_value("label", label_prefix+"iface") if tapip: diff --git a/test/testbeds/planetlab/integration_multi.py b/test/testbeds/planetlab/integration_multi.py index 62a36fe5..a501b45b 100755 --- a/test/testbeds/planetlab/integration_multi.py +++ b/test/testbeds/planetlab/integration_multi.py @@ -26,8 +26,8 @@ class PlanetLabMultiIntegrationTestCase(unittest.TestCase): host1pl1 = "nepi1.pl.sophia.inria.fr" host2pl1 = "nepi2.pl.sophia.inria.fr" - host1pl2 = "onelab11.pl.sophia.inria.fr" - host2pl2 = "onelab10.pl.sophia.inria.fr" + host1pl2 = "planetlab1.utt.fr" + host2pl2 = "planetlab2.utt.fr" def setUp(self): self.root_dir = tempfile.mkdtemp() @@ -78,7 +78,6 @@ class PlanetLabMultiIntegrationTestCase(unittest.TestCase): node1 = pl.create("Node") node1.set_attribute_value("hostname", hostname) node1.set_attribute_value("label", label_prefix) - node1.set_attribute_value("emulation", True) # require emulation iface1 = pl.create("NodeInterface") iface1.set_attribute_value("label", label_prefix+"iface") tap1 = pl.create("TapInterface") diff --git a/test/testbeds/planetlab/integration_ns3.py b/test/testbeds/planetlab/integration_ns3.py index 57c8fb2e..459c7738 100755 --- a/test/testbeds/planetlab/integration_ns3.py +++ b/test/testbeds/planetlab/integration_ns3.py @@ -64,7 +64,6 @@ class PlanetLabCrossIntegrationTestCase(unittest.TestCase): node1 = pl.create("Node") node1.set_attribute_value("hostname", hostname or self.host1) node1.set_attribute_value("label", label) - node1.set_attribute_value("emulation", True) # require emulation iface1 = pl.create("NodeInterface") iface1.set_attribute_value("label", label+"iface") tap1 = []