aboutsummaryrefslogtreecommitdiff
path: root/rumba/storyboard.py
Commit message (Collapse)AuthorAgeFilesLines
* storyboard: Allow destroying of a DIFSander Vrijders2018-06-011-0/+16
| | | | | This allows the destroying of a DIF while the experiment is running. This to ease the emulation of failures in the network.
* storyboard: fix Event calling get_e_id alwaysMarco Capitani2018-05-091-53/+120
| | | | | | | | | | 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.
* storyboard: add as_root in server and clientMarco Capitani2018-04-271-8/+24
| | | | fixes #52
* 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-231-2/+2
| | | | | This updates the copyright on the license headers to that it is extended to the current year.
* storyboard: add/format docstringsMarco Capitani2018-03-291-158/+444
| | | | | | | | | Also: + small docstring fixes in model + docstring fixes in log + log refactoring + other small refactoring + some small documentation fixes
* testbeds, prototypes, model: Add docstringsSander Vrijders2018-03-281-6/+6
| | | | | This adds docstrings for methods of in the testbeds, prototypes and certain things in the model.
* model: make link quality changes scriptableMarco Capitani2018-03-281-8/+46
| | | | | | | | 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
* 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.
* Merge branch 'master' into testingSander Vrijders2018-03-271-2/+8
|\
| * 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-271-3/+11
| | | | | | | | | | + 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-271-0/+34
| | | | | | | | | | | | | | | | | | 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-261-6/+12
| | | | | | | | | | | | | | 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.
* storyboard: Add link and node up and down eventsSander Vrijders2018-03-191-8/+52
| | | | | | | | | | 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
* storyboard: add replayabilityMarco Capitani2018-03-161-98/+661
| | | | implements #27
* utils & storyboard: add syslog retrieval functionalityMarco Capitani2018-02-271-6/+9
| | | | | Implements #39. Also updated examples.
* storyboard: re-added client applications loggingMarco Capitani2018-02-161-2/+3
|
* storyboard: re-add run_command methodMarco Capitani2018-01-111-39/+81
| | | | | | | | | 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
* storyboard: recover run_command methodMarco Capitani2018-01-081-42/+55
|
* storyboard: fix bug with client durationMarco Capitani2017-12-061-7/+23
| | | | | + Fixes bug introduced in dbc7fd74d8b2c0bf3f2b8f2e81efba8ef2302c1c + implements minimum duration for clients (configurable, default 2 s)
* storyboard: force client to terminate within storyboard lifetimeMarco Capitani2017-12-061-4/+19
| | | | | Before, client could outlive the storyboard and consequently be killed abruptly, leading to ugly logs and more.
* storyboard: add logging and log retrievalMarco Capitani2017-11-171-10/+47
|
* storyboard: make Client shutdown an argumentMarco Capitani2017-11-171-27/+48
| | | | | Before the shutdown call for the Client/ClientProcess was fixed to kill <pid>. Now it's passed as an argument to the Client constructor.
* storyboard: decouple from experimentMarco Capitani2017-11-171-0/+306
+ 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