| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
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.
|
|
|
|
|
| |
This adds docstrings for methods of in the testbeds, prototypes and
certain things in the model.
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
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 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 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 performs a split between enrollment, data transfer and management
flows.
|
|
|
|
|
| |
This makes the license headers uniform and adds the authors and a
copyright.
|
| |
|
|
|
|
| |
This is convenient for compatibility between Python 2 and 3.
|
| |
|
|
|
|
| |
Fixes #7
|
|
|
|
|
|
|
| |
This fixes a conceptual bug, that was leading to unnecessary
workarounds in the prototype plugins.
All the plugins have been modified to use the correct format of
enrollment lists.
|
|\ |
|
| |
| |
| |
| |
| | |
This splits experiment.run() into 4 different operations: swap_in,
install_prototype, bootstrap_prototype and swap_out.
|
|/
|
|
|
| |
+ Added logging, migrated, default logging configuration is to stdout.
+ Minor PEP8 adjustments all-around
|
|
|
|
|
|
| |
Only the hostname was passed to the ssh_support component. This passes
an object that can also hold the port number. It can be extended to
take other things as well, such as a proxy.
|
|
|
|
|
|
| |
This will implement all the commands necessary for bootstrapping a
network that runs Ouroboros. APs are be bound to a name, IPCPs either
bootstrapped or enrolled, and names registered in DIFs.
|
| |
|
|
|
|
| |
This fixes several warnings and errors as reported by pylint.
|
|
|
|
|
|
| |
This fixes a bug where the same list was used in every instantiation
of a class. Apparently you have to pass 'None' as parameter and check
for that instead of passing the default constructor of the list.
|
|
|
|
|
| |
The directory name was always prepended to the class name, but since
they are in distinct namespaces this could be easily removed.
|
|
This renames the package to rumba, since rhumba was already taken on
the PyPi.
|