diff options
-rwxr-xr-x | examples/two-layers.py | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/examples/two-layers.py b/examples/two-layers.py new file mode 100755 index 0000000..3fba54e --- /dev/null +++ b/examples/two-layers.py @@ -0,0 +1,52 @@ +#!/usr/bin/env python + +# An example script using the rumba package + +from rumba.model import * + +# import testbed plugins +import rumba.testbeds.emulab as emulab +import rumba.testbeds.jfed as jfed +import rumba.testbeds.faketestbed as fake + +# import prototype plugins +import rumba.prototypes.ouroboros as our +import rumba.prototypes.rlite as rl +import rumba.prototypes.irati as irati + +n1 = NormalDIF("n1") +n2 = NormalDIF("n2") +n3 = NormalDIF("n3") + +e1 = ShimEthDIF("e1") +e2 = ShimEthDIF("e2") +e3 = ShimEthDIF("e3") + +a = Node("a", + difs = [n3, n1, e1], + dif_registrations = {n3: [n1], n1 : [e1]}, + registrations = {"rinaperf.server" : [n3]}, + bindings = {"rinaperf.server" : "/usr/bin/rinaperf"}) + +b = Node("b", + difs = [n1, e1, e2], + dif_registrations = {n1 : [e1, e2]}) + +c = Node("c", + difs = [n3, n1, n2, e2, e3], + dif_registrations = {n3: [n1, n2], n1 : [e2], n2: [e3]}) + +d = Node("d", + difs = [n3, n2, e3], + dif_registrations = {n3: [n2], n2 : [e3]}) + +tb = fake.Testbed(exp_name = "twolayers", + username = "vmaffio", + proj_name = "cert.pem", + password = "") + +exp = irati.Experiment(tb, nodes = [a, b, c, d]) + +print(exp) + +exp.run() |