aboutsummaryrefslogtreecommitdiff
path: root/rumba/prototypes
Commit message (Collapse)AuthorAgeFilesLines
* irati: fix for da.map calling str(dif) instead of dif.nameMarco Capitani2018-03-271-2/+2
| | | | fixes #42
* testbeds: Add docker testbedNick Aerts2018-03-201-32/+17
| | | | | | | | | | | | This adds support for a testbed based on Docker containers running on the local host. Bridging the containers can be done using built-in Linux bridging or using OpenVSwitch bridges. A new resource 'executor' has been added to abstract away command execution on nodes on the testbed. Executors have been created for local command execution, docker exec based command execution and SSH-based command execution. This has also been changed in the prototypes to execute using the correct executor.
* prototypes: Replace if_name with dev for ouroborosDimitri Staessens2018-03-171-1/+1
| | | | | To align with the ip command, we now use "dev" instead of "if_name" to specify the interface for an eth-llc or eth-dix IPCP to use.
* prototypes: Improve ouroboros support for fake testbedSander Vrijders2018-03-151-2/+4
| | | | | | | This ameliorates the code by incorporating Marco's comments. It is now possible to run the Ouroboros plugin with the fake testbed plugin as non root. sudo is executed in case it was not done the last 15 minutes. The cleanup is also done properly.
* prototypes: Add local Ouroboros supportSander Vrijders2018-03-143-20/+65
| | | | | | | | | | | | | | | | This adds local Ouroboros support in case of a fake testbed (i.e. no resources allocated). A next PR will abstract away the mode of communication with the testbed, since the Docker plugin will also need it. This also adds another function to the model, terminate_prototype, which should clean up the prototype gracefully, or can be skipped depending on the testbed. Currently the ouroboros plugin with the fake testbed needs to be run as root. If there is a way to run the command as root in the background and then clean it up properly, I would be happy to know how.
* irati: add prototype log parameterMarco Capitani2018-02-271-2/+3
|
* utils & storyboard: add syslog retrieval functionalityMarco Capitani2018-02-271-1/+5
| | | | | Implements #39. Also updated examples.
* model & more: add prototype/system log fieldsMarco Capitani2018-02-272-3/+4
| | | | | | | | This commit adds the fields necessary to specify the paths and folders related to system logs and prototype logs and fetching them. Defaults are introduced and specific paths for rlite & qemu
* prototypes: Show flow statistics for ouroborosDimitri Staessens2018-02-241-2/+3
| | | | | This enables exporting the flow statistics of the data transfer component to the FUSE filesystem.
* prototypes: Add policy support for OuroborosSander Vrijders2018-02-131-0/+5
| | | | This adds policy support for the Ouroboros plugin.
* prototypes: Add option to choose git repo and branchSander Vrijders2018-02-133-12/+20
| | | | | | This adds two extra parameters to the Experiment class, so that users can specify their custom repositories and branches for testing new features.
* prototypes: Fix registration in Ouroboros pluginSander Vrijders2018-02-121-2/+11
| | | | | | Registration was being done before the bootstrapped IPCP was actually reachable over the N-1 layer. This only does the registration once the layer below is fully connected.
* 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-263-6/+6
|/ | | | | | | 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.
* testbed-qemu: refactor swapout to use call_in_parallelMarco Capitani2017-11-161-5/+1
| | | | minor: also cleaned up some commented old code
* 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-156-2/+8
| | | | | 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.
* prototypes: Add parallel installation for IRATIMarco Capitani2017-11-151-7/+18
| | | | | | | 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-151-5/+5
| | | | | | | 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.
* 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-153-23/+21
| | | | | 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.
* 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.
* 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-131-43/+39
| | | | | | | 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.
* 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.
* prototypes, testbeds, ssh_support: Add several fixesSander Vrijders2017-10-252-10/+9
| | | | | This adds several fixes in order for rlite to function on the exogeni testbed.
* prototypes: rlite: align to the new rlite releaseVincenzo Maffione2017-10-051-1/+6
|
* Irati: typo fixMarco Capitani2017-09-191-1/+1
|
* IRATI: added chmod for /dev/irati-ctrlMarco Capitani2017-09-191-0/+3
|
* Merge branch 'emulab-fix' into 'master'MCapitani2017-09-181-1/+2
|\ | | | | | | | | testbeds: emulab: Continue if experiment is swapped in See merge request arcfire/rumba!68
| * testbeds: emulab: Continue if experiment is swapped inSander Vrijders2017-09-181-1/+2
| | | | | | | | | | | | 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-152-1/+3
| | | | | | 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.
* model: Perform split between different flowsSander Vrijders2017-09-121-1/+21
| | | | | This performs a split between enrollment, data transfer and management flows.
* prototypes: Fix enroll.pySander Vrijders2017-09-121-0/+1
| | | | | enroll.py was missing the correct program to execute when executed via the shell. bash was assumed while Python was needed.
* rumba: Update license headersSander Vrijders2017-09-086-15/+98
| | | | | This makes the license headers uniform and adds the authors and a copyright.
* Model & ssh: ssh-related methods renamingMarco Capitani2017-07-281-1/+1
|
* rumba: Better placement of files created by RumbaSander Vrijders2017-06-191-1/+1
| | | | | | | | | Temporary files such as ssh_info, the rspecs, logs, ... are now created in /tmp/rumba to avoid too many files being created and never removed. The VM images and jFed CLI are kept in ~/.cache/rumba to avoid redownloading every reboot. Closes #18, #19
* irati: update kernel versionVincenzo Maffione2017-06-151-1/+1
|
* Merge branch 'policies' into 'master'Vincenzo Maffione2017-06-152-7/+12
|\ | | | | | | | | Add per-node policy management See merge request !44
| * IRATI: added per-node policy support, and revamped policy data model.Marco Capitani2017-06-132-7/+12
| | | | | | | | | | | | additional: + fixed small bug rlated to vhost checking in qemu. + example scripts now correctly use policies.
* | rumba: prototypes: Fix bad indentationSander Vrijders2017-06-151-1/+1
| |