| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
The draw_experiment(exp) function will draw a 3D representation of the
network. Depends on igraph and plotly packages.
Signed-off-by: Dimitri Staessens <[email protected]>
|
|
|
|
| |
This adds the scripts used in the IEEE Network paper.
|
|
|
|
|
| |
This will set the default project name to rumba for most testbeds,
since a dedicated group for rumba experiments has been setup.
|
|
|
|
|
| |
This switches the register and bind operations in the ouroboros
prototype, to avoid a race condition when starting a server very fast.
|
|
|
|
|
|
|
| |
This makes scalingtime.py more generic by allowing the user to pass
command-line arguments to select the prototype, testbed, ...
Fixes #50
|
| |
|
|
|
|
| |
The logger was used but not imported
|
|
|
|
|
|
|
|
| |
Added method accepting only ints and floats to allow
scripting link quality changes
(see example-script additions)
Also added general purpose `sb.schedule_action` method
|
|
|
|
|
|
|
| |
DIFs instances can now be referenced inside .rsb files.
Also changed Node.set_link_state function to accept a DIF
as opposed to an IPCP, since IPCPs are not given a name nor
mentioned is user scripts.
|
| |
|
|
|
|
|
|
|
|
|
| |
The Script class has been made private as the script field
of the Storyboard class. All script-related functions are
now accessible as methods of the storyboard class.
In other news:
Made the script path in script-example.py pwd resilient.
|
|
|
|
|
|
| |
This simplifies scalingtime.py to have the end nodes in the public
internet layer directly on top of the ethernet layer. There is no need
for them to be a part of the metro layer.
|
|
|
|
|
|
|
|
|
|
|
|
| |
This adds support for a testbed based on Docker containers running on
the local host. Bridging the containers can be done using built-in
Linux bridging or using OpenVSwitch bridges.
A new resource 'executor' has been added to abstract away command
execution on nodes on the testbed. Executors have been created for
local command execution, docker exec based command execution and
SSH-based command execution. This has also been changed in the
prototypes to execute using the correct executor.
|
|
|
|
| |
implements #27
|
|
|
|
|
| |
Implements #39.
Also updated examples.
|
|
|
|
| |
This adds the demo as described in the Rumba paper.
|
|
|
|
|
| |
There were some bad registrations in the core. Some rearrangements in
other registrations for consistency.
|
|
|
|
| |
The converged operator example contained some bugs and didn't work anymore with the new checks.
|
|
|
|
|
|
|
|
|
| |
Also:
logging fix in ssh_support,
Enabling changes:
storyboard: refactor 'start' method, it was getting big
some more minor storyboard refactoring for decoupling
update examples to new syntax
|
|
|
|
|
| |
This adds a missing import of the storyboard for the two layers
and the converged operator example.
|
| |
|
|
|
|
|
| |
Before the shutdown call for the Client/ClientProcess was fixed to kill <pid>.
Now it's passed as an argument to the Client constructor.
|
|
|
|
|
|
|
|
| |
+ Node no longer has "client" attribute
+ Client has a "nodes" attribute instead
+ servers, server nodes and the experiment can be added
to a storyboard after instantiation to allow reuse of a SB
+ moved storyboard machinery to a separate module rumba.storyboard
|
|
|
|
|
| |
In order to get infinite duration for the rinaperf test, the "-c 0"
can be used.
|
| |
|
|
|
|
|
|
|
|
| |
Adds an ExperimentManager context manager for scripts:
- No more ugly stack traces after execution if something goes wrong
- No more ugly and easy to forget try-finally blocks
|
| |
|
|
|
|
|
| |
This adds the snake as an example. It forms a single DIF connected
node by node. The number of nodes can be passed as parameter.
|
|
|
|
| |
This adds CI to Rumba.
|
| |
|
|
|
|
|
|
| |
additional:
+ fixed small bug rlated to vhost checking in qemu.
+ example scripts now correctly use policies.
|
|\ |
|
| |
| |
| |
| | |
This adds the infamous mouse to the examples directory.
|
| | |
|
| |
| |
| |
| | |
Fixes #7
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
This adds an initial draft of the API to automate tests on a RINA
network.
|
| | |
|
|/
|
|
|
|
|
|
| |
+ Added policy class
+ Adapted NormalDIF class to use new policy class
+ NormalDIF constructor argument policy has changed format
(parameters dict is now mandatory, added empty dicts where it was not passed)
+ Added Node.policies field (type: dict[DIF -> Policy])
|
| |
|
|
|
|
|
| |
This splits experiment.run() into 4 different operations: swap_in,
install_prototype, bootstrap_prototype and swap_out.
|
| |
|
|
|
|
| |
vm_img_folder --> bzimage, initramfs
|
| |
|
| |
|
| |
|
|
|
|
|
| |
The directory name was always prepended to the class name, but since
they are in distinct namespaces this could be easily removed.
|