| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
This adds a documentation website for Rumba which is triggered
automatically after changes to master.
|
|
|
|
|
|
|
|
| |
Added method accepting only ints and floats to allow
scripting link quality changes
(see example-script additions)
Also added general purpose `sb.schedule_action` method
|
|
|
|
| |
fixes #17
|
|
|
|
|
| |
Logs were fetched only from server and client nodes.
Now all nodes are searched for logs.
|
|
|
|
| |
Also add overloading in LinkQuality constructor
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|\ |
|
| |
| |
| |
| | |
fixes #42
|
| |
| |
| |
| | |
fixes #43
|
| |
| |
| |
| |
| | |
+ manage spaces in server and client ap when building id
+ fix typo in node.fetch_file
|
| |
| |
| |
| |
| |
| |
| | |
Before storyboard installed the startup only on the client nodes
(i.e. nodes marked in a Client class). Now Clients could be run
outside of their nodes, hence the patch.
Also, incidentally, fixes an issue with server log-files.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| | |
DIFs instances can now be referenced inside .rsb files.
Also changed Node.set_link_state function to accept a DIF
as opposed to an IPCP, since IPCPs are not given a name nor
mentioned is user scripts.
|
| | |
|
|/
|
|
|
|
|
|
|
| |
The Script class has been made private as the script field
of the Storyboard class. All script-related functions are
now accessible as methods of the storyboard class.
In other news:
Made the script path in script-example.py pwd resilient.
|
|
|
|
|
|
| |
This simplifies scalingtime.py to have the end nodes in the public
internet layer directly on top of the ethernet layer. There is no need
for them to be a part of the metro layer.
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|