aboutsummaryrefslogtreecommitdiff
path: root/rumba/testbeds
Commit message (Collapse)AuthorAgeFilesLines
* qemu: put ~/.ssh/id_rsa.pub into VM's authorized_keysMarco Capitani2018-03-281-1/+11
| | | | fixes #17
* linkquality: added link_quality to add delay, loss and rate limit to linkNick Aerts2018-03-275-30/+5
| | | | | | | | | | | | | | This adds the ability to assign delay and loss to links. 4 new object types are introduced: - LinkQuality - Delay - Loss - Rate All attributes are read-only, one attribute link_quality is added to the ShimEthDIF with a callback to the LinkQualityManager which will automatically apply a new link_quality profile when this attribute is written.
* storyboard: Add capturing of trafficSander Vrijders2018-03-271-0/+2
| | | | | | | | | This adds the functionality to capture traffic on certain interfaces so that it can be inspected with tools like wireshark. A user needs to pass a start and end time and a node and DIF. Rumba will then determine the correct interface to capture on. Implements #41
* testbeds: Add docker testbedNick Aerts2018-03-205-10/+218
| | | | | | | | | | | | 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: Add local Ouroboros supportSander Vrijders2018-03-141-1/+4
| | | | | | | | | | | | | | | | 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.
* model & more: add prototype/system log fieldsMarco Capitani2018-02-271-1/+3
| | | | | | | | 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
* testbeds: Fix locale-gen errorDimitri Staessens2018-02-241-0/+5
| | | | | The locale-gen error persists, even with the new mac2ifname command. This reintroduces the fix.
* jfed: simplify mac2ifname to avoid LOCALE problemsMarco Capitani2018-02-121-13/+8
|
* testbeds: Fix local message in jFed testbedDimitri Staessens2018-02-071-3/+8
| | | | | Setting the locale sometimes prevented the warning being shown. This disables the warning alltogether.
* testbeds: Set locale on jfed nodesDimitri Staessens2018-01-191-1/+6
| | | | | | Some exogeni nodes have a bad locale set, which results in a warning message to be prepended in the output of the first command run on the node. Running locale-gen fixes this message.
* testbeds: Add check for jFed return valueSander Vrijders2018-01-121-19/+31
| | | | | | | | This adds a check for the return value whenever jFed is called. It avoids Rumba trying to continue on an experiment that failed to swap in. Fixes #37
* testbeds: Fix bad parsing in emulab pluginSander Vrijders2018-01-091-1/+1
| | | | | Due to either a change in the SSH module or in the emulab interface, the list of interfaces was not parsed correctly, this fixes that.
* 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.
* testbed-qemu: refactor swapout to use call_in_parallelMarco Capitani2017-11-161-184/+49
| | | | minor: also cleaned up some commented old code
* rumba: Use saner names and add Dimitri as authorSander Vrijders2017-11-155-2/+7
| | | | | 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 IRATIMarco Capitani2017-11-152-145/+230
| | | | | | | 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.
* 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.
* 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.
* 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.
* prototypes, testbeds, ssh_support: Add several fixesSander Vrijders2017-10-251-21/+16
| | | | | This adds several fixes in order for rlite to function on the exogeni testbed.
* testbeds: Complete support for exogeni VMs on jfedDimitri Staessens2017-10-251-7/+33
| | | | Selecting "exogeni.net" as an authority for jfed should now work.
* ssh_support: Use native Paramiko API for ProxySander Vrijders2017-10-241-5/+1
| | | | | | 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-241-5/+31
| | | | | | | | | | 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-051-2/+2
|
* testbeds: qemu: Remove unneeded sleepSander Vrijders2017-09-201-2/+0
| | | | | This removes a sleep in the QEMU testbed that was giving errors. It also catches another error in the SSH support.
* qemu: added check for timeout and interruption of swap-in processesMarco Capitani2017-09-191-2/+20
|
* 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-181-7/+38
| | | | | | 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.
* build: Add continuous integrationSander Vrijders2017-09-132-22/+42
| | | | 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
| * testbeds: qemu: Add dev option to ip link setSander Vrijders2017-09-041-5/+5
| | | | | | | | | | If the dev option is omitted, the command may fail on short names that resemble options.
* | Merge branch 'master' of gitlab.com:arcfire/rumbaSander Vrijders2017-09-081-0/+3
|\ \
| * | qemu: fix for zombie processesMarco Capitani2017-09-061-0/+3
| |/
* / rumba: Update license headersSander Vrijders2017-09-085-18/+61
|/ | | | | This makes the license headers uniform and adds the authors and a copyright.
* Model & ssh: ssh-related methods renamingMarco Capitani2017-07-281-1/+1
|
* Merge branch 'master' into storyboard-implMarco Capitani2017-07-282-27/+30
|\
| * rumba: Better placement of files created by RumbaSander Vrijders2017-06-192-27/+30
| | | | | | | | | | | | | | | | | | 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
* | ssh & model-storyboard: changed ssh API, added node.execute* methodsMarco Capitani2017-06-303-7/+11
|/
* Merge branch 'policies' into 'master'Vincenzo Maffione2017-06-151-5/+6
|\ | | | | | | | | Add per-node policy management See merge request !44
| * IRATI: added per-node policy support, and revamped policy data model.Marco Capitani2017-06-131-5/+6
| | | | | | | | | | | | additional: + fixed small bug rlated to vhost checking in qemu. + example scripts now correctly use policies.
* | jFed: added backoff; model: fix for rumba-accessMarco Capitani2017-06-151-2/+12
|/ | | | | | | + added 2 seconds sleep after jfed cli returns to avoid calling not-yet-ready nodes. + moved ssh_info to tools/ folder i.e. where rumba-access assumes it is.
* JFed: removed mac2ifname.shMarco Capitani2017-06-131-2/+0
|
* jfed: build mac2ifname; model: added flags to testbedMarco Capitani2017-06-091-5/+12
|
* qemu: fix for devices permissionMarco Capitani2017-06-071-0/+7
|
* Merge branch 'master' into jfed-irati-fixesMarco Capitani2017-06-072-4/+27
|\
| * testbeds: jfed: Update image URISander Vrijders2017-06-071-1/+1
| | | | | | | | | | The GeniSlices URI was being used, but it is better to use the virtual wall one for now.
| * Merge branch 'download' into 'master'Vincenzo Maffione2017-06-011-3/+21
| |\ | | | | | | | | | | | | QEMU plugin: download buildroot images if not provided by the user See merge request !51
| | * qemu testbed: use the prototype name to get the right buildroot imageVincenzo Maffione2017-06-011-15/+17
| | |