aboutsummaryrefslogtreecommitdiff
path: root/rumba
Commit message (Collapse)AuthorAgeFilesLines
...
* elements: Fix bad docstringSander Vrijders2018-05-241-1/+1
| | | | This fixes a bad docstring in the export_dif_graph function.
* 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-141-3/+62
| | | | | 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-085-12/+33
|\|
| * 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-031-2/+2
| | | | | | | | 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-253-3/+4
| | | | | | | | | | | | | | 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-2328-64/+107
| | | | | 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.
* 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
* 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-291-1/+3
| | | | | This reorganizes the documentation somewhat to be more tutorial-styled.
* model: split model into two filesMarco Capitani2018-03-294-1341/+1461
| | | | | Changed `rumba.model` into a namespace, moved business logic inside the rumba.elements package
* storyboard: add/format docstringsMarco Capitani2018-03-294-198/+544
| | | | | | | | | 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-281-75/+229
| | | | | | 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.
* testbeds, prototypes, model: Add docstringsSander Vrijders2018-03-2812-56/+183
| | | | | This adds docstrings for methods of in the testbeds, prototypes and certain things in the model.
* rumba: Add Rumba documentation websiteSander Vrijders2018-03-284-47/+75
| | | | | This adds a documentation website for Rumba which is triggered automatically after changes to master.
* model: make link quality changes scriptableMarco Capitani2018-03-282-8/+139
| | | | | | | | 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
* qemu: put ~/.ssh/id_rsa.pub into VM's authorized_keysMarco Capitani2018-03-281-1/+11
| | | | fixes #17
* storyboard: fix in fetch_logsMarco Capitani2018-03-281-9/+1
| | | | | Logs were fetched only from server and client nodes. Now all nodes are searched for logs.
* model: fix case where no quality is providedMarco Capitani2018-03-271-2/+13
| | | | Also add overloading in LinkQuality constructor
* linkquality: added link_quality to add delay, loss and rate limit to linkNick Aerts2018-03-276-36/+211
| | | | | | | | | | | | | | 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.
* Merge branch 'master' into testingSander Vrijders2018-03-272-4/+10
|\
| * irati: fix for da.map calling str(dif) instead of dif.nameMarco Capitani2018-03-271-2/+2
| | | | | | | | fixes #42
| * storyboard: fix for putting logs into paths based on node nameMarco Capitani2018-03-271-2/+8
| | | | | | | | fixes #43
* | model/sb: fix small bugsMarco Capitani2018-03-272-4/+12
| | | | | | | | | | + manage spaces in server and client ap when building id + fix typo in node.fetch_file
* | storyboard: install startup.sh in all nodesMarco Capitani2018-03-271-13/+6
| | | | | | | | | | | | | | 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.
* | storyboard: Add capturing of trafficSander Vrijders2018-03-274-4/+43
| | | | | | | | | | | | | | | | | | 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
* | model: make DIFs scriptableMarco Capitani2018-03-262-7/+18
| | | | | | | | | | | | | | 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.
* | storyboard: add callback parameter to run_client(_of) methodMarco Capitani2018-03-261-8/+29
| |
* | storyboard: make Script class privateMarco Capitani2018-03-261-60/+145
|/ | | | | | | | | 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.
* testbeds: Add docker testbedNick Aerts2018-03-2012-117/+519
| | | | | | | | | | | | 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.
* storyboard: Add link and node up and down eventsSander Vrijders2018-03-192-9/+62
| | | | | | | | | | 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