aboutsummaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
Diffstat (limited to 'examples')
-rw-r--r--examples/rinaperf_sb-usage.py58
1 files changed, 58 insertions, 0 deletions
diff --git a/examples/rinaperf_sb-usage.py b/examples/rinaperf_sb-usage.py
new file mode 100644
index 0000000..0e7ca72
--- /dev/null
+++ b/examples/rinaperf_sb-usage.py
@@ -0,0 +1,58 @@
+#!/usr/bin/env python
+
+from rumba.model import *
+from rumba.storyboard import *
+import rumba.testbeds.qemu as qemu
+import rumba.prototypes.irati as irati
+import rumba.log as log
+from rumba.utils import ExperimentManager
+
+log.set_logging_level('DEBUG')
+
+
+n1 = NormalDIF("n1")
+
+n1.add_policy("rmt.pff", "lfa")
+n1.add_policy("security-manager", "passwd")
+
+e1 = ShimEthDIF("e1")
+
+a = Node("a",
+ difs=[n1, e1],
+ dif_registrations={n1: [e1]})
+
+b = Node("b",
+ difs=[e1, n1],
+ dif_registrations={n1: [e1]})
+
+tb = qemu.Testbed(exp_name="example1",
+ username="root",
+ password="root")
+
+exp = irati.Experiment(tb, nodes=[a, b])
+
+
+# General setup (can be reused in other scripts as-is)
+storyboard = StoryBoard(duration=30)
+client = Client("rinaperf",
+ options="-t perf -s 1000 -D <duration>",
+ shutdown="")
+server = Server("rinaperf", options="-l", arrival_rate=0.5,
+ mean_duration=5, clients=[client])
+
+
+# Experiment-specific configuration:
+# (This can be done anytime before storyboard.start())
+
+storyboard.set_experiment(exp)
+storyboard.add_server((server, a))
+client.add_node(b)
+
+
+print(exp)
+
+with ExperimentManager(exp):
+ exp.swap_in()
+ exp.bootstrap_prototype()
+ storyboard.start()
+ input('ENTER')