aboutsummaryrefslogtreecommitdiff
path: root/rumba/model.py
Commit message (Collapse)AuthorAgeFilesLines
* rumba: Add persistent SSH connectionsSander Vrijders2017-10-261-0/+7
| | | | | | This adds persistent SSH connections to Rumba. A new SSH client will be opened for every node in the experiment, which is closed after all experimentation is done.
* ssh_support: Use native Paramiko API for ProxySander Vrijders2017-10-241-3/+3
| | | | | | 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.
* testbeds: Add support for selecting jfed VMsDimitri Staessens2017-10-241-1/+2
| | | | | | | | | | 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.
* Model: add check for disconnected difMarco Capitani2017-09-261-0/+2
|
* model-storyboard: do not fail if a storyboard-related SSH fails.Marco Capitani2017-09-191-6/+29
|
* Merge branch 'dt-mgmt-enroll-split' into 'master'MCapitani2017-09-131-26/+50
|\ | | | | | | | | model: Perform split between different flows See merge request !64
| * model: Perform split between different flowsSander Vrijders2017-09-121-26/+50
| | | | | | | | | | This performs a split between enrollment, data transfer and management flows.
* | build: Add continuous integrationSander Vrijders2017-09-131-0/+6
|/ | | | This adds CI to Rumba.
* rumba: Update license headersSander Vrijders2017-09-081-3/+7
| | | | | This makes the license headers uniform and adds the authors and a copyright.
* Model & ssh: ssh-related methods renamingMarco Capitani2017-07-281-6/+6
|
* model: Fixed some commentsMarco Capitani2017-07-281-2/+0
|
* Merge branch 'master' into storyboard-implMarco Capitani2017-07-281-4/+19
|\
| * rumba: Better placement of files created by RumbaSander Vrijders2017-06-191-4/+17
| | | | | | | | | | | | | | | | | | Temporary files such as ssh_info, the rspecs, logs, ... are now created in /tmp/rumba to avoid too many files being created and never removed. The VM images and jFed CLI are kept in ~/.cache/rumba to avoid redownloading every reboot. Closes #18, #19
* | ssh & model-storyboard: changed ssh API, added node.execute* methodsMarco Capitani2017-06-301-33/+90
| |
* | Storyboard testedMarco Capitani2017-06-221-12/+28
| |
* | Merge branch 'master' into storyboard-implMarco Capitani2017-06-211-12/+121
|\|
| * IRATI: added per-node policy support, and revamped policy data model.Marco Capitani2017-06-131-19/+59
| | | | | | | | | | | | additional: + fixed small bug rlated to vhost checking in qemu. + example scripts now correctly use policies.
| * Merge branch 'master' into policiesMarco Capitani2017-06-131-55/+179
| |\
| * | model: added policy class + policy-oriented API fixesMarco Capitani2017-04-281-11/+76
| | | | | | | | | | | | | | | | | | | | | | | | + Added policy class + Adapted NormalDIF class to use new policy class + NormalDIF constructor argument policy has changed format (parameters dict is now mandatory, added empty dicts where it was not passed) + Added Node.policies field (type: dict[DIF -> Policy])
* | | Storyboard implemented, to be testedMarco Capitani2017-06-211-23/+119
| | |
* | | Storyboard: initial implementation commitMarco Capitani2017-06-151-4/+2
| |/ |/|
* | Merge branch 'master' into jfed-irati-fixes (rumba access)Marco Capitani2017-06-131-3/+6
|\ \
| * | tools: Update access script to use proxySander Vrijders2017-06-071-3/+6
| | | | | | | | | | | | | | | | | | The proxy command was not added to the file generated with ssh info. This adds it, and changes the access script to use it if it is there.
* | | jfed: build mac2ifname; model: added flags to testbedMarco Capitani2017-06-091-0/+1
|/ /
* | rumba: add initial version of rumba-accessVincenzo Maffione2017-06-071-0/+8
| |
* | rumba: take into account DIFs that don't use nor are used by other DIFsVincenzo Maffione2017-06-011-0/+12
| | | | | | | | | | | | | | These DIFs needs to be considered for the Kahn algorithm and computation of IPCPs. Closes #11.
* | Merge branch 'download' into 'master'Vincenzo Maffione2017-06-011-2/+6
|\ \ | | | | | | | | | | | | QEMU plugin: download buildroot images if not provided by the user See merge request !51
| * | model: Experiment: add prototype_name()Vincenzo Maffione2017-06-011-2/+6
| | |
* | | Merge branch 'issue9-proxy' into 'master'Vincenzo Maffione2017-06-011-1/+7
|\ \ \ | |/ / |/| | | | | | | | Remove hardcoded proxy See merge request !50
| * | Model: corrected no-proxy case. rlite: removed hardcoded proxyMarco Capitani2017-06-011-2/+0
| | |
| * | model: added proxy field. ssh: added execute_proxy_commandsMarco Capitani2017-06-011-1/+9
| | |
* | | model: remove registration and bindingsVincenzo Maffione2017-06-011-44/+3
|/ / | | | | | | Fixes #7
* | Storyboard: small fixes to APIMarco Capitani2017-05-111-4/+5
| |
* | Storyboard: added modifications to API to example.pyMarco Capitani2017-05-111-6/+41
| |
* | Storyboard: additions to the modelMarco Capitani2017-05-101-2/+26
| | | | | | | | Means of distributions and other required fields.
* | rumba: model: Add StoryBoard for automated testingSander Vrijders2017-05-091-1/+66
| | | | | | | | | | This adds an initial draft of the API to automate tests on a RINA network.
* | model: fix bug in bootstrapper computationVincenzo Maffione2017-04-281-8/+13
|/ | | | | The bootstrapper computation must happen in a separate phase, after both IPCPs computation and enrollment computation.
* model, prototypes: enrollment lists contain IPCP objects rather than Node onesVincenzo Maffione2017-04-211-4/+17
| | | | | | | 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.
* model: compute IPCPs before the list enrollmentVincenzo Maffione2017-04-211-1/+1
|
* Merge branch 'master' into logging (split merged)Marco Capitani2017-04-211-10/+11
|\
| * model: Split experiment run()Sander Vrijders2017-04-211-10/+11
| | | | | | | | | | This splits experiment.run() into 4 different operations: swap_in, install_prototype, bootstrap_prototype and swap_out.
* | rumba: log: Added logging support, migrated from print to logging.Marco Capitani2017-04-211-15/+18
|/ | | | | + Added logging, migrated, default logging configuration is to stdout. + Minor PEP8 adjustments all-around
* Merge branch 'master-marco' into 'master' vmaffione2017-04-151-22/+31
|\ | | | | | | | | IRATI config file generation (and other) See merge request !22
| * Realign with master (MR 29-30)Marco Capitani2017-04-141-1/+1
| |\
| * \ QEMU: ifname compilation and vm port activationMarco Capitani2017-04-141-132/+31
| |\ \
| * \ \ Merge branch 'master' into master-marcoMarco Capitani2017-04-121-5/+12
| |\ \ \ | | | | | | | | | | | | | | | Updating with ssh changes (and other)
| * | | | Resolving node_id issue and general cleanupMarco Capitani2017-04-111-10/+21
| | | | |
| * | | | Testing method fixMarco Capitani2017-04-111-6/+4
| | | | |
| * | | | IRATI config file generationMarco Capitani2017-04-111-5/+6
| | | | |
* | | | | Merge branch 'proxycmd' into 'master' vmaffione2017-04-141-1/+2
|\ \ \ \ \ | |_|_|_|/ |/| | | | | | | | | | | | | | rumba: Add ProxyCommand for jFed See merge request !31