| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
| |
This will set the default project name to rumba for most testbeds,
since a dedicated group for rumba experiments has been setup.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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.
|
|\ |
|
| |
| |
| |
| | |
fixes #53
|
|/
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
This makes scalingtime.py more generic by allowing the user to pass
command-line arguments to select the prototype, testbed, ...
Fixes #50
|
|
|
|
|
| |
This updates the copyright on the license headers to that it is
extended to the current year.
|
|
|
|
| |
Fixes #47
|
|
|
|
|
|
|
| |
Added parameter for passing key path (in case it is not standard)
and exception handling, printing only a warning.
Fixes #48
|
|
|
|
|
| |
This adds docstrings for methods of in the testbeds, prototypes and
certain things in the model.
|
|
|
|
|
| |
This adds a documentation website for Rumba which is triggered
automatically after changes to master.
|
|
|
|
| |
fixes #17
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
The locale-gen error persists, even with the new mac2ifname command.
This reintroduces the fix.
|
| |
|
|
|
|
|
| |
Setting the locale sometimes prevented the warning being shown. This
disables the warning alltogether.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
The proxy was not set for the emulab testbed, resulting in weird
errors when trying to use aptitude.
|
|
|
|
|
| |
The Emulab plugin was not functioning anymore after the changes to the
SSH support. This fixes the parsing of the topology map.
|
|
|
|
| |
minor: also cleaned up some commented old code
|
|
|
|
|
| |
This uses a saner name for multiprocessing_utils and adds some
licenses where they were missing and adds Dimitri as author.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
This checks if wall is a substring of the authority to set the image
owner to the wall image owner.
|
|
|
|
|
| |
The hostname for wall1 nodes was wrongly constructed. We now parse the
manifest for all testbeds to get the hostname.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
This adds several fixes in order for rlite to function on the exogeni
testbed.
|
|
|
|
| |
Selecting "exogeni.net" as an authority for jfed should now work.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
The rspec for node images seems to work on all emulab instances if the
user is emulab-ops. Tested on cloudlab and virtual wall.
|
| |
|
|
|
|
|
| |
This removes a sleep in the QEMU testbed that was giving errors. It
also catches another error in the SSH support.
|
| |
|
|
|
|
| |
This implements the swap_out method for the jFed plugin.
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
This adds CI to Rumba.
|