| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
This is necessary to enable scripts to use full-mesh or manual
enrollment strategies.
Fixes #54.
|
|
|
|
|
|
| |
Names were being registered layer-wide, which can give problems in the
local testbed. This changes it to register with the IPCPs in the node
instead.
|
|
|
|
|
| |
This updates the copyright on the license headers to that it is
extended to the current year.
|
| |
|
|
|
|
|
| |
Fixes #45
Only implemented in IRATI, other prototypes warn and ignore.
|
|
|
|
|
|
|
|
| |
previously it was impossible to change the `da.map` configuration.
Now it can be specified via the app_mappings argument in the
constructor and the self.app_mappings of `irati.Experiment`
Fixes #49
|
|
|
|
|
| |
This adds docstrings for methods of in the testbeds, prototypes and
certain things in the model.
|
|
|
|
| |
fixes #42
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
| |
Implements #39.
Also updated examples.
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
This enables exporting the flow statistics of the data transfer
component to the FUSE filesystem.
|
|
|
|
| |
This adds policy support for the Ouroboros plugin.
|
|
|
|
|
|
| |
This adds two extra parameters to the Experiment class, so that users
can specify their custom repositories and branches for testing new
features.
|
|
|
|
|
|
| |
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.
|
|\ |
|
| |
| |
| |
| |
| |
| | |
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.
|
|/
|
|
|
|
|
| |
This measures the time for every public function of the Experiment
class and logs them.
Fixes #40
|
|
|
|
|
| |
The ouroboros CLI was recently updated to use more user-friendly
terminology.
|
|
|
|
|
| |
The ouroboros irm commands were updated to bind the ipcp instance to
the dif and ipcp names automatically.
|
|
|
|
| |
minor: also cleaned up some commented old code
|
|
|
|
|
| |
A flag to parallelize rlite compilation was causing virtual memory
exhaustion on some VMs.
|
|
|
|
|
| |
This adds parallel install for rlite, and speeds it up even more by
passing the number of cores to make.
|
|
|
|
|
| |
This uses a saner name for multiprocessing_utils and adds some
licenses where they were missing and adds Dimitri as author.
|
|
|
|
| |
This will install Ouroboros in parallel on the different nodes.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
The ouroboros install scripts were deprecated. This updates rumba to
install ouroboros using the cmake and make install commands.
|
|
|
|
|
| |
This lets the prototypes use a common function to install packages
through aptitude.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
This reverts commit 16bfd75e0318304727433363217510310787756e.
|
|
|
|
|
| |
This inserts the 802.1Q VLAN module into the kernel to make sure it is
available when creating VLANs for the IRATI shim DIF.
|
|
|
|
|
| |
This uses the zip function to run through the different lists in
bootstrap_prototype, since it is a more elegant solution.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
This is useful if enrollment fails because of packet loss.
|
|
|
|
| |
The package versions specified give conflicts on Ubuntu.
|
|
|
|
|
| |
This adds several fixes in order for rlite to function on the exogeni
testbed.
|
| |
|
| |
|
| |
|
|\
| |
| |
| |
| | |
testbeds: emulab: Continue if experiment is swapped in
See merge request arcfire/rumba!68
|
| |
| |
| |
| |
| |
| | |
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.
|
|/ |
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
This performs a split between enrollment, data transfer and management
flows.
|
|
|
|
|
| |
enroll.py was missing the correct program to execute when executed via
the shell. bash was assumed while Python was needed.
|