aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* 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.
* testbeds, prototypes, model: Add docstringsSander Vrijders2018-03-2813-58/+190
| | | | | This adds docstrings for methods of in the testbeds, prototypes and certain things in the model.
* rumba: Add Rumba documentation websiteSander Vrijders2018-03-2823-237/+389
| | | | | This adds a documentation website for Rumba which is triggered automatically after changes to master.
* model: make link quality changes scriptableMarco Capitani2018-03-283-8/+143
| | | | | | | | 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-263-8/+21
| | | | | | | | | | | | | | 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-262-8/+40
| |
* | storyboard: make Script class privateMarco Capitani2018-03-263-62/+151
|/ | | | | | | | | 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.
* examples: Simplify scalingtime.pySander Vrijders2018-03-201-3/+3
| | | | | | 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.