| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
| |
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 link and node up and down events to the storyboard, which
can be called by a user on a specific time. The user needs to pass the
time and the shim Ethernet for a link up or down event and a time and
a node for the node up or down event. The interfaces in that layer or
on that node will then be brought down.
Implements #31
|
|
|
|
|
| |
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.
|
|
|
|
| |
implements #27
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
The locale-gen error persists, even with the new mac2ifname command.
This reintroduces the fix.
|
| |
|
|
|
|
| |
This adds the demo as described in the Rumba paper.
|
|
|
|
| |
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.
|
| |
| |
| |
| |
| | |
There were some bad registrations in the core. Some rearrangements in
other registrations for consistency.
|
| |
| |
| |
| |
| | |
Setting the locale sometimes prevented the warning being shown. This
disables the warning alltogether.
|
|\| |
|
| |
| |
| |
| | |
The converged operator example contained some bugs and didn't work anymore with the new checks.
|
|\| |
|
| |
| |
| |
| |
| |
| | |
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
|
|\| |
|
| |
| |
| |
| |
| |
| |
| | |
This fixes a bug for when the default image is Ubuntu, which updates
the packages upon swap-in, since the update deadline has been
met. This commit waits for it to finish and then updates and installs
the packages until it works.
|
|/
|
|
|
|
| |
This adds a check to see that the number of members in the ShimEthDIF
class is not exceeded by two, since it is currently not supported by
Rumba.
|
|
|
|
|
|
|
|
|
| |
Also:
logging fix in ssh_support,
Enabling changes:
storyboard: refactor 'start' method, it was getting big
some more minor storyboard refactoring for decoupling
update examples to new syntax
|
|\ |
|
| |
| |
| |
| |
| | |
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.
|
|/ |
|
|\ |
|
| |
| |
| |
| |
| |
| | |
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.
|
|
|
|
|
| |
+ Fixes bug introduced in dbc7fd74d8b2c0bf3f2b8f2e81efba8ef2302c1c
+ implements minimum duration for clients (configurable, default 2 s)
|
|
|
|
|
| |
Before, client could outlive the storyboard and consequently be
killed abruptly, leading to ugly logs and more.
|
|
|
|
|
| |
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.
|
|
|
|
| |
Updates Rumba to version 0.7
|
|
|
|
|
| |
This adds a missing import of the storyboard for the two layers
and the converged operator example.
|
|
|
|
|
| |
This adds a check in case Python 2 is used, since it doesn't have
input(). It assigns raw_input to input if this is the case.
|
|
|
|
|
|
| |
This adds 4 commands to disable aptitude trying to update
automatically, since it was causing Rumba to fail since the automatic
updates were taking the lock.
|
| |
|
|
|
|
|
| |
Before the shutdown call for the Client/ClientProcess was fixed to kill <pid>.
Now it's passed as an argument to the Client constructor.
|