aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVincenzo Maffione <v.maffione@gmail.com>2017-03-19 17:37:05 +0100
committerVincenzo Maffione <v.maffione@gmail.com>2017-03-19 17:37:05 +0100
commit921f2fd0423bc82c071f90fb38122e1118461984 (patch)
treefcee08930a7b6c512a4f321bbf1dd17742e3c809
parentcde49edb6d1d4e3a431469f2462126787a154f79 (diff)
downloadrumba-921f2fd0423bc82c071f90fb38122e1118461984.tar.gz
rumba-921f2fd0423bc82c071f90fb38122e1118461984.zip
README: add sketch of the high level design
-rw-r--r--README28
-rw-r--r--rumba/testbeds/qemu.py4
2 files changed, 32 insertions, 0 deletions
diff --git a/README b/README
index 04b2623..cb29f09 100644
--- a/README
+++ b/README
@@ -1,2 +1,30 @@
# measurement-framework
Part of ARCFIRE 2020, WP3 work package.
+
+Workflow, both external and internal:
+
+ (1) user defines the network graph, creating instances of model.Node
+ and model.DIF classes
+
+ (2) user creates an instance of a Testbed class
+
+ (3) user creates an instance of prototype.Experiment class, passing
+ the testbed instance and a list of Node instances
+ - at the endo of the base Experiment constructor, the
+ generate function is called to generate information about
+ per-node IPCPs, registrations and enrollment, ready to be
+ used by the plugins
+
+ (4) user calls run() on the prototype.Experiment instance:
+ - First, run() calls Experiment.swap_in(), which
+ in turns calls Testbed.create_experiment(), passing the
+ nodes and links (?)
+ TODO: fix this interface: what should swap_in(), and
+ so create_experiment() return exactly? Current interface
+ seems broken
+
+ - Second, run() calls a prototype-specific setup function,
+ to create the required IPCPs, perform registrations,
+ enrollments, etc.
+
+ - Third, perform tests (TODO)
diff --git a/rumba/testbeds/qemu.py b/rumba/testbeds/qemu.py
index 4e767e3..d44bb3e 100644
--- a/rumba/testbeds/qemu.py
+++ b/rumba/testbeds/qemu.py
@@ -27,4 +27,8 @@ class Testbed(mod.Testbed):
mod.Testbed.__init__(self, exp_name, username, password, proj_name)
def create_experiment(self, nodes, links):
+ print(links)
print("[QEMU testbed] experiment swapped in")
+
+ def __del__(self):
+ pass