aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* 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.
* 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.
* Merge branch 'be-emulab-image-fix' into 'master'Sander Vrijders2017-10-181-2/+12
|\ | | | | | | | | testbeds: Fix image selection for jFed See merge request arcfire/rumba!79
| * 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.
* rumba: Update to v0.6Sander Vrijders2017-10-181-1/+1
|
* Merge branch 'rlite-align' into 'master'Sander Vrijders2017-10-063-4/+9
|\ | | | | | | | | prototypes: rlite: align to the new rlite release See merge request arcfire/rumba!78
| * prototypes: rlite: align to the new rlite releaseVincenzo Maffione2017-10-053-4/+9
|/
* rumba: Update to v0.5Sander Vrijders2017-10-041-1/+1
|