diff options
| author | Sander Vrijders <sander.vrijders@intec.ugent.be> | 2017-02-03 14:25:52 +0100 | 
|---|---|---|
| committer | Sander Vrijders <sander.vrijders@intec.ugent.be> | 2017-02-03 14:25:52 +0100 | 
| commit | a79578988cb2bc7e08a516aca93a3816d996072d (patch) | |
| tree | 7a1cff1b8bf2f572752502d1a9efe46639d40e81 | |
| parent | 2a085b29e2754500e87cbb1a90e89301671eabe8 (diff) | |
| download | rumba-a79578988cb2bc7e08a516aca93a3816d996072d.tar.gz rumba-a79578988cb2bc7e08a516aca93a3816d996072d.zip  | |
rhumba: Remove experiment name and add more info
This removes the experiment name in the different experiments. It also
adds some more info to the Node class, such as the full URL of the
node after swap-in.
| -rw-r--r-- | emulab_support.py | 1 | ||||
| -rw-r--r-- | jfed_support.py | 6 | ||||
| -rwxr-xr-x | main.py | 23 | ||||
| -rwxr-xr-x | rhumba.py | 39 | 
4 files changed, 39 insertions, 30 deletions
diff --git a/emulab_support.py b/emulab_support.py index 6fe0055..db779a9 100644 --- a/emulab_support.py +++ b/emulab_support.py @@ -297,6 +297,7 @@ def complete_experiment_graph(testbed, nodes, p2plinks):                  elif link.node_b.name == node.name and \                       link.int_b.ip == item[1]:                      link.int_b.name =  item[0] +        node.full_name = full_name(testbed, node.name)  def setup_vlan(testbed, node_name, vlan_id, int_name):      ''' diff --git a/jfed_support.py b/jfed_support.py index aa933d8..c98277d 100644 --- a/jfed_support.py +++ b/jfed_support.py @@ -100,6 +100,12 @@ def create_experiment(testbed, nodes, links):      create_rspec(testbed, nodes, links)      testbed.manifest = testbed.exp_name + ".rrspec" +    for node in nodes: +        auth_name_r = testbed.auth_name.replace(".", "-") +        node.full_name = node.name + "." + testbed.exp_name + "." + \ +                         testbed.proj_name + "." + auth_name_r + \ +                         "." + testbed.auth_name +      subprocess.call(["java", "-jar", testbed.jfed_jar, "create", "-S", \                       testbed.proj_name, "--rspec", \                       testbed.rspec, "-s", \ @@ -4,28 +4,21 @@  from rhumba import * -n1 = NormalDIF("n1", policies = {"rmt.pff": "lfa", -                                 "security-manager": "passwd"}) -  e1 = ShimEthDIF("e1")  a = Node("a", -         difs = [n1, e1], -         dif_registrations = {n1 : [e1]}, -         registrations = {"a.crap" : [n1]}, -         bindings = {"a.crap" : "/usr/bin/crap"}) +         difs = [e1], +         registrations = {"cbr.a" : [e1]}, +         bindings = {"cbr.a" : "/usr/bin/cbr"})  b = Node("b", -         difs = [e1, n1], -         dif_registrations = {n1 : [e1]}) +         difs = [e1]) -tb = jFedTestbed(exp_name = "letest", -                 username = "sander", -                 cert_file = "cert.pem", -                 jfed_jar = "jfed_cli/experimenter-cli.jar") +tb = EmulabTestbed(exp_name = "test001", +                   username = "sander", +                   url = "wall2.ilabt.iminds.be") -exp = IRATIExperiment("paperino", tb, -                      nodes = [a, b]) +exp = OuroborosExperiment(tb, nodes = [a, b])  print(exp) @@ -67,6 +67,7 @@ class jFedTestbed:          passwd = getpass.getpass(prompt = "Password for certificate file: ")          Testbed.__init__(self, exp_name, username, passwd, proj_name)          self.authority = "urn:publicid:IDN+" + authority + "+authority+cm" +        self.auth_name = authority          self.cert_file = cert_file          self.jfed_jar = jfed_jar          self.exp_hours = exp_hours @@ -144,6 +145,12 @@ class DIF:      def del_member(self, node):          self.members.remove(node) +# Shim over UDP +# +class ShimUDPDIF(DIF): +    def __init__(self, name, members = list()): +        DIF.__init__(self, name, members) +  # Shim over Ethernet  #  # @link_speed [int] Speed of the Ethernet network, in Mbps @@ -195,6 +202,7 @@ class Node:          self.dif_registrations = dif_registrations          self.registrations = registrations          self.bindings = bindings +        self.full_name = name      def __repr__(self):          s = "Node " + self.name + ":\n" @@ -254,13 +262,12 @@ class Node:  # @nodes: Nodes in the experiment  #  class Experiment: -    def __init__(self, name, testbed, nodes = list()): -        self.name = name +    def __init__(self, testbed, nodes = list()):          self.nodes = nodes          self.testbed = testbed      def __repr__(self): -        s = "%s:" % self.name +        s = ""          for n in self.nodes:              s += "\n" + str(n) @@ -278,32 +285,34 @@ class Experiment:  # An experiment over the IRATI implementation  class IRATIExperiment(Experiment): -    def __init__(self, name, testbed, nodes = list()): -        Experiment.__init__(self, name, testbed, nodes) +    def __init__(self, testbed, nodes = list()): +        Experiment.__init__(self, testbed, nodes)      def run(self): -        print("[IRATI experiment %s] start" % self.name) +        print("[IRATI experiment] start")          Experiment.run(self) -        print("[IRATI experiment %s] end" % self.name) +        print("[IRATI experiment] end")  # An experiment over the RLITE implementation  class RLITEExperiment(Experiment): -    def __init__(self, name, testbed, nodes = list()): -        Experiment.__init__(self, name, testbed, nodes) +    def __init__(self, testbed, nodes = list()): +        Experiment.__init__(self, testbed, nodes)      def run(self): -        print("[RLITE experiment %s] start" % self.name) +        print("[RLITE experiment] start")          Experiment.run(self) -        print("[RLITE experiment %s] end" % self.name) +        print("[RLITE experiment] end")  # An experiment over the Ouroboros implementation  class OuroborosExperiment(Experiment): -    def __init__(self, name, testbed, nodes = list()): -        Experiment.__init__(self, name, testbed, nodes) +    def __init__(self, testbed, nodes = list()): +        Experiment.__init__(self, testbed, nodes)      def run(self): -        print("[Ouroboros experiment %s] start" % self.name) +        print("[Ouroboros experiment] start")          Experiment.run(self) -        print("[Ouroboros experiment %s] end" % self.name) +        for node in self.nodes: +            print(node.full_name) +        print("[Ouroboros experiment] end")  | 
