| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
fixes #52
|
|\ |
|
| |
| |
| |
| |
| |
| |
| | |
The ordering of the DT-flows was causing issues when using full-mesh mode due to
creating a disconnected graph of DT-flows. Changed the implementation to first
create the MST-based flows and then augmenting these flows with the full-mesh
flows.
|
| |
| |
| |
| |
| |
| |
| | |
This makes scalingtime.py more generic by allowing the user to pass
command-line arguments to select the prototype, testbed, ...
Fixes #50
|
|/
|
|
|
|
| |
Names were being registered layer-wide, which can give problems in the
local testbed. This changes it to register with the IPCPs in the node
instead.
|
|
|
|
|
| |
Before this would strictly accept only ints.
Now it accepts floats and then rounds them, avoiding nasty surprises
|
|
|
|
| |
This allows argument to also be ints on top of floats
|
|
|
|
|
| |
This updates the copyright on the license headers to that it is
extended to the current year.
|
| |
|
| |
|
|
|
|
|
| |
Fixes #45
Only implemented in IRATI, other prototypes warn and ignore.
|
| |
|
|
|
|
| |
Fixes #47
|
|
|
|
|
|
|
|
| |
previously it was impossible to change the `da.map` configuration.
Now it can be specified via the app_mappings argument in the
constructor and the self.app_mappings of `irati.Experiment`
Fixes #49
|
|
|
|
|
| |
This updates the docs with some feedback from Miguel. It should help
make the documentation easier to follow.
|
|
|
|
| |
The logger was used but not imported
|
|
|
|
|
|
|
| |
Added parameter for passing key path (in case it is not standard)
and exception handling, printing only a warning.
Fixes #48
|
|
|
|
| |
Updates Rumba to version 0.8
|
|
|
|
|
| |
This reorganizes the documentation somewhat to be more
tutorial-styled.
|
|
|
|
|
| |
Changed `rumba.model` into a namespace, moved business logic inside
the rumba.elements package
|
|
|
|
|
| |
This changes the theme and uses a custom css to make sure the body is
spread for the entire width.
|
|
|
|
| |
This adds a link to the Rumba mailing list and IRC channel.
|
|
|
|
|
| |
This restructures the table of contents so that more of a hierarchy is
present.
|
|
|
|
|
|
|
|
|
| |
Also:
+ small docstring fixes in model
+ docstring fixes in log
+ log refactoring
+ other small refactoring
+ some small documentation fixes
|
|
|
|
|
|
| |
This adds docstrings to the model so that Sphinx can parse them. It
also adds some changes to the rst files and conf.py so that inherited
members are shown and special members are not.
|
|
|
|
|
| |
This adds docstrings for methods of in the testbeds, prototypes and
certain things in the model.
|
|
|
|
|
| |
This adds a documentation website for Rumba which is triggered
automatically after changes to master.
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
fixes #17
|
|
|
|
|
| |
Logs were fetched only from server and client nodes.
Now all nodes are searched for logs.
|
|
|
|
| |
Also add overloading in LinkQuality constructor
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This adds the ability to assign delay and loss to links.
4 new object types are introduced:
- LinkQuality
- Delay
- Loss
- Rate
All attributes are read-only, one attribute link_quality is added to the
ShimEthDIF with a callback to the LinkQualityManager which will automatically
apply a new link_quality profile when this attribute is written.
|
|\ |
|
| |
| |
| |
| | |
fixes #42
|
| |
| |
| |
| | |
fixes #43
|
| |
| |
| |
| |
| | |
+ manage spaces in server and client ap when building id
+ fix typo in node.fetch_file
|
| |
| |
| |
| |
| |
| |
| | |
Before storyboard installed the startup only on the client nodes
(i.e. nodes marked in a Client class). Now Clients could be run
outside of their nodes, hence the patch.
Also, incidentally, fixes an issue with server log-files.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This adds the functionality to capture traffic on certain interfaces
so that it can be inspected with tools like wireshark. A user needs to
pass a start and end time and a node and DIF. Rumba will then
determine the correct interface to capture on.
Implements #41
|
| |
| |
| |
| |
| |
| |
| | |
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.
|
|
|
|
|
|
|
|
|
|
| |
This adds link and node up and down events to the storyboard, which
can be called by a user on a specific time. The user needs to pass the
time and the shim Ethernet for a link up or down event and a time and
a node for the node up or down event. The interfaces in that layer or
on that node will then be brought down.
Implements #31
|
|
|
|
|
| |
To align with the ip command, we now use "dev" instead of "if_name" to
specify the interface for an eth-llc or eth-dix IPCP to use.
|
|
|
|
| |
implements #27
|
|
|
|
|
|
|
| |
This ameliorates the code by incorporating Marco's comments. It is now
possible to run the Ouroboros plugin with the fake testbed plugin as
non root. sudo is executed in case it was not done the last 15
minutes. The cleanup is also done properly.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This adds local Ouroboros support in case of a fake testbed (i.e. no
resources allocated). A next PR will abstract away the mode of
communication with the testbed, since the Docker plugin will also need
it.
This also adds another function to the model, terminate_prototype,
which should clean up the prototype gracefully, or can be skipped
depending on the testbed.
Currently the ouroboros plugin with the fake testbed needs to be run
as root. If there is a way to run the command as root in the
background and then clean it up properly, I would be happy to know
how.
|
| |
|