aboutsummaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authorMarco Capitani <[email protected]>2017-11-16 16:59:04 +0100
committerSander Vrijders <[email protected]>2017-11-17 15:17:31 +0000
commit38e25070ab5e5b74917797f9049dd226afeb9728 (patch)
tree219891c01f85a6c4c8da13c6f247e7230282bad7 /examples
parent9d21bf51eb1765e0bdb15ef3d8b8700327bf2f66 (diff)
downloadrumba-38e25070ab5e5b74917797f9049dd226afeb9728.tar.gz
rumba-38e25070ab5e5b74917797f9049dd226afeb9728.zip
storyboard: add logging and log retrieval
Diffstat (limited to 'examples')
-rwxr-xr-xexamples/example.py55
-rw-r--r--examples/rinaperf_sb-usage.py58
2 files changed, 42 insertions, 71 deletions
diff --git a/examples/example.py b/examples/example.py
index 8d17ff2..a26ab3b 100755
--- a/examples/example.py
+++ b/examples/example.py
@@ -30,26 +30,55 @@ n1.add_policy("security-manager", "passwd")
e1 = ShimEthDIF("e1")
a = Node("a",
- difs = [n1, e1],
- dif_registrations = {n1 : [e1]})
+ difs=[n1, e1],
+ dif_registrations={n1: [e1]})
b = Node("b",
- difs = [e1, n1],
- dif_registrations = {n1 : [e1]})
+ difs=[e1, n1],
+ dif_registrations={n1: [e1]})
-tb = jfed.Testbed(exp_name = "example1",
- username = "user1",
- cert_file = "/home/user1/cert.pem")
+tb = jfed.Testbed(exp_name="example1",
+ username="user1",
+ cert_file="/home/user1/cert.pem")
+
+exp = rl.Experiment(tb, nodes=[a, b])
+
+print(exp)
+
+# General setup (can be reused in other scripts as-is)
+storyboard = StoryBoard(duration=30)
+
+# Clients can be applications that just keep running, and will be
+# stopped by a SIGINT...
+client1 = Client("rinaperf",
+ options="-t perf -s 1000 -c 0")
+
+# ... or a custom shutdown method can be provided.
+client2 = Client("rinaperf",
+ options="-t perf -s 1000 -D <duration>",
+ shutdown="")
+
+server = Server("rinaperf", options="-l", arrival_rate=0.5,
+ mean_duration=5, clients=[client1, client2])
+
+
+# Experiment-specific configuration:
+# (This can be done anytime before storyboard.start())
+
+storyboard.set_experiment(exp)
+storyboard.add_server((server, a))
+client1.add_node(b)
+client2.add_node(b)
-exp = rl.Experiment(tb, nodes = [a, b])
print(exp)
with ExperimentManager(exp):
exp.swap_in()
+ exp.install_prototype()
exp.bootstrap_prototype()
- c1 = Client("rinaperf", options ="-t perf -s 1000 -c 0", nodes=[b])
- s1 = Server("rinaperf", arrival_rate=2, mean_duration=5,
- options = "-l", nodes = [a], clients = [c1])
- sb = StoryBoard(duration=3600, experiment=exp, servers=[s1])
- sb.start()
+ storyboard.start()
+
+ # Fetch the client/server logs from the nodes
+ # and put them in the cwd.
+ storyboard.fetch_logs()
diff --git a/examples/rinaperf_sb-usage.py b/examples/rinaperf_sb-usage.py
deleted file mode 100644
index 0e7ca72..0000000
--- a/examples/rinaperf_sb-usage.py
+++ /dev/null
@@ -1,58 +0,0 @@
-#!/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')