aboutsummaryrefslogtreecommitdiff
path: root/rumba/testbeds
Commit message (Collapse)AuthorAgeFilesLines
* prototypes: Fix experiment without influxDBDimitri Staessens2021-07-242-1/+1
| | | | | | This fixes creating an experiment without influxDB defined (check for None before iterating). Also fixes setting link rates to 1GbE, as this requires link negotiation to be enabled.
* experiment: Move link rate setting to prototypeDimitri Staessens2021-07-192-2/+1
| | | | | | | Apparently I didn't test my final change for this feature when I moved it from the storyboard to the experiment. It didn't work, I tried to put it in the testbed class, but that was a mess, so for now it's moved to the prototype.
* exp: Add metrics and prototype update commandsDimitri Staessens2021-07-181-5/+2
| | | | | | This adds a couple of commands to start/stop metrics exporter, set link rate on virtual wall, and updating the prototype from git, which is useful in interactive mode.
* testbeds: Fix jfed support for recent CLIDimitri Staessens2021-07-091-21/+49
| | | | | | | | This updates jfed support for some recent changes in the CLI. Since the new CLI requires writing the jfed password to a text file, I added an option to set it in the experiment description too. It will still prompt if not set. There is also an option to enable/disable the bastion server, as there has been some changes to its login.
* testbeds: Fix jfed http proxy for wall deploymentsDimitri Staessens2020-12-151-1/+1
|
* testbeds: Set default project to rumbaSander Vrijders2018-07-275-9/+10
| | | | | This will set the default project name to rumba for most testbeds, since a dedicated group for rumba experiments has been setup.
* testbeds: Abstract away use of http proxy serverSander Vrijders2018-06-282-8/+12
| | | | | | | | Certain testbeds use a proxy to access the outside world. Due to recent changes this was not working anymore. This takes a different approach to re-enable this. It simply adds the lines to /etc/profile after swap-in so that the proxy is added to every shell upon execution.
* testbeds: Fix bad interface name in docker testbedSander Vrijders2018-06-041-14/+49
| | | | | | | Linux has length limits for the name of an interface. This adds an additional check to ensure the name is never too long. It also adds more debug logs which are handy to see the progress of swap-in and out.
* testbeds: Add default image for docker testbedSander Vrijders2018-05-291-7/+18
| | | | | | This adds a default image for the docker testbed for Ouroboros so it is easier for an experimenter to start experimenting with the docker testbed, similarly to the QEMU testbed.
* testbeds: Fix invalid container namesSander Vrijders2018-05-291-3/+3
| | | | | | Docker was failing when the node name was only a single character, which is not allowed. This always adds the prefix 'node-' to node names to solve this problem.
* Merge branch 'master' into testingSander Vrijders2018-05-081-2/+2
|\
| * tools: update democonf2rumbaMarco Capitani2018-05-031-2/+2
| | | | | | | | fixes #53
* | testbeds: Add support for InstageniDimitri Staessens2018-05-081-1/+4
|/ | | | | | This adds support for some Instageni testbeds. Also fixes a bug where putting an unknown authority would lead to an error saying there was no authority specified.
* examples: Make scalingtime.py more genericSander Vrijders2018-04-253-3/+4
| | | | | | | This makes scalingtime.py more generic by allowing the user to pass command-line arguments to select the prototype, testbed, ... Fixes #50
* rumba: Update copyright on license headersSander Vrijders2018-04-236-13/+14
| | | | | This updates the copyright on the license headers to that it is extended to the current year.
* testbeds: remove `Testbed.swap_in` call in _swap_inMarco Capitani2018-04-053-6/+0
| | | | Fixes #47
* qemu: fix failure when there is no id_rsa.pubMarco Capitani2018-04-041-9/+23
| | | | | | | Added parameter for passing key path (in case it is not standard) and exception handling, printing only a warning. Fixes #48
* testbeds, prototypes, model: Add docstringsSander Vrijders2018-03-285-29/+95
| | | | | This adds docstrings for methods of in the testbeds, prototypes and certain things in the model.
* rumba: Add Rumba documentation websiteSander Vrijders2018-03-282-39/+62
| | | | | This adds a documentation website for Rumba which is triggered automatically after changes to master.
* 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.