aboutsummaryrefslogtreecommitdiff
path: root/rhumba.py
diff options
context:
space:
mode:
Diffstat (limited to 'rhumba.py')
-rwxr-xr-xrhumba.py43
1 files changed, 28 insertions, 15 deletions
diff --git a/rhumba.py b/rhumba.py
index d8cb17c..fbcfc8f 100755
--- a/rhumba.py
+++ b/rhumba.py
@@ -23,6 +23,7 @@ import emulab_support as es
import jfed_support as js
import abc
import getpass
+import ouroboros_support as our
# Represents generic testbed info
#
@@ -67,6 +68,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 +146,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 +203,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 +263,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 +286,37 @@ 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")
+ print("Creating resources...")
Experiment.run(self)
- print("[Ouroboros experiment %s] end" % self.name)
+ print("Setting up Ouroboros...")
+ our.setup_ouroboros(self.testbed, self.nodes)
+ print("Binding names...")
+ our.bind_names(self.testbed, self.nodes)
+ print("[Ouroboros experiment] end")