aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDimitri Staessens <dimitri.staessens@ugent.be>2017-11-01 08:54:10 +0100
committerDimitri Staessens <dimitri.staessens@ugent.be>2017-11-01 09:08:24 +0100
commite4ed30b5b2ad6d33d2afd656523e78627f1f9195 (patch)
tree73f8dad37ea69a0bb7f45363278e89da7c0ef5c1
parent2a068278a02c84bce4a5be713bd4e7d46da0f209 (diff)
downloadrumba-e4ed30b5b2ad6d33d2afd656523e78627f1f9195.tar.gz
rumba-e4ed30b5b2ad6d33d2afd656523e78627f1f9195.zip
Update README explaining jFed testbed options
-rw-r--r--README.md67
1 files changed, 44 insertions, 23 deletions
diff --git a/README.md b/README.md
index 750f528..5f42618 100644
--- a/README.md
+++ b/README.md
@@ -1,32 +1,31 @@
# Rumba: A framework to bootstrap a RINA network on a testbed
-Rumba is part of ARCFIRE 2020, Work Package 3. It is a framework in
-Python which allows a user to write a Python script to define a RINA
-network. The physical graph needed for this RINA network is then
-calculated and realised on one of the supported testbeds. Next, if the
-user requests this, one of the supported RINA prototypes is
-installed. The network is then bootstrapped on the available
-nodes. Finally, the experiment can be swapped out of the testbed. For
-an example of such a Python script, have a look at the examples/
-folder.
+Rumba is a Python framework that allows users to write Python scripts
+to define RINA networks and run scripted experiments. First, Rumba,
+creates a physical network on one of the selected testbed. If needed,
+Rumba can do an installation of the RINA prototype on the testbed
+machines. The RINA network is then bootstrapped on the available
+nodes. Finally, the experiment can be swapped out of the testbed.
+
+Example scripts can be found in the examples/ folder.
## Workflow, both external and internal:
- 1. User defines the network graph, creating instances of model.Node
- and model.DIF classes
+ 1. Define the network graph, creating instances of model.Node and
+ model.DIF classes.
- 2. User creates an instance of a Testbed class. See below for
- testbed specific configuration
+ 2. Create an instance of a Testbed class. See below for testbed
+ specific configuration.
- 3. User creates an instance of prototype.Experiment class, passing
- the testbed instance and a list of Node instances
+ 3. Create an instance of the prototype.Experiment class, passing the
+ testbed instance and a list of Node instances.
1. At the end 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
+ used by the plugins.
- 4. User calls methods on the prototype.Experiment instance:
+ 4. Call methods on the prototype.Experiment instance:
1. swap_in() swaps the experiment in on the testbed, and fills in
the missing information in the model.
@@ -50,10 +49,11 @@ folder.
Rumba can be found on the
[PyPi](https://pypi.python.org/pypi/Rumba) and can thus be
- installed through pip, by using `pip install rumba`. However, to
- install the latest version, after cloning the repository, a user
- can also issue `python setup.py install`.
+ installed through pip, by using `pip install rumba`. To install
+ the latest version, cloning the repository and install it from the
+ command line:
+ # python setup.py install
## Supported prototypes
@@ -65,8 +65,8 @@ folder.
and Open Source implementation of the Recursive InterNetwork
Architecture (RINA) for GNU/Linux operating systems.
- * Ouroboros is a user-space implementation of RINA with a focus on
- portability. It is written in C89 and works on any POSIX.1-2008
+ * Ouroboros is a user-space implementation with a focus on
+ portability. It is written in C89 and works on any POSIX.1-2001
enabled system.
## Supported testbeds
@@ -127,7 +127,23 @@ folder.
Here the experiment name is rochefort10, the user's name is
ricksanchez, and the certificate can be found in
/home/morty/cert.pem. An absolute path must be used for
- cert_file. Optionally a custom image can be selected.
+ cert_file.
+
+ To select a specific jFed testbed, set the authority parameter. The
+ emulab and exogeni testbeds are stable and can be selected, for
+ instance:
+
+ authority = "wall2.ilabt.iminds.be",
+
+ or
+
+ authority = "exogeni.net",
+
+ On the emulab testbeds, a specific machine image can be selected
+ (set image_custom to True if you created a custom image):
+
+ image = "irati171031",
+ image_custom = True,
Before running the rumba you must run an SSH agent in same terminal.
This will also avoid you having to enter the passphrase for every
@@ -154,3 +170,8 @@ folder.
Where $NODE_NAME is the name of the node to access. In case of the
QEMU testbed, the password of the downloaded buildroot images is
'root'.
+
+## Acknowledgements
+
+ Rumba is developed as part of the ARCFIRE project, funded by the
+ European commission under the H2020 framework. \ No newline at end of file