aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* tools: Add script to generate bandwidth graphsSander Vrijders2018-06-052-4/+118
| | | | | | This adds a script to generate bandwidth graphs from an exported bandwidth csv. It will color the nodes and links depending on the load and also adjust the thickness of the edges.
* storyboard: Add function to export flows statsSander Vrijders2018-06-053-0/+89
| | | | | | | | | | This adds a function to export the bytes sent by flows in a certain DIF. It is implemented within the storyboard, which calls an abstract function in the Experiment class so that every prototype can implement it in its own specific way. This commit adds the implementation for Ouroboros. It exports it to a csv, with the first item the source IPCP, the second the destination IPCP and then the bytes sent on the flow.
* executors: Make local executor more robustSander Vrijders2018-06-051-1/+4
| | | | | | This improves the behavior of the local executor. It will now stop when a command fails and will return the output of an executed command.
* storyboard: add async command executionMarco Capitani2018-06-041-31/+106
| | | | | | | | | The standard command execution function blocks until the command is complete. Even if the command is run in background on the node, this implies that the storyboard has to wait for the SSH handshake to complete and the responses to come back. With the new method, the storyboard will go on with the execution without waiting (callbacks can be registered for reacting).
* testbeds: Fix bad interface name in docker testbedSander Vrijders2018-06-041-14/+49
| | | | | | | Linux has length limits for the name of an interface. This adds an additional check to ensure the name is never too long. It also adds more debug logs which are handy to see the progress of swap-in and out.
* storyboard: Allow destroying of a DIFSander Vrijders2018-06-013-0/+24
| | | | | This allows the destroying of a DIF while the experiment is running. This to ease the emulation of failures in the network.
* testbeds: Allow locally fetching filesSander Vrijders2018-05-291-2/+2
| | | | | | This simply allows to locally fetch a file, which is handy for debugging purposes, for instance obtaining flow stats from the Ouroboros prototype.
* testbeds: Add default image for docker testbedSander Vrijders2018-05-291-7/+18
| | | | | | This adds a default image for the docker testbed for Ouroboros so it is easier for an experimenter to start experimenting with the docker testbed, similarly to the QEMU testbed.
* testbeds: Fix invalid container namesSander Vrijders2018-05-291-3/+3
| | | | | | Docker was failing when the node name was only a single character, which is not allowed. This always adds the prefix 'node-' to node names to solve this problem.
* doc: Add note on generation of documentationSander Vrijders2018-05-281-2/+3
| | | | | This states clearly that Rumba must be installed before generating the documentation.
* rlite: change repo to gitlab/arcfire/rliteMarco Capitani2018-05-282-2/+2
|
* elements: Fix bad docstringSander Vrijders2018-05-241-1/+1
| | | | This fixes a bad docstring in the export_dif_graph function.
* doc: Change copyright to licenseSander Vrijders2018-05-243-1/+8
| | | | This changes the copyright to the CC-4 license.
* elements: Add exporting of DIF graphsSander Vrijders2018-05-151-36/+112
| | | | | | This adds the feature to allow to export a DIF graph to PDF. Enrollments are shown as black, management flows as blue and data transfer flows as red.
* elements: Add exporting connectivity graph to PDFSander Vrijders2018-05-142-4/+64
| | | | | This allows for exporting the connectivity graph to a PDF, which can be used in papers, deliverables, ...
* rumba: Reconnect SSH in case of SIGPIPESander Vrijders2018-05-142-30/+49
| | | | | This reconnects the SSH connection in case the other side unilaterally closed the connection. This often happens with the exogeni testbed.
* elements: Allow exporting to DMS YAMLSander Vrijders2018-05-092-0/+27
| | | | | This allows for exporting the experiment to a YAML format which is parsable by the DMS.
* Merge branch 'master' into testingSander Vrijders2018-05-092-53/+124
|\
| * storyboard: fix Event calling get_e_id alwaysMarco Capitani2018-05-092-53/+124
| | | | | | | | | | | | | | | | | | | | This fixes the behaviour of the Event class which would always call get_e_id and fail if the action is a pure function or not the method of a SBEntity. Now it will simply output a warning if the event is written (because it won't be readable as-is) On top of that, all DIFs are now scriptable, and some small fixes and cleanups.
* | Merge branch 'master' into testingSander Vrijders2018-05-086-17/+51
|\|
| * elements: Experiment: add missing dt_strategy argumentVincenzo Maffione2018-05-082-6/+14
| |
| * elements: Experiment: add missing enrollment_strategy argumentVincenzo Maffione2018-05-084-8/+21
| | | | | | | | | | | | This is necessary to enable scripts to use full-mesh or manual enrollment strategies. Fixes #54.
| * tools: update democonf2rumbaMarco Capitani2018-05-032-7/+20
| | | | | | | | fixes #53
* | testbeds: Add support for InstageniDimitri Staessens2018-05-081-1/+4
|/ | | | | | This adds support for some Instageni testbeds. Also fixes a bug where putting an unknown authority would lead to an error saying there was no authority specified.
* fix for ssh not taking root into accountMarco Capitani2018-05-031-10/+5
|
* storyboard: add as_root in server and clientMarco Capitani2018-04-272-9/+25
| | | | fixes #52
* Merge branch 'master' into testingSander Vrijders2018-04-251-5/+8
|\
| * experimentation: Fixed ordering of DT-flowsNick Aerts2018-04-241-5/+8
| | | | | | | | | | | | | | 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.
* | examples: Make scalingtime.py more genericSander Vrijders2018-04-254-15/+129
| | | | | | | | | | | | | | This makes scalingtime.py more generic by allowing the user to pass command-line arguments to select the prototype, testbed, ... Fixes #50
* | prototypes: Change registration to IPCPSander Vrijders2018-04-251-4/+12
|/ | | | | | 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.
* topology: accept float as delay parameterMarco Capitani2018-04-241-2/+2
| | | | | Before this would strictly accept only ints. Now it accepts floats and then rounds them, avoiding nasty surprises
* storyboard: parse action arg as int before parsing as floatMarco Capitani2018-04-241-10/+16
| | | | This allows argument to also be ints on top of floats
* rumba: Update copyright on license headersSander Vrijders2018-04-2329-65/+108
| | | | | This updates the copyright on the license headers to that it is extended to the current year.
* topology: fix rate-limiting using class-based Qdiscs and HTBEduard2018-04-231-18/+25
|
* model: add parameter for not adding default cubesMarco Capitani2018-04-122-8/+17
|
* model & irati: add QOS cubesMarco Capitani2018-04-125-65/+190
| | | | | Fixes #45 Only implemented in IRATI, other prototypes warn and ignore.
* examples: fix several small issues (import log and sb.generate)Marco Capitani2018-04-053-0/+4
|
* testbeds: remove `Testbed.swap_in` call in _swap_inMarco Capitani2018-04-053-6/+0
| | | | Fixes #47
* irati: add app_mappings argument to experimentMarco Capitani2018-04-051-6/+18
| | | | | | | | 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
* doc: Update docs with feedback from MiguelSander Vrijders2018-04-053-13/+27
| | | | | This updates the docs with some feedback from Miguel. It should help make the documentation easier to follow.
* examples: Import log in snake exampleDimitri Staessens2018-04-051-0/+1
| | | | The logger was used but not imported
* qemu: fix failure when there is no id_rsa.pubMarco Capitani2018-04-041-9/+23
| | | | | | | Added parameter for passing key path (in case it is not standard) and exception handling, printing only a warning. Fixes #48
* Rumba version 0.8Sander Vrijders2018-03-291-1/+1
| | | | Updates Rumba to version 0.8
* doc: Reorganize documentationSander Vrijders2018-03-297-15/+57
| | | | | This reorganizes the documentation somewhat to be more tutorial-styled.
* model: split model into two filesMarco Capitani2018-03-295-1342/+1468
| | | | | Changed `rumba.model` into a namespace, moved business logic inside the rumba.elements package
* doc: Change theme to Read the DocsSander Vrijders2018-03-294-2/+12
| | | | | This changes the theme and uses a custom css to make sure the body is spread for the entire width.
* doc: Update index.rst with mailing list and chatSander Vrijders2018-03-291-0/+7
| | | | This adds a link to the Rumba mailing list and IRC channel.
* doc: Restructure table of contentsSander Vrijders2018-03-295-32/+34
| | | | | This restructures the table of contents so that more of a hierarchy is present.
* storyboard: add/format docstringsMarco Capitani2018-03-297-202/+550
| | | | | | | | | Also: + small docstring fixes in model + docstring fixes in log + log refactoring + other small refactoring + some small documentation fixes
* model: Add docstrings to modelSander Vrijders2018-03-2810-95/+250
| | | | | | 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.