From a88d5281ddf098d16eb223c7b95866cfdc186d38 Mon Sep 17 00:00:00 2001 From: Alina Quereilhac Date: Sun, 17 Jul 2011 18:27:04 +0200 Subject: [PATCH] Removed version number from testbed file names. Only 1 version permitted at the time. --- examples/roads09.py | 7 +-- examples/vlc_wireless_netns_ns3.py | 6 +- examples/wimax_ns3.py | 3 +- src/nepi/core/design.py | 9 +-- src/nepi/core/execute.py | 4 +- src/nepi/core/metadata.py | 35 +++++++++--- src/nepi/core/testbed_impl.py | 5 +- src/nepi/testbeds/netns/__init__.py | 2 +- src/nepi/testbeds/netns/constants.py | 1 + src/nepi/testbeds/netns/execute.py | 6 +- .../netns/{metadata_v01.py => metadata.py} | 12 +++- src/nepi/testbeds/ns3/__init__.py | 2 +- ...etadata_v3_9.py => attributes_metadata.py} | 2 +- ...etadata_v3_9.py => connection_metadata.py} | 0 src/nepi/testbeds/ns3/constants.py | 1 + src/nepi/testbeds/ns3/execute.py | 37 +++++++++---- ...metadata_v3_9.py => factories_metadata.py} | 0 src/nepi/testbeds/ns3/metadata.py | 55 +++++++++++++++++++ src/nepi/testbeds/ns3/metadata_v3_9.py | 46 ---------------- ...es_metadata_v3_9.py => traces_metadata.py} | 0 src/nepi/testbeds/planetlab/__init__.py | 2 +- src/nepi/testbeds/planetlab/constants.py | 1 + src/nepi/testbeds/planetlab/execute.py | 6 +- .../{metadata_v01.py => metadata.py} | 12 +++- src/nepi/util/parser/base.py | 5 +- src/nepi/util/proxy.py | 6 +- test/core/design.py | 7 +-- test/core/execute.py | 8 +-- test/core/integration.py | 32 +++++------ test/lib/mock/__init__.py | 2 +- test/lib/mock/constants.py | 2 +- test/lib/mock/execute.py | 6 +- .../lib/mock/{metadata_v01.py => metadata.py} | 12 +++- test/lib/mock2/__init__.py | 2 +- test/lib/mock2/constants.py | 1 + test/lib/mock2/execute.py | 6 +- .../mock2/{metadata_v01.py => metadata.py} | 12 +++- test/testbeds/netns/design.py | 3 +- test/testbeds/netns/execute.py | 12 ++-- test/testbeds/netns/integration.py | 9 +-- test/testbeds/ns3/design.py | 3 +- test/testbeds/ns3/execute.py | 3 +- test/testbeds/ns3/execute2.py | 3 +- test/testbeds/ns3/integration.py | 6 +- test/testbeds/planetlab/design.py | 3 +- test/testbeds/planetlab/execute.py | 4 +- test/testbeds/planetlab/integration.py | 4 +- test/testbeds/planetlab/integration_cross.py | 7 +-- test/testbeds/planetlab/integration_multi.py | 4 +- test/testbeds/planetlab/integration_ns3.py | 8 +-- 50 files changed, 238 insertions(+), 186 deletions(-) rename src/nepi/testbeds/netns/{metadata_v01.py => metadata.py} (98%) rename src/nepi/testbeds/ns3/{attributes_metadata_v3_9.py => attributes_metadata.py} (99%) rename src/nepi/testbeds/ns3/{connection_metadata_v3_9.py => connection_metadata.py} (100%) rename src/nepi/testbeds/ns3/{factories_metadata_v3_9.py => factories_metadata.py} (100%) create mode 100644 src/nepi/testbeds/ns3/metadata.py delete mode 100644 src/nepi/testbeds/ns3/metadata_v3_9.py rename src/nepi/testbeds/ns3/{traces_metadata_v3_9.py => traces_metadata.py} (100%) rename src/nepi/testbeds/planetlab/{metadata_v01.py => metadata.py} (99%) rename test/lib/mock/{metadata_v01.py => metadata.py} (96%) rename test/lib/mock2/{metadata_v01.py => metadata.py} (96%) diff --git a/examples/roads09.py b/examples/roads09.py index 1c261d1f..65dfc313 100644 --- a/examples/roads09.py +++ b/examples/roads09.py @@ -24,7 +24,6 @@ def pl_auth(): class Roads09Ns3PLExample(object): testbed_id = "planetlab" - testbed_version = "01" slicename = "inria_nepi" plchost = "nepiplc.pl.sophia.inria.fr" @@ -56,7 +55,6 @@ class Roads09Ns3PLExample(object): def make_experiment_desc(self): testbed_id = self.testbed_id - testbed_version = self.testbed_version slicename = self.slicename plchost = self.plchost pl_ssh_key = os.environ.get( @@ -65,7 +63,7 @@ class Roads09Ns3PLExample(object): pl_user, pl_pwd = pl_auth() exp_desc = ExperimentDescription() - pl_provider = FactoriesProvider(testbed_id, testbed_version) + pl_provider = FactoriesProvider(testbed_id) pl_desc = exp_desc.add_testbed_description(pl_provider) pl_desc.set_attribute_value("homeDirectory", self.root_dir) pl_desc.set_attribute_value("slice", slicename) @@ -78,7 +76,6 @@ class Roads09Ns3PLExample(object): def make_ns_in_pl(self, pl, exp, node1, iface1, root): ns3_testbed_id = "ns3" - ns3_testbed_version = "3_9_RC3" # Add NS3 support in node1 plnepi = pl.create("NepiDependency") @@ -87,7 +84,7 @@ class Roads09Ns3PLExample(object): plns3.connector("node").connect(node1.connector("deps")) # Create NS3 testbed running in node1 - ns3_provider = FactoriesProvider(ns3_testbed_id, ns3_testbed_version) + ns3_provider = FactoriesProvider(ns3_testbed_id) ns3_desc = exp.add_testbed_description(ns3_provider) ns3_desc.set_attribute_value("rootDirectory", root) ns3_desc.set_attribute_value("SimulatorImplementationType", "ns3::RealtimeSimulatorImpl") diff --git a/examples/vlc_wireless_netns_ns3.py b/examples/vlc_wireless_netns_ns3.py index 1ecea3fa..93138caa 100644 --- a/examples/vlc_wireless_netns_ns3.py +++ b/examples/vlc_wireless_netns_ns3.py @@ -119,9 +119,8 @@ class VlcWirelessNetnsNs3Example(object): exp_desc = ExperimentDescription() ## NS3 Testbed instance description ## - testbed_version = "3_9" testbed_id = "ns3" - ns3_provider = FactoriesProvider(testbed_id, testbed_version) + ns3_provider = FactoriesProvider(testbed_id) ns3_desc = exp_desc.add_testbed_description(ns3_provider) ns3_desc.set_attribute_value("homeDirectory", self.root_dir) ns3_desc.set_attribute_value("SimulatorImplementationType", "ns3::RealtimeSimulatorImpl") @@ -147,9 +146,8 @@ class VlcWirelessNetnsNs3Example(object): phy2.connector("chan").connect(wifichan.connector("phys")) ## NETNS testbed description 1 ## - testbed_version = "01" testbed_id = "netns" - netns_provider = FactoriesProvider(testbed_id, testbed_version) + netns_provider = FactoriesProvider(testbed_id) netns_desc1 = exp_desc.add_testbed_description(netns_provider) netns_desc1.set_attribute_value("homeDirectory", self.root_dir) #netns_desc1.set_attribute_value("enableDebug", True) diff --git a/examples/wimax_ns3.py b/examples/wimax_ns3.py index f8cdece2..1f3a0636 100644 --- a/examples/wimax_ns3.py +++ b/examples/wimax_ns3.py @@ -78,9 +78,8 @@ class Roads09Example(object): def run(self): exp_desc = ExperimentDescription() - testbed_version = "3_9" testbed_id = "ns3" - ns3_provider = FactoriesProvider(testbed_id, testbed_version) + ns3_provider = FactoriesProvider(testbed_id) ns3_desc = exp_desc.add_testbed_description(ns3_provider) ns3_desc.set_attribute_value("homeDirectory", self.root_dir) ns3_desc.set_attribute_value("StopTime", "7.1s") diff --git a/src/nepi/core/design.py b/src/nepi/core/design.py index f69959f0..2aad756e 100644 --- a/src/nepi/core/design.py +++ b/src/nepi/core/design.py @@ -249,16 +249,17 @@ class Box(AttributesMap, Taggable): self._connectors = self._traces = self._factory_attributes = None class FactoriesProvider(object): - def __init__(self, testbed_id, testbed_version): + def __init__(self, testbed_id): super(FactoriesProvider, self).__init__() self._testbed_id = testbed_id - self._testbed_version = testbed_version self._factories = dict() - metadata = Metadata(testbed_id, testbed_version) + metadata = Metadata(testbed_id) for factory in metadata.build_factories(): self.add_factory(factory) + self._testbed_version = metadata.testbed_version + @property def testbed_id(self): return self._testbed_id @@ -289,7 +290,7 @@ class TestbedDescription(AttributesMap): self._boxes = dict() self.graphical_info = GraphicalInfo() - metadata = Metadata(provider.testbed_id, provider.testbed_version) + metadata = Metadata(provider.testbed_id) for attr in metadata.testbed_attributes().attributes: self.add_attribute(attr.name, attr.help, attr.type, attr.value, attr.range, attr.allowed, attr.flags, diff --git a/src/nepi/core/execute.py b/src/nepi/core/execute.py index 70df1c70..76d2680d 100644 --- a/src/nepi/core/execute.py +++ b/src/nepi/core/execute.py @@ -749,8 +749,8 @@ class ExperimentController(object): # force recovery mode deployment_config.set_attribute_value("recover",recover) - testbed = proxy.create_testbed_controller(testbed_id, - testbed_version, deployment_config) + testbed = proxy.create_testbed_controller(testbed_id, testbed_version, + deployment_config) for (name, value) in data.get_attribute_data(guid): testbed.defer_configure(name, value) self._testbeds[guid] = testbed diff --git a/src/nepi/core/metadata.py b/src/nepi/core/metadata.py index 4148d0f5..83b408e6 100644 --- a/src/nepi/core/metadata.py +++ b/src/nepi/core/metadata.py @@ -11,7 +11,7 @@ from nepi.util.constants import ATTR_NEPI_TESTBED_ENVIRONMENT_SETUP, \ DeploymentConfiguration as DC, \ AttributeCategories as AC -class VersionedMetadataInfo(object): +class MetadataInfo(object): @property def connector_types(self): """ dictionary of dictionaries with allowed connection information. @@ -155,6 +155,16 @@ class VersionedMetadataInfo(object): """ raise NotImplementedError + @property + def testbed_id(self): + """ ID for the testbed """ + raise NotImplementedError + + @property + def testbed_version(self): + """ version for the testbed """ + raise NotImplementedError + class Metadata(object): # These attributes should be added to all boxes STANDARD_BOX_ATTRIBUTES = dict({ @@ -406,11 +416,13 @@ class Metadata(object): STANDARD_TESTBED_ATTRIBUTES.update(DEPLOYMENT_ATTRIBUTES.copy()) - def __init__(self, testbed_id, version): - self._version = version + def __init__(self, testbed_id): self._testbed_id = testbed_id - metadata_module = self._load_versioned_metadata_module() - self._metadata = metadata_module.VersionedMetadataInfo() + metadata_module = self._load_metadata_module() + self._metadata = metadata_module.MetadataInfo() + if testbed_id != self._metadata.testbed_id: + raise RuntimeError("Bad testbed id. Asked for %s, got %s" % \ + (testbed_id, self._metadata.testbed_id )) @property def create_order(self): @@ -432,6 +444,14 @@ class Metadata(object): def start_order(self): return self._metadata.start_order + @property + def testbed_version(self): + return self._metadata.testbed_version + + @property + def testbed_id(self): + return self._testbed_id + def testbed_attributes(self): attributes = AttributesMap() testbed_attributes = self._testbed_attributes() @@ -472,9 +492,8 @@ class Metadata(object): factories.append(factory) return factories - def _load_versioned_metadata_module(self): - mod_name = "nepi.testbeds.%s.metadata_v%s" % (self._testbed_id.lower(), - self._version) + def _load_metadata_module(self): + mod_name = "nepi.testbeds.%s.metadata" % (self._testbed_id.lower()) if not mod_name in sys.modules: __import__(mod_name) return sys.modules[mod_name] diff --git a/src/nepi/core/testbed_impl.py b/src/nepi/core/testbed_impl.py index 336da507..8b49c8e5 100644 --- a/src/nepi/core/testbed_impl.py +++ b/src/nepi/core/testbed_impl.py @@ -40,7 +40,10 @@ class TestbedController(execute.TestbedController): # testbed element instances self._elements = dict() - self._metadata = Metadata(self._testbed_id, self._testbed_version) + self._metadata = Metadata(self._testbed_id) + if self._metadata.testbed_version != testbed_version: + raise RuntimeError("Bad testbed version on testbed %s. Asked for %s, got %s" % \ + (testbed_id, testbed_version, self._metadata.testbed_version)) for factory in self._metadata.build_factories(): self._factories[factory.factory_id] = factory self._attributes = self._metadata.testbed_attributes() diff --git a/src/nepi/testbeds/netns/__init__.py b/src/nepi/testbeds/netns/__init__.py index cf042520..a30e0a96 100644 --- a/src/nepi/testbeds/netns/__init__.py +++ b/src/nepi/testbeds/netns/__init__.py @@ -1,6 +1,6 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- -from constants import TESTBED_ID +from constants import TESTBED_ID, TESTBED_ID from execute import TestbedController diff --git a/src/nepi/testbeds/netns/constants.py b/src/nepi/testbeds/netns/constants.py index 7f44537e..119891c7 100644 --- a/src/nepi/testbeds/netns/constants.py +++ b/src/nepi/testbeds/netns/constants.py @@ -2,4 +2,5 @@ # -*- coding: utf-8 -*- TESTBED_ID = "netns" +TESTBED_VERSION = "0.1" diff --git a/src/nepi/testbeds/netns/execute.py b/src/nepi/testbeds/netns/execute.py index 1072c94b..f9e330f4 100644 --- a/src/nepi/testbeds/netns/execute.py +++ b/src/nepi/testbeds/netns/execute.py @@ -1,7 +1,7 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- -from constants import TESTBED_ID +from constants import TESTBED_ID, TESTBED_VERSION from nepi.core import testbed_impl from nepi.util.constants import TIME_NOW import os @@ -48,8 +48,8 @@ class TestbedController(testbed_impl.TestbedController): finally: processcond.release() - def __init__(self, testbed_version): - super(TestbedController, self).__init__(TESTBED_ID, testbed_version) + def __init__(self): + super(TestbedController, self).__init__(TESTBED_ID, TESTBED_VERSION) self._netns = None self._home_directory = None self._traces = dict() diff --git a/src/nepi/testbeds/netns/metadata_v01.py b/src/nepi/testbeds/netns/metadata.py similarity index 98% rename from src/nepi/testbeds/netns/metadata_v01.py rename to src/nepi/testbeds/netns/metadata.py index 2e10da17..7c46f7a1 100644 --- a/src/nepi/testbeds/netns/metadata_v01.py +++ b/src/nepi/testbeds/netns/metadata.py @@ -1,7 +1,7 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- -from constants import TESTBED_ID +from constants import TESTBED_ID, TESTBED_VERSION from nepi.core import metadata from nepi.core.attributes import Attribute from nepi.util import tags, validation @@ -550,7 +550,7 @@ testbed_attributes = dict({ }), }) -class VersionedMetadataInfo(metadata.VersionedMetadataInfo): +class MetadataInfo(metadata.MetadataInfo): @property def connector_types(self): return connector_types @@ -583,3 +583,11 @@ class VersionedMetadataInfo(metadata.VersionedMetadataInfo): def testbed_attributes(self): return testbed_attributes + @property + def testbed_id(self): + return TESTBED_ID + + @property + def testbed_version(self): + return TESTBED_VERSION + diff --git a/src/nepi/testbeds/ns3/__init__.py b/src/nepi/testbeds/ns3/__init__.py index cf042520..1ea99bdf 100644 --- a/src/nepi/testbeds/ns3/__init__.py +++ b/src/nepi/testbeds/ns3/__init__.py @@ -1,6 +1,6 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- -from constants import TESTBED_ID +from constants import TESTBED_ID, TESTBED_VERSION from execute import TestbedController diff --git a/src/nepi/testbeds/ns3/attributes_metadata_v3_9.py b/src/nepi/testbeds/ns3/attributes_metadata.py similarity index 99% rename from src/nepi/testbeds/ns3/attributes_metadata_v3_9.py rename to src/nepi/testbeds/ns3/attributes_metadata.py index 58aaefde..7cdb5b03 100644 --- a/src/nepi/testbeds/ns3/attributes_metadata_v3_9.py +++ b/src/nepi/testbeds/ns3/attributes_metadata.py @@ -1,7 +1,7 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- -from factories_metadata_v3_9 import wifi_standards, l4_protocols, \ +from factories_metadata import wifi_standards, l4_protocols, \ service_flow_direction, service_flow_scheduling_type import validation as ns3_validation from nepi.core.attributes import Attribute diff --git a/src/nepi/testbeds/ns3/connection_metadata_v3_9.py b/src/nepi/testbeds/ns3/connection_metadata.py similarity index 100% rename from src/nepi/testbeds/ns3/connection_metadata_v3_9.py rename to src/nepi/testbeds/ns3/connection_metadata.py diff --git a/src/nepi/testbeds/ns3/constants.py b/src/nepi/testbeds/ns3/constants.py index fe891bf0..aa5a3bd2 100644 --- a/src/nepi/testbeds/ns3/constants.py +++ b/src/nepi/testbeds/ns3/constants.py @@ -2,4 +2,5 @@ # -*- coding: utf-8 -*- TESTBED_ID = "ns3" +TESTBED_VERSION = "3.9" diff --git a/src/nepi/testbeds/ns3/execute.py b/src/nepi/testbeds/ns3/execute.py index a0c1b66e..6d246e9f 100644 --- a/src/nepi/testbeds/ns3/execute.py +++ b/src/nepi/testbeds/ns3/execute.py @@ -3,7 +3,7 @@ from nepi.core import testbed_impl from nepi.core.attributes import Attribute -from constants import TESTBED_ID +from constants import TESTBED_ID, TESTBED_VERSION from nepi.util.constants import TIME_NOW, TestbedStatus as TS import os import sys @@ -13,19 +13,34 @@ import socket import weakref def init(): - if 'ns3' in sys.modules: - return + if 'ns3' in sys.modules: + return - import ctypes - import imp + import ctypes + import imp - bindings = os.environ["NEPI_NS3BINDINGS"] \ + bindings = os.environ["NEPI_NS3BINDINGS"] \ if "NEPI_NS3BINDINGS" in os.environ else None - libfile = os.environ["NEPI_NS3LIBRARY"] \ + libfile = os.environ["NEPI_NS3LIBRARY"] \ if "NEPI_NS3LIBRARY" in os.environ else None - if libfile: - ctypes.CDLL(libfile, ctypes.RTLD_GLOBAL) + if libfile: + ctypes.CDLL(libfile, ctypes.RTLD_GLOBAL) + """ + files = os.listdir(build_path) + regex = re.compile("(.*\.so)$") + libs = [m.group(1) for filename in files for m in [regex.search(filename)] if m] + i = 0 + while len(libs) > 0: + i += 1 + lib = libs[ i % len(libs)] + libfile = os.path.join(build_path, lib) + try: + ctypes.CDLL(libfile, ctypes.RTLD_GLOBAL) + libs.remove(lib) + except: + pass + """ path = [ os.path.dirname(__file__) ] + sys.path if bindings: @@ -57,8 +72,8 @@ class TestbedController(testbed_impl.TestbedController): LOCAL_TYPES = tuple(LOCAL_FACTORIES.values()) - def __init__(self, testbed_version): - super(TestbedController, self).__init__(TESTBED_ID, testbed_version) + def __init__(self): + super(TestbedController, self).__init__(TESTBED_ID, TESTBED_VERSION) self._ns3 = None self._home_directory = None self._traces = dict() diff --git a/src/nepi/testbeds/ns3/factories_metadata_v3_9.py b/src/nepi/testbeds/ns3/factories_metadata.py similarity index 100% rename from src/nepi/testbeds/ns3/factories_metadata_v3_9.py rename to src/nepi/testbeds/ns3/factories_metadata.py diff --git a/src/nepi/testbeds/ns3/metadata.py b/src/nepi/testbeds/ns3/metadata.py new file mode 100644 index 00000000..14c4ab7c --- /dev/null +++ b/src/nepi/testbeds/ns3/metadata.py @@ -0,0 +1,55 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +from constants import TESTBED_ID, TESTBED_VERSION +from nepi.core import metadata + +class MetadataInfo(metadata.MetadataInfo): + @property + def connector_types(self): + from connection_metadata import connector_types + return connector_types + + @property + def connections(self): + from connection_metadata import connections + return connections + + @property + def attributes(self): + from attributes_metadata import attributes + return attributes + + @property + def traces(self): + from traces_metadata import traces + return traces + + @property + def create_order(self): + from factories_metadata import factories_order + return factories_order + + @property + def configure_order(self): + from factories_metadata import factories_order + return factories_order + + @property + def factories_info(self): + from factories_metadata import factories_info + return factories_info + + @property + def testbed_attributes(self): + from attributes_metadata import testbed_attributes + return testbed_attributes + + @property + def testbed_id(self): + return TESTBED_ID + + @property + def testbed_version(self): + return TESTBED_VERSION + diff --git a/src/nepi/testbeds/ns3/metadata_v3_9.py b/src/nepi/testbeds/ns3/metadata_v3_9.py deleted file mode 100644 index 3c710390..00000000 --- a/src/nepi/testbeds/ns3/metadata_v3_9.py +++ /dev/null @@ -1,46 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -from nepi.core import metadata - -class VersionedMetadataInfo(metadata.VersionedMetadataInfo): - @property - def connector_types(self): - from connection_metadata_v3_9 import connector_types - return connector_types - - @property - def connections(self): - from connection_metadata_v3_9 import connections - return connections - - @property - def attributes(self): - from attributes_metadata_v3_9 import attributes - return attributes - - @property - def traces(self): - from traces_metadata_v3_9 import traces - return traces - - @property - def create_order(self): - from factories_metadata_v3_9 import factories_order - return factories_order - - @property - def configure_order(self): - from factories_metadata_v3_9 import factories_order - return factories_order - - @property - def factories_info(self): - from factories_metadata_v3_9 import factories_info - return factories_info - - @property - def testbed_attributes(self): - from attributes_metadata_v3_9 import testbed_attributes - return testbed_attributes - diff --git a/src/nepi/testbeds/ns3/traces_metadata_v3_9.py b/src/nepi/testbeds/ns3/traces_metadata.py similarity index 100% rename from src/nepi/testbeds/ns3/traces_metadata_v3_9.py rename to src/nepi/testbeds/ns3/traces_metadata.py diff --git a/src/nepi/testbeds/planetlab/__init__.py b/src/nepi/testbeds/planetlab/__init__.py index cf042520..1ea99bdf 100644 --- a/src/nepi/testbeds/planetlab/__init__.py +++ b/src/nepi/testbeds/planetlab/__init__.py @@ -1,6 +1,6 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- -from constants import TESTBED_ID +from constants import TESTBED_ID, TESTBED_VERSION from execute import TestbedController diff --git a/src/nepi/testbeds/planetlab/constants.py b/src/nepi/testbeds/planetlab/constants.py index 3580509b..ee2c706a 100644 --- a/src/nepi/testbeds/planetlab/constants.py +++ b/src/nepi/testbeds/planetlab/constants.py @@ -2,4 +2,5 @@ # -*- coding: utf-8 -*- TESTBED_ID = "planetlab" +TESTBED_VERSION = "0.1" diff --git a/src/nepi/testbeds/planetlab/execute.py b/src/nepi/testbeds/planetlab/execute.py index 12438d7c..7142ff5b 100644 --- a/src/nepi/testbeds/planetlab/execute.py +++ b/src/nepi/testbeds/planetlab/execute.py @@ -1,7 +1,7 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- -from constants import TESTBED_ID +from constants import TESTBED_ID, TESTBED_VERSION from nepi.core import testbed_impl from nepi.util.constants import TIME_NOW from nepi.util.graphtools import mst @@ -26,8 +26,8 @@ class TempKeyError(Exception): pass class TestbedController(testbed_impl.TestbedController): - def __init__(self, testbed_version): - super(TestbedController, self).__init__(TESTBED_ID, testbed_version) + def __init__(self): + super(TestbedController, self).__init__(TESTBED_ID, TESTBED_VERSION) self._home_directory = None self.slicename = None self._traces = dict() diff --git a/src/nepi/testbeds/planetlab/metadata_v01.py b/src/nepi/testbeds/planetlab/metadata.py similarity index 99% rename from src/nepi/testbeds/planetlab/metadata_v01.py rename to src/nepi/testbeds/planetlab/metadata.py index 986265dd..e20d328b 100644 --- a/src/nepi/testbeds/planetlab/metadata_v01.py +++ b/src/nepi/testbeds/planetlab/metadata.py @@ -3,7 +3,7 @@ import time -from constants import TESTBED_ID +from constants import TESTBED_ID, TESTBED_VERSION from nepi.core import metadata from nepi.core.attributes import Attribute from nepi.util import tags, validation @@ -1133,7 +1133,7 @@ testbed_attributes = dict({ }), }) -class VersionedMetadataInfo(metadata.VersionedMetadataInfo): +class MetadataInfo(metadata.MetadataInfo): @property def connector_types(self): return connector_types @@ -1174,3 +1174,11 @@ class VersionedMetadataInfo(metadata.VersionedMetadataInfo): def testbed_attributes(self): return testbed_attributes + @property + def testbed_id(self): + return TESTBED_ID + + @property + def testbed_version(self): + return TESTBED_VERSION + diff --git a/src/nepi/util/parser/base.py b/src/nepi/util/parser/base.py index 5cbd0729..3e28869f 100644 --- a/src/nepi/util/parser/base.py +++ b/src/nepi/util/parser/base.py @@ -270,7 +270,10 @@ class ExperimentParser(object): def testbed_from_data(self, experiment_description, guid, data): from nepi.core.design import FactoriesProvider (testbed_id, testbed_version) = data.get_testbed_data(guid) - provider = FactoriesProvider(testbed_id, testbed_version) + provider = FactoriesProvider(testbed_id) + if provider.testbed_version != testbed_version: + raise RuntimeError("Bad testbed version on testbed %s. Asked for %s, got %s" % \ + (testbed_id, testbed_version, provider.testbed_version)) experiment_description.add_testbed_description(provider, guid) testbed_description = experiment_description.testbed_description(guid) self.graphical_info_from_data(testbed_description, data) diff --git a/src/nepi/util/proxy.py b/src/nepi/util/proxy.py index c89f1d88..be08a683 100644 --- a/src/nepi/util/proxy.py +++ b/src/nepi/util/proxy.py @@ -237,7 +237,11 @@ def _build_testbed_controller(testbed_id, testbed_version): if not mod_name in sys.modules: __import__(mod_name) module = sys.modules[mod_name] - return module.TestbedController(testbed_version) + tc = module.TestbedController() + if tc.testbed_version != testbed_version: + raise RuntimeError("Bad testbed version on testbed %s. Asked for %s, got %s" % \ + (testbed_id, testbed_version, tc.testbed_version)) + return tc # Just a namespace class class Marshalling: diff --git a/test/core/design.py b/test/core/design.py index 8456510c..b8f04f1b 100755 --- a/test/core/design.py +++ b/test/core/design.py @@ -3,19 +3,18 @@ from nepi.core.design import ExperimentDescription, FactoriesProvider from nepi.util import tags -import mock.metadata_v01 +import mock.metadata import sys import unittest class DesignTestCase(unittest.TestCase): def setUp(self): - sys.modules["nepi.testbeds.mock.metadata_v01"] = mock.metadata_v01 + sys.modules["nepi.testbeds.mock.metadata"] = mock.metadata def test_design(self): exp_desc = ExperimentDescription() - testbed_version = "01" testbed_id = "mock" - provider = FactoriesProvider(testbed_id, testbed_version) + provider = FactoriesProvider(testbed_id) desc = exp_desc.add_testbed_description(provider) desc.set_attribute_value("fake", True) node1 = desc.create("Node") diff --git a/test/core/execute.py b/test/core/execute.py index b2ece94a..bfb1b4b2 100755 --- a/test/core/execute.py +++ b/test/core/execute.py @@ -5,19 +5,17 @@ from nepi.util import tags from nepi.util.constants import ApplicationStatus as AS import getpass import mock -import mock.metadata_v01 +import mock.metadata import sys import time import unittest class ExecuteTestCase(unittest.TestCase): def setUp(self): - sys.modules["nepi.testbeds.mock.metadata_v01"] = mock.metadata_v01 + sys.modules["nepi.testbeds.mock.metadata"] = mock.metadata def test_execute(self): - testbed_version = "01" - testbed_id = "mock" - instance = mock.TestbedController(testbed_version) + instance = mock.TestbedController() instance.defer_configure("fake", True) instance.defer_create(2, "Node") instance.defer_create(3, "Node") diff --git a/test/core/integration.py b/test/core/integration.py index a2f0b1ff..4d76c4d3 100755 --- a/test/core/integration.py +++ b/test/core/integration.py @@ -6,9 +6,9 @@ from nepi.util import proxy from nepi.util.constants import DeploymentConfiguration as DC import getpass import mock -import mock.metadata_v01 +import mock.metadata import mock2 -import mock2.metadata_v01 +import mock2.metadata import os import shutil import sys @@ -19,9 +19,9 @@ import unittest class ExecuteTestCase(unittest.TestCase): def setUp(self): - sys.modules["nepi.testbeds.mock.metadata_v01"] = mock.metadata_v01 + sys.modules["nepi.testbeds.mock.metadata"] = mock.metadata sys.modules["nepi.testbeds.mock"] = mock - sys.modules["nepi.testbeds.mock2.metadata_v01"] = mock2.metadata_v01 + sys.modules["nepi.testbeds.mock2.metadata"] = mock2.metadata sys.modules["nepi.testbeds.mock2"] = mock2 self.root_dir = tempfile.mkdtemp() @@ -33,8 +33,8 @@ class ExecuteTestCase(unittest.TestCase): time.sleep(0.1) shutil.rmtree(self.root_dir) - def make_testbed(self, exp_desc, testbed_id, testbed_version): - provider = FactoriesProvider(testbed_id, testbed_version) + def make_testbed(self, exp_desc, testbed_id): + provider = FactoriesProvider(testbed_id) desc = exp_desc.add_testbed_description(provider) desc.set_attribute_value("fake", True) node1 = desc.create("Node") @@ -54,19 +54,17 @@ class ExecuteTestCase(unittest.TestCase): def make_test_experiment(self): exp_desc = ExperimentDescription() - testbed_version = "01" testbed_id = "mock" - return self.make_testbed(exp_desc, testbed_id, testbed_version) + return self.make_testbed(exp_desc, testbed_id) def make_cross_test_experiment(self): exp_desc = ExperimentDescription() - testbed_version = "01" testbed_id1 = "mock" testbed_id2 = "mock2" exp_desc, desc1, app1, node11, node12, iface11, iface12 = \ - self.make_testbed(exp_desc, testbed_id1, testbed_version) + self.make_testbed(exp_desc, testbed_id1) exp_desc, desc2, app2, node21, node22, iface21, iface22 = \ - self.make_testbed(exp_desc, testbed_id2, testbed_version) + self.make_testbed(exp_desc, testbed_id2) iface12.connector("cross").connect(iface21.connector("cross")) return exp_desc, desc1, desc2, iface12, iface21 @@ -103,7 +101,7 @@ class ExecuteTestCase(unittest.TestCase): self.assertTrue(fake_result.startswith(comp_result)) self.assertEquals(controller.get_testbed_id(node1.guid), "mock") - self.assertEquals(controller.get_testbed_version(node1.guid), "01") + self.assertEquals(controller.get_testbed_version(node1.guid), "0.1") self.assertEquals(controller.get_factory_id(node1.guid), "Node") controller.stop() @@ -129,7 +127,7 @@ class ExecuteTestCase(unittest.TestCase): self.assertTrue(fake_result.startswith(comp_result)) self.assertEquals(controller.get_testbed_id(node1.guid), "mock") - self.assertEquals(controller.get_testbed_version(node1.guid), "01") + self.assertEquals(controller.get_testbed_version(node1.guid), "0.1") self.assertEquals(controller.get_factory_id(node1.guid), "Node") controller.stop() @@ -157,7 +155,7 @@ class ExecuteTestCase(unittest.TestCase): self.assertTrue(fake_result.startswith(comp_result)) self.assertEquals(controller.get_testbed_id(node1.guid), "mock") - self.assertEquals(controller.get_testbed_version(node1.guid), "01") + self.assertEquals(controller.get_testbed_version(node1.guid), "0.1") self.assertEquals(controller.get_factory_id(node1.guid), "Node") controller.stop() @@ -190,7 +188,7 @@ class ExecuteTestCase(unittest.TestCase): self.assertTrue(fake_result.startswith(comp_result)) self.assertEquals(controller.get_testbed_id(node1.guid), "mock") - self.assertEquals(controller.get_testbed_version(node1.guid), "01") + self.assertEquals(controller.get_testbed_version(node1.guid), "0.1") self.assertEquals(controller.get_factory_id(node1.guid), "Node") traces_info = controller.traces_info() @@ -237,7 +235,7 @@ class ExecuteTestCase(unittest.TestCase): self.assertTrue(fake_result.startswith(comp_result)) self.assertEquals(controller.get_testbed_id(node1.guid), "mock") - self.assertEquals(controller.get_testbed_version(node1.guid), "01") + self.assertEquals(controller.get_testbed_version(node1.guid), "0.1") self.assertEquals(controller.get_factory_id(node1.guid), "Node") # controller dies @@ -293,7 +291,7 @@ class ExecuteTestCase(unittest.TestCase): addr.set_attribute_value("Address", "10.0.0.2") desc2 = exp_desc.add_testbed_description( - FactoriesProvider("mock2", "01") ) + FactoriesProvider("mock2") ) desc2.set_attribute_value(DC.DEPLOYMENT_HOST, "{#[some].addr[0].[Address]#}") # DC.DEPLOYMENT_HOST should be ignored if DC.DEPLOYMENT_CONNECTION is not set # But it should be resolved anyway diff --git a/test/lib/mock/__init__.py b/test/lib/mock/__init__.py index cf042520..1ea99bdf 100644 --- a/test/lib/mock/__init__.py +++ b/test/lib/mock/__init__.py @@ -1,6 +1,6 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- -from constants import TESTBED_ID +from constants import TESTBED_ID, TESTBED_VERSION from execute import TestbedController diff --git a/test/lib/mock/constants.py b/test/lib/mock/constants.py index c4401b23..7640c663 100644 --- a/test/lib/mock/constants.py +++ b/test/lib/mock/constants.py @@ -2,4 +2,4 @@ # -*- coding: utf-8 -*- TESTBED_ID = "mock" - +TESTBED_VERSION = "0.1" diff --git a/test/lib/mock/execute.py b/test/lib/mock/execute.py index 762b110f..db7b01c4 100644 --- a/test/lib/mock/execute.py +++ b/test/lib/mock/execute.py @@ -1,12 +1,12 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- -from constants import TESTBED_ID +from constants import TESTBED_ID, TESTBED_VERSION from nepi.core import testbed_impl class TestbedController(testbed_impl.TestbedController): - def __init__(self, testbed_version): - super(TestbedController, self).__init__(TESTBED_ID, testbed_version) + def __init__(self): + super(TestbedController, self).__init__(TESTBED_ID, TESTBED_VERSION) def do_configure(self): pass diff --git a/test/lib/mock/metadata_v01.py b/test/lib/mock/metadata.py similarity index 96% rename from test/lib/mock/metadata_v01.py rename to test/lib/mock/metadata.py index 49ece6e2..370af4da 100644 --- a/test/lib/mock/metadata_v01.py +++ b/test/lib/mock/metadata.py @@ -1,7 +1,7 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- -from constants import TESTBED_ID +from constants import TESTBED_ID, TESTBED_VERSION from nepi.core import metadata from nepi.core.attributes import Attribute from nepi.util import validation, tags @@ -192,7 +192,7 @@ testbed_attributes = dict({ }), }) -class VersionedMetadataInfo(metadata.VersionedMetadataInfo): +class MetadataInfo(metadata.MetadataInfo): @property def connector_types(self): return connector_types @@ -225,3 +225,11 @@ class VersionedMetadataInfo(metadata.VersionedMetadataInfo): def testbed_attributes(self): return testbed_attributes + @property + def testbed_id(self): + return TESTBED_ID + + @property + def testbed_version(self): + return TESTBED_VERSION + diff --git a/test/lib/mock2/__init__.py b/test/lib/mock2/__init__.py index cf042520..1ea99bdf 100644 --- a/test/lib/mock2/__init__.py +++ b/test/lib/mock2/__init__.py @@ -1,6 +1,6 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- -from constants import TESTBED_ID +from constants import TESTBED_ID, TESTBED_VERSION from execute import TestbedController diff --git a/test/lib/mock2/constants.py b/test/lib/mock2/constants.py index 4a1547bf..e1f97751 100644 --- a/test/lib/mock2/constants.py +++ b/test/lib/mock2/constants.py @@ -2,4 +2,5 @@ # -*- coding: utf-8 -*- TESTBED_ID = "mock2" +TESTBED_VERSION = "0.1" diff --git a/test/lib/mock2/execute.py b/test/lib/mock2/execute.py index 762b110f..db7b01c4 100644 --- a/test/lib/mock2/execute.py +++ b/test/lib/mock2/execute.py @@ -1,12 +1,12 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- -from constants import TESTBED_ID +from constants import TESTBED_ID, TESTBED_VERSION from nepi.core import testbed_impl class TestbedController(testbed_impl.TestbedController): - def __init__(self, testbed_version): - super(TestbedController, self).__init__(TESTBED_ID, testbed_version) + def __init__(self): + super(TestbedController, self).__init__(TESTBED_ID, TESTBED_VERSION) def do_configure(self): pass diff --git a/test/lib/mock2/metadata_v01.py b/test/lib/mock2/metadata.py similarity index 96% rename from test/lib/mock2/metadata_v01.py rename to test/lib/mock2/metadata.py index f3d534d3..7c294bed 100644 --- a/test/lib/mock2/metadata_v01.py +++ b/test/lib/mock2/metadata.py @@ -1,7 +1,7 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- -from constants import TESTBED_ID +from constants import TESTBED_ID, TESTBED_VERSION from nepi.core import metadata from nepi.core.attributes import Attribute from nepi.util import tags, validation @@ -182,7 +182,7 @@ testbed_attributes = dict({ }), }) -class VersionedMetadataInfo(metadata.VersionedMetadataInfo): +class MetadataInfo(metadata.MetadataInfo): @property def connector_types(self): return connector_types @@ -215,3 +215,11 @@ class VersionedMetadataInfo(metadata.VersionedMetadataInfo): def testbed_attributes(self): return testbed_attributes + @property + def testbed_id(self): + return TESTBED_ID + + @property + def testbed_version(self): + return TESTBED_VERSION + diff --git a/test/testbeds/netns/design.py b/test/testbeds/netns/design.py index f78efbe1..4f3758fe 100755 --- a/test/testbeds/netns/design.py +++ b/test/testbeds/netns/design.py @@ -11,9 +11,8 @@ import uuid class NetnsDesignTestCase(unittest.TestCase): def test_design_if(self): exp_desc = ExperimentDescription() - testbed_version = "01" testbed_id = "netns" - provider = FactoriesProvider(testbed_id, testbed_version) + provider = FactoriesProvider(testbed_id) tstbd_desc = exp_desc.add_testbed_description(provider) tstbd_desc.set_attribute_value("enableDebug", True) node1 = tstbd_desc.create("Node") diff --git a/test/testbeds/netns/execute.py b/test/testbeds/netns/execute.py index e9591f38..7eaf332d 100755 --- a/test/testbeds/netns/execute.py +++ b/test/testbeds/netns/execute.py @@ -18,8 +18,7 @@ class NetnsExecuteTestCase(unittest.TestCase): @test_util.skipUnless(os.getuid() == 0, "Test requires root privileges") def test_run_ping_if(self): user = getpass.getuser() - testbed_version = "01" - instance = netns.TestbedController(testbed_version) + instance = netns.TestbedController() instance.defer_configure("homeDirectory", self.root_dir) instance.defer_create(2, "Node") instance.defer_create(3, "Node") @@ -64,8 +63,7 @@ class NetnsExecuteTestCase(unittest.TestCase): @test_util.skipUnless(os.getuid() == 0, "Test requires root privileges") def test_run_ping_p2pif(self): user = getpass.getuser() - testbed_version = "01" - instance = netns.TestbedController(testbed_version) + instance = netns.TestbedController() instance.defer_configure("homeDirectory", self.root_dir) instance.defer_create(2, "Node") instance.defer_create(3, "Node") @@ -107,8 +105,7 @@ class NetnsExecuteTestCase(unittest.TestCase): @test_util.skipUnless(os.getuid() == 0, "Test requires root privileges") def test_run_ping_routing(self): user = getpass.getuser() - testbed_version = "01" - instance = netns.TestbedController(testbed_version) + instance = netns.TestbedController() instance.defer_configure("homeDirectory", self.root_dir) instance.defer_create(2, "Node") instance.defer_create(3, "Node") @@ -169,8 +166,7 @@ class NetnsExecuteTestCase(unittest.TestCase): @test_util.skipUnless(os.getuid() == 0, "Test requires root privileges") def test_node_pcap_trace(self): user = getpass.getuser() - testbed_version = "01" - instance = netns.TestbedController(testbed_version) + instance = netns.TestbedController() instance.defer_configure("homeDirectory", self.root_dir) instance.defer_create(2, "Node") instance.defer_add_trace(2, "pcap") diff --git a/test/testbeds/netns/integration.py b/test/testbeds/netns/integration.py index 96d68cd9..01282afb 100755 --- a/test/testbeds/netns/integration.py +++ b/test/testbeds/netns/integration.py @@ -20,10 +20,9 @@ class NetnsIntegrationTestCase(unittest.TestCase): @test_util.skipUnless(os.getuid() == 0, "Test requires root privileges") def test_local_if(self): exp_desc = ExperimentDescription() - testbed_version = "01" testbed_id = "netns" user = getpass.getuser() - netns_provider = FactoriesProvider(testbed_id, testbed_version) + netns_provider = FactoriesProvider(testbed_id) netns_desc = exp_desc.add_testbed_description(netns_provider) netns_desc.set_attribute_value("homeDirectory", self.root_dir) #netns_desc.set_attribute_value("enableDebug", True) @@ -67,10 +66,9 @@ class NetnsIntegrationTestCase(unittest.TestCase): @test_util.skipUnless(os.getuid() == 0, "Test requires root privileges") def test_all_daemonized_if(self): exp_desc = ExperimentDescription() - testbed_version = "01" testbed_id = "netns" user = getpass.getuser() - netns_provider = FactoriesProvider(testbed_id, testbed_version) + netns_provider = FactoriesProvider(testbed_id) netns_desc = exp_desc.add_testbed_description(netns_provider) netns_desc.set_attribute_value("homeDirectory", self.root_dir) #netns_desc.set_attribute_value("enableDebug", True) @@ -126,11 +124,10 @@ class NetnsIntegrationTestCase(unittest.TestCase): @test_util.skipUnless(os.getuid() == 0, "Test requires root privileges") def test_all_ssh_daemonized_if(self): exp_desc = ExperimentDescription() - testbed_version = "01" testbed_id = "netns" env = test_util.test_environment() user = getpass.getuser() - netns_provider = FactoriesProvider(testbed_id, testbed_version) + netns_provider = FactoriesProvider(testbed_id) netns_desc = exp_desc.add_testbed_description(netns_provider) netns_desc.set_attribute_value("homeDirectory", self.root_dir) #netns_desc.set_attribute_value("enableDebug", True) diff --git a/test/testbeds/ns3/design.py b/test/testbeds/ns3/design.py index e5f5e315..de507b78 100755 --- a/test/testbeds/ns3/design.py +++ b/test/testbeds/ns3/design.py @@ -11,9 +11,8 @@ import uuid class Ns3DesignTestCase(unittest.TestCase): def test_design_if(self): exp_desc = ExperimentDescription() - testbed_version = "3_9" testbed_id = "ns3" - provider = FactoriesProvider(testbed_id, testbed_version) + provider = FactoriesProvider(testbed_id) tstbd_desc = exp_desc.add_testbed_description(provider) node1 = tstbd_desc.create("ns3::Node") diff --git a/test/testbeds/ns3/execute.py b/test/testbeds/ns3/execute.py index c67e7776..07fedcc4 100755 --- a/test/testbeds/ns3/execute.py +++ b/test/testbeds/ns3/execute.py @@ -17,8 +17,7 @@ class Ns3ExecuteTestCase(unittest.TestCase): @test_util.skipUnless(test_util.ns3_usable(), "Test requires working ns-3 bindings") def test_run_ping_if(self): - testbed_version = "3_9" - instance = ns3.TestbedController(testbed_version) + instance = ns3.TestbedController() instance.defer_configure("homeDirectory", self.root_dir) instance.defer_create(2, "ns3::Node") instance.defer_create(3, "ns3::Ipv4L3Protocol") diff --git a/test/testbeds/ns3/execute2.py b/test/testbeds/ns3/execute2.py index 554151f8..854e02c7 100755 --- a/test/testbeds/ns3/execute2.py +++ b/test/testbeds/ns3/execute2.py @@ -23,8 +23,7 @@ class Ns3ExecuteTestCase(unittest.TestCase): @test_util.skipUnless(test_util.ns3_usable(), "Test requires working ns-3 bindings") def test_run_ping_routing(self): - testbed_version = "3_9" - instance = ns3.TestbedController(testbed_version) + instance = ns3.TestbedController() instance.defer_configure("homeDirectory", self.root_dir) instance.defer_create(2, "ns3::Node") instance.defer_create(3, "ns3::Ipv4L3Protocol") diff --git a/test/testbeds/ns3/integration.py b/test/testbeds/ns3/integration.py index 5625c968..0ff968cf 100755 --- a/test/testbeds/ns3/integration.py +++ b/test/testbeds/ns3/integration.py @@ -21,9 +21,8 @@ class Ns3IntegrationTestCase(unittest.TestCase): "Test requires working ns-3 bindings") def test_local_if(self): exp_desc = ExperimentDescription() - testbed_version = "3_9" testbed_id = "ns3" - ns3_provider = FactoriesProvider(testbed_id, testbed_version) + ns3_provider = FactoriesProvider(testbed_id) ns3_desc = exp_desc.add_testbed_description(ns3_provider) ns3_desc.set_attribute_value("homeDirectory", self.root_dir) @@ -83,9 +82,8 @@ class Ns3IntegrationTestCase(unittest.TestCase): "Test requires working ns-3 bindings") def test_all_daemonized_if(self): exp_desc = ExperimentDescription() - testbed_version = "3_9" testbed_id = "ns3" - ns3_provider = FactoriesProvider(testbed_id, testbed_version) + ns3_provider = FactoriesProvider(testbed_id) ns3_desc = exp_desc.add_testbed_description(ns3_provider) ns3_desc.set_attribute_value("homeDirectory", self.root_dir) diff --git a/test/testbeds/planetlab/design.py b/test/testbeds/planetlab/design.py index 4259cd5a..ba91696e 100755 --- a/test/testbeds/planetlab/design.py +++ b/test/testbeds/planetlab/design.py @@ -7,9 +7,8 @@ import unittest class PlanetlabDesignTestCase(unittest.TestCase): def make_test_design(self): exp_desc = ExperimentDescription() - testbed_version = "01" testbed_id = "planetlab" - provider = FactoriesProvider(testbed_id, testbed_version) + provider = FactoriesProvider(testbed_id) tstbd_desc = exp_desc.add_testbed_description(provider) tstbd_desc.set_attribute_value("slice", "inria_nepi") node1 = tstbd_desc.create("Node") diff --git a/test/testbeds/planetlab/execute.py b/test/testbeds/planetlab/execute.py index 7170d150..07f15123 100755 --- a/test/testbeds/planetlab/execute.py +++ b/test/testbeds/planetlab/execute.py @@ -15,7 +15,6 @@ import sys class PlanetLabExecuteTestCase(unittest.TestCase): testbed_id = "planetlab" - testbed_version = "01" slicename = "inria_nepi" plchost = "nepiplc.pl.sophia.inria.fr" @@ -35,11 +34,10 @@ class PlanetLabExecuteTestCase(unittest.TestCase): def make_instance(self): testbed_id = self.testbed_id - testbed_version = self.testbed_version slicename = self.slicename plchost = self.plchost - instance = planetlab.TestbedController(testbed_version) + instance = planetlab.TestbedController() pl_ssh_key = os.environ.get( "PL_SSH_KEY", "%s/.ssh/id_rsa_planetlab" % (os.environ['HOME'],) ) diff --git a/test/testbeds/planetlab/integration.py b/test/testbeds/planetlab/integration.py index 60eba709..2bccd692 100755 --- a/test/testbeds/planetlab/integration.py +++ b/test/testbeds/planetlab/integration.py @@ -16,7 +16,6 @@ import sys class PlanetLabIntegrationTestCase(unittest.TestCase): testbed_id = "planetlab" - testbed_version = "01" slicename = "inria_nepi" plchost = "nepiplc.pl.sophia.inria.fr" @@ -39,7 +38,6 @@ class PlanetLabIntegrationTestCase(unittest.TestCase): def make_experiment_desc(self): testbed_id = self.testbed_id - testbed_version = self.testbed_version slicename = self.slicename plchost = self.plchost pl_ssh_key = os.environ.get( @@ -48,7 +46,7 @@ class PlanetLabIntegrationTestCase(unittest.TestCase): pl_user, pl_pwd = test_util.pl_auth() exp_desc = ExperimentDescription() - pl_provider = FactoriesProvider(testbed_id, testbed_version) + pl_provider = FactoriesProvider(testbed_id) pl_desc = exp_desc.add_testbed_description(pl_provider) pl_desc.set_attribute_value("homeDirectory", self.root_dir) pl_desc.set_attribute_value("slice", slicename) diff --git a/test/testbeds/planetlab/integration_cross.py b/test/testbeds/planetlab/integration_cross.py index 978745c0..c152bad9 100755 --- a/test/testbeds/planetlab/integration_cross.py +++ b/test/testbeds/planetlab/integration_cross.py @@ -16,7 +16,6 @@ import re class PlanetLabMultiIntegrationTestCase(unittest.TestCase): testbed_id = "planetlab" - testbed_version = "01" slicename1 = "inria_nepi" plchost1 = "nepiplc.pl.sophia.inria.fr" @@ -43,7 +42,6 @@ class PlanetLabMultiIntegrationTestCase(unittest.TestCase): def make_experiment_desc(self): testbed_id = self.testbed_id - testbed_version = self.testbed_version slicename1 = self.slicename1 plchost1 = self.plchost1 @@ -57,7 +55,7 @@ class PlanetLabMultiIntegrationTestCase(unittest.TestCase): pl_user, pl_pwd = test_util.pl_auth() exp_desc = ExperimentDescription() - pl_provider = FactoriesProvider(testbed_id, testbed_version) + pl_provider = FactoriesProvider(testbed_id) pl_desc = exp_desc.add_testbed_description(pl_provider) pl_desc.set_attribute_value("homeDirectory", self.root_dir) pl_desc.set_attribute_value("slice", slicename1) @@ -105,7 +103,6 @@ class PlanetLabMultiIntegrationTestCase(unittest.TestCase): def make_ns_in_pl(self, pl, exp, node1, iface1, root): ns3_testbed_id = "ns3" - ns3_testbed_version = "3_9" # Add NS3 support in node1 plnepi = pl.create("NepiDependency") @@ -114,7 +111,7 @@ class PlanetLabMultiIntegrationTestCase(unittest.TestCase): plns3.connector("node").connect(node1.connector("deps")) # Create NS3 testbed running in node1 - ns3_provider = FactoriesProvider(ns3_testbed_id, ns3_testbed_version) + ns3_provider = FactoriesProvider(ns3_testbed_id) ns3_desc = exp.add_testbed_description(ns3_provider) ns3_desc.set_attribute_value("rootDirectory", root) ns3_desc.set_attribute_value("SimulatorImplementationType", "ns3::RealtimeSimulatorImpl") diff --git a/test/testbeds/planetlab/integration_multi.py b/test/testbeds/planetlab/integration_multi.py index 5c8cad0c..62a36fe5 100755 --- a/test/testbeds/planetlab/integration_multi.py +++ b/test/testbeds/planetlab/integration_multi.py @@ -16,7 +16,6 @@ import re class PlanetLabMultiIntegrationTestCase(unittest.TestCase): testbed_id = "planetlab" - testbed_version = "01" slicename1 = "inria_nepi" plchost1 = "nepiplc.pl.sophia.inria.fr" @@ -43,7 +42,6 @@ class PlanetLabMultiIntegrationTestCase(unittest.TestCase): def make_experiment_desc(self): testbed_id = self.testbed_id - testbed_version = self.testbed_version slicename1 = self.slicename1 plchost1 = self.plchost1 @@ -57,7 +55,7 @@ class PlanetLabMultiIntegrationTestCase(unittest.TestCase): pl_user, pl_pwd = test_util.pl_auth() exp_desc = ExperimentDescription() - pl_provider = FactoriesProvider(testbed_id, testbed_version) + pl_provider = FactoriesProvider(testbed_id) pl_desc = exp_desc.add_testbed_description(pl_provider) pl_desc.set_attribute_value("homeDirectory", self.root_dir) pl_desc.set_attribute_value("slice", slicename1) diff --git a/test/testbeds/planetlab/integration_ns3.py b/test/testbeds/planetlab/integration_ns3.py index 22601279..57c8fb2e 100755 --- a/test/testbeds/planetlab/integration_ns3.py +++ b/test/testbeds/planetlab/integration_ns3.py @@ -16,7 +16,6 @@ import re class PlanetLabCrossIntegrationTestCase(unittest.TestCase): testbed_id = "planetlab" - testbed_version = "01" slicename = "inria_nepi" plchost = "nepiplc.pl.sophia.inria.fr" @@ -38,7 +37,6 @@ class PlanetLabCrossIntegrationTestCase(unittest.TestCase): def make_experiment_desc(self): testbed_id = self.testbed_id - testbed_version = self.testbed_version slicename = self.slicename plchost = self.plchost pl_ssh_key = os.environ.get( @@ -47,7 +45,7 @@ class PlanetLabCrossIntegrationTestCase(unittest.TestCase): pl_user, pl_pwd = test_util.pl_auth() exp_desc = ExperimentDescription() - pl_provider = FactoriesProvider(testbed_id, testbed_version) + pl_provider = FactoriesProvider(testbed_id) pl_desc = exp_desc.add_testbed_description(pl_provider) pl_desc.set_attribute_value("homeDirectory", self.root_dir) pl_desc.set_attribute_value("slice", slicename) @@ -99,7 +97,6 @@ class PlanetLabCrossIntegrationTestCase(unittest.TestCase): def make_ns_in_pl(self, pl, exp, node1, iface1, root): ns3_testbed_id = "ns3" - ns3_testbed_version = "3_9" # Add NS3 support in node1 plnepi = pl.create("NepiDependency") @@ -108,7 +105,7 @@ class PlanetLabCrossIntegrationTestCase(unittest.TestCase): plns3.connector("node").connect(node1.connector("deps")) # Create NS3 testbed running in node1 - ns3_provider = FactoriesProvider(ns3_testbed_id, ns3_testbed_version) + ns3_provider = FactoriesProvider(ns3_testbed_id) ns3_desc = exp.add_testbed_description(ns3_provider) ns3_desc.set_attribute_value("rootDirectory", root) ns3_desc.set_attribute_value("SimulatorImplementationType", "ns3::RealtimeSimulatorImpl") @@ -136,7 +133,6 @@ class PlanetLabCrossIntegrationTestCase(unittest.TestCase): "Test is expensive, requires NEPI_FULL_TESTS=yes") def test_ns3_in_pl(self): ns3_testbed_id = "ns3" - ns3_testbed_version = "3_9" pl, exp = self.make_experiment_desc() -- 2.45.2