aboutsummaryrefslogtreecommitdiff
path: root/rumba
Commit message (Collapse)AuthorAgeFilesLines
...
* 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.
* 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-173-16/+114
|
* storyboard: make Client shutdown an argumentMarco Capitani2017-11-172-28/+51
| | | | | 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-172-272/+307
| | | | | | | | + 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-1518-4/+72
| | | | | 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-157-179/+530
| | | | | | | 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.
* 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>
* 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-131-0/+27
| | | | | | | | 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.
* 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.
* ssh_support: Close ssh clients properlySander Vrijders2017-10-261-11/+24
| | | | | | | The proxy client was not closed after the command has executed, and in case of an error condition the regular client was also not closed. Fixes #25
* prototypes, testbeds, ssh_support: Add several fixesSander Vrijders2017-10-254-32/+26
| | | | | This adds several fixes in order for rlite to function on the exogeni testbed.
* testbeds: Complete support for exogeni VMs on jfedDimitri Staessens2017-10-252-11/+37
| | | | Selecting "exogeni.net" as an authority for jfed should now work.
* ssh_support: Use native Paramiko API for ProxySander Vrijders2017-10-243-38/+31
| | | | | | This uses the native paramiko API for proxycommands instead of invoking OpenSSH on the host after connecting to it since that gives race conditons with Paramiko.
* testbeds: Add support for selecting jfed VMsDimitri Staessens2017-10-242-6/+33
| | | | | | | | | | Allows setting the attribute machine_type="virtual" for experiment nodes. If the attribute is set to something else than "virtual" a bare metal machine will be selected. If the attribute is not set, the default will be chosen from the jfed testbed. For the wall and cloudlab, the default is physical machines, for the others, it's virtual machines. This default can be overriden by setting the jfed testbed attribute use_physical_machines to True or False.
* testbeds: Fix image selection for jFeddimitri staessens2017-10-181-2/+12
| | | | | The rspec for node images seems to work on all emulab instances if the user is emulab-ops. Tested on cloudlab and virtual wall.
* prototypes: rlite: align to the new rlite releaseVincenzo Maffione2017-10-052-3/+8
|
* Model: add check for disconnected difMarco Capitani2017-09-261-0/+2
|
* examples: Add snake exampleSander Vrijders2017-09-201-1/+1
| | | | | This adds the snake as an example. It forms a single DIF connected node by node. The number of nodes can be passed as parameter.
* testbeds: qemu: Remove unneeded sleepSander Vrijders2017-09-202-3/+1
| | | | | This removes a sleep in the QEMU testbed that was giving errors. It also catches another error in the SSH support.
* Merge branch 'add-irati-ctrl' into 'master'Sander Vrijders2017-09-191-0/+3
|\ | | | | | | | | IRATI: added chmod for /dev/irati-ctrl See merge request arcfire/rumba!69
| * Irati: typo fixMarco Capitani2017-09-191-1/+1
| |
| * IRATI: added chmod for /dev/irati-ctrlMarco Capitani2017-09-191-0/+3
| |