aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'master' into testingSander Vrijders2017-12-271-2/+2
|\
| * prototypes: Avoid warnings on autobind of non normal IPCPsSander Vrijders2017-12-271-2/+2
| | | | | | | | | | | | Autobind was happening for all IPCPs, regardless if they were normal IPCPs or not. This fixes it so that it is only called for normal IPCPs, which avoids warnings in the logs.
* | model: Add timings for every public Experiment callSander Vrijders2017-12-264-8/+32
|/ | | | | | | This measures the time for every public function of the Experiment class and logs them. Fixes #40
* prototypes: Adapt to ouroboros CLI updateDimitri Staessens2017-12-221-10/+10
| | | | | The ouroboros CLI was recently updated to use more user-friendly terminology.
* prototypes: Use autobind option for ouroborosDimitri Staessens2017-12-071-9/+7
| | | | | The ouroboros irm commands were updated to bind the ipcp instance to the dif and ipcp names automatically.
* 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.
* testbeds: Add proxy for emulab testbedSander Vrijders2017-11-281-0/+3
| | | | | The proxy was not set for the emulab testbed, resulting in weird errors when trying to use aptitude.
* testbeds: Fix bad parsing in emulab pluginSander Vrijders2017-11-281-1/+1
| | | | | The Emulab plugin was not functioning anymore after the changes to the SSH support. This fixes the parsing of the topology map.
* rumba: Update to v0.7Sander Vrijders2017-11-211-1/+1
| | | | Updates Rumba to version 0.7
* examples: Add import for storyboardSander Vrijders2017-11-212-0/+2
| | | | | This adds a missing import of the storyboard for the two layers and the converged operator example.
* utils: Add check for Python 2Sander Vrijders2017-11-211-0/+6
| | | | | This adds a check in case Python 2 is used, since it doesn't have input(). It assigns raw_input to input if this is the case.
* ssh_support: Disable automatic aptitude updatesSander Vrijders2017-11-211-1/+5
| | | | | | This adds 4 commands to disable aptitude trying to update automatically, since it was causing Rumba to fail since the automatic updates were taking the lock.
* storyboard: add logging and log retrievalMarco Capitani2017-11-175-87/+156
|
* storyboard: make Client shutdown an argumentMarco Capitani2017-11-173-28/+109
| | | | | 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-173-276/+311
| | | | | | | | + 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
* testbed-qemu: refactor swapout to use call_in_parallelMarco Capitani2017-11-163-233/+80
| | | | minor: also cleaned up some commented old code
* utils: add exception logging for CMMarco Capitani2017-11-161-0/+1
| | | | | The stacktrace of the exception (if any) encountered in the execution will be printed at debug level, for debug purposes.
* prototypes: Remove flag from make of rliteSander Vrijders2017-11-151-2/+1
| | | | | A flag to parallelize rlite compilation was causing virtual memory exhaustion on some VMs.
* prototypes: Add parallel install for rliteSander Vrijders2017-11-151-3/+19
| | | | | This adds parallel install for rlite, and speeds it up even more by passing the number of cores to make.
* rumba: Use saner names and add Dimitri as authorSander Vrijders2017-11-1519-5/+74
| | | | | This uses a saner name for multiprocessing_utils and adds some licenses where they were missing and adds Dimitri as author.
* prototypes: Add parallel installation for OuroborosSander Vrijders2017-11-152-5/+22
| | | | This will install Ouroboros in parallel on the different nodes.
* ssh_support: Fix predictable interface namesSander Vrijders2017-11-151-7/+3
| | | | | | The previous fix for predictable interface names was not always working. This commit creates symlinks to /dev/null/ to avoid renaming of the interfaces.
* prototypes: Add parallel installation for IRATIMarco Capitani2017-11-158-180/+531
| | | | | | | This adds parallel installation for IRATI, it also adds support for multithread/multiprocess logging. Furthermore prototype-agnostic utilities for multiprocessing have been added. Caching of clients has been re-enabled for the ssh connections.
* prototypes: Fix VLAN setup for IRATI on UbuntuDimitri Staessens2017-11-152-20/+23
| | | | | | | Some exogeni nodes have scripts that auto-rename interfaces in a way that causes conflicts with VLAN setup for IRATI. This removes those scripts and restarts the network daemon for the changes to take effect.
* utils: add swap_out after prompt in ExperimentManagerMarco Capitani2017-11-151-2/+10
|
* ssh_support: Fix dpkg wait scriptMarco Capitani2017-11-151-2/+2
| | | | | This fixes the dpkg wait script as it was not being executed correctly.
* prototypes: Update ouroboros installDimitri Staessens2017-11-151-3/+5
| | | | | The ouroboros install scripts were deprecated. This updates rumba to install ouroboros using the cmake and make install commands.
* prototypes: Use common aptitude install functionSander Vrijders2017-11-154-23/+49
| | | | | This lets the prototypes use a common function to install packages through aptitude.
* prototypes: Wait before IRATI installDimitri Staessens2017-11-151-1/+3
| | | | | | | This adds a command that waits for any running package managers before attempting to update apt. This avoids bailing from some exogeni virtual machines, which seem to perform some package management in the background at boot.
* examples: fix rinaperf invocationVincenzo Maffione2017-11-151-3/+4
| | | | | In order to get infinite duration for the rinaperf test, the "-c 0" can be used.
* ssh_support: Use ip link set for creating VLANsDimitri Staessens2017-11-151-1/+1
| | | | | | This replaces the deprecated ifconfig command. Signed-off-by: Dimitri Staessens <dimitri.staessens@ugent.be>
* examples: add example for converged operator networkVincenzo Maffione2017-11-141-0/+201
|
* Revert "prototypes: modprobe 8021q before running IRATI"Sander Vrijders2017-11-141-2/+1
| | | | This reverts commit 16bfd75e0318304727433363217510310787756e.
* prototypes: modprobe 8021q before running IRATIDimitri Staessens2017-11-131-1/+2
| | | | | This inserts the 802.1Q VLAN module into the kernel to make sure it is available when creating VLANs for the IRATI shim DIF.
* testbeds: Simplify test in jfed.pyDimitri Staessens2017-11-131-3/+1
| | | | | This checks if wall is a substring of the authority to set the image owner to the wall image owner.
* storyboard: Add run_command methodMarco Capitani2017-11-131-12/+48
| | | | | This adds a run_command method to allow experimenters to execute a single command at a give time on a specified node.
* utils, examples: Add ExperimentManager CMMarco Capitani2017-11-137-20/+44
| | | | | | | | Adds an ExperimentManager context manager for scripts: - No more ugly stack traces after execution if something goes wrong - No more ugly and easy to forget try-finally blocks
* prototypes: ouroboros: Use zip functionSander Vrijders2017-11-131-5/+6
| | | | | This uses the zip function to run through the different lists in bootstrap_prototype, since it is a more elegant solution.
* prototypes: Fix ouroboros multi-layer enrollmentDimitri Staessens2017-11-132-43/+55
| | | | | | | Enrollments were performed together before connection setup was performed in lower rank DIFs, which caused IPCPs of N+1 DIFs to enroll over DIFs that had no data transfer connectivity. Enrollment and connection establishment are now performed per-DIF to solve this.
* ssh_support: Fix closing of proxy ssh clientSander Vrijders2017-11-091-4/+2
| | | | | The proxy ssh client was being closed even if it didn't exist. This adds a check to see if it needs to be closed.
* SSH: added client.close() and better error handlingMarco Capitani2017-11-091-24/+28
|
* SSH: added stderr to output in case of commmand errorMarco Capitani2017-11-091-2/+9
|
* prototypes: Always parse manifest for hostnameDimitri Staessens2017-11-091-12/+3
| | | | | The hostname for wall1 nodes was wrongly constructed. We now parse the manifest for all testbeds to get the hostname.
* prototypes: rlite: use the retry version of enrollment commandVincenzo Maffione2017-11-091-1/+1
| | | | This is useful if enrollment fails because of packet loss.
* prototypes: Update IRATI installDimitri Staessens2017-11-091-2/+2
| | | | The package versions specified give conflicts on Ubuntu.
* tools: Update rumba-access to new proxy commandSander Vrijders2017-11-071-4/+4
| | | | | | | | After the refactor of ssh_support to use the native paramiko way to setup an ssh connection via a proxy, rumba-access stopped working, since it relied on the exporting of the proxy command to ssh_info. This commit updates rumba-access to take the refactor into account.
* Update README explaining jFed testbed optionsDimitri Staessens2017-11-011-23/+44
|
* testbeds: Fix check for physical machinesDimitri Staessens2017-10-301-1/+1
| | | | | | The check for the value of the "exclusive" attribute was comparing to the boolean True instead of the string "true", causing the selection of default VM images regardless of this setting.
* rumba: Add persistent SSH connectionsSander Vrijders2017-10-262-23/+23
| | | | | | This adds persistent SSH connections to Rumba. A new SSH client will be opened for every node in the experiment, which is closed after all experimentation is done.