aboutsummaryrefslogtreecommitdiff
path: root/rumba
Commit message (Collapse)AuthorAgeFilesLines
...
* 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
| |
* | Merge branch 'qemu-issue-#21' into 'master'Sander Vrijders2017-09-191-2/+20
|\ \ | | | | | | | | | | | | | | | | | | qemu: added check for timeout and interruption of swap-in processes Closes #21 See merge request arcfire/rumba!71
| * | qemu: added check for timeout and interruption of swap-in processesMarco Capitani2017-09-191-2/+20
| |/
* / model-storyboard: do not fail if a storyboard-related SSH fails.Marco Capitani2017-09-191-6/+29
|/
* Merge branch 'emulab-fix' into 'master'MCapitani2017-09-184-10/+48
|\ | | | | | | | | testbeds: emulab: Continue if experiment is swapped in See merge request arcfire/rumba!68
| * testbeds: jFed: Add swap_out methodSander Vrijders2017-09-181-0/+6
| | | | | | | | This implements the swap_out method for the jFed plugin.
| * testbeds: emulab: Continue if experiment is swapped inSander Vrijders2017-09-183-10/+42
| | | | | | | | | | | | This will let rumba continue if the experiment is already swapped in in emulab, since it is not an error. It also adds the posibility to swap the experiment out from Rumba.
* | IRATI: fix for variable installpathMarco Capitani2017-09-182-13/+18
|/
* rumba: Add better error handling of SSH connectSander Vrijders2017-09-153-24/+45
| | | | | | If an SSH connect doesn't succeed at first, it is retried up to 5 times with an exponential backoff. It also adds an error message in case of an offending host key.
* Merge branch 'dt-mgmt-enroll-split' into 'master'MCapitani2017-09-132-27/+71
|\ | | | | | | | | model: Perform split between different flows See merge request !64
| * model: Perform split between different flowsSander Vrijders2017-09-122-27/+71
| | | | | | | | | | This performs a split between enrollment, data transfer and management flows.
* | build: Add continuous integrationSander Vrijders2017-09-134-41/+76
| | | | | | | | This adds CI to Rumba.
* | Merge branch 'qemu-fix' into 'master'Sander Vrijders2017-09-121-5/+5
|\ \ | |/ |/| | | | | testbeds: qemu: Add dev option to ip link set See merge request !62