aboutsummaryrefslogtreecommitdiff
path: root/rumba/ssh_support.py
Commit message (Collapse)AuthorAgeFilesLines
* ssh_support: Update certificatesDimitri Staessens2021-11-281-0/+2
| | | | This will update certificates on the ubuntu hosts.
* ssh_support: Fix wrong comparison operatorsDimitri Staessens2021-07-151-2/+2
|
* storyboard: Allow run_command on multiple nodesDimitri Staessens2021-07-101-1/+1
| | | | | It can now take a list of node names. Also fixes sudo in ssh_support, which I accidentally broke in the previous commit.
* testbeds: Fix jfed support for recent CLIDimitri Staessens2021-07-091-2/+6
| | | | | | | | This updates jfed support for some recent changes in the CLI. Since the new CLI requires writing the jfed password to a text file, I added an option to set it in the experiment description too. It will still prompt if not set. There is also an option to enable/disable the bastion server, as there has been some changes to its login.
* Merge branch 'master' into testingSander Vrijders2018-07-251-0/+2
|\
| * ssh_support: Set keepalive on Transport objectSander Vrijders2018-07-251-0/+2
| | | | | | | | | | This will set a keepalive on the Transport object to prevent disconnects by firewalls.
* | testbeds: Abstract away use of http proxy serverSander Vrijders2018-06-281-46/+19
|/ | | | | | | | Certain testbeds use a proxy to access the outside world. Due to recent changes this was not working anymore. This takes a different approach to re-enable this. It simply adds the lines to /etc/profile after swap-in so that the proxy is added to every shell upon execution.
* rumba: Reconnect SSH in case of SIGPIPESander Vrijders2018-05-141-29/+48
| | | | | This reconnects the SSH connection in case the other side unilaterally closed the connection. This often happens with the exogeni testbed.
* storyboard: add as_root in server and clientMarco Capitani2018-04-271-1/+1
| | | | fixes #52
* rumba: Update copyright on license headersSander Vrijders2018-04-231-2/+2
| | | | | This updates the copyright on the license headers to that it is extended to the current year.
* storyboard: Add capturing of trafficSander Vrijders2018-03-271-3/+5
| | | | | | | | | 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
* testbeds: Add docker testbedNick Aerts2018-03-201-1/+3
| | | | | | | | | | | | 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.
* log: add log to file and flush logger functionalitiesMarco Capitani2018-02-271-4/+12
|
* utils & storyboard: add syslog retrieval functionalityMarco Capitani2018-02-271-4/+19
| | | | | Implements #39. Also updated examples.
* ssh_support: Fix aptitude update bug in exogeniSander Vrijders2018-01-121-7/+3
| | | | | | | 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.
* storyboard: re-add run_command methodMarco Capitani2018-01-111-2/+2
| | | | | | | | | 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
* ssh_support: Disable automatic aptitude updatesSander Vrijders2017-11-211-1/+5
| | | | | | 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.
* storyboard: add logging and log retrievalMarco Capitani2017-11-171-2/+55
|
* storyboard: make Client shutdown an argumentMarco Capitani2017-11-171-1/+3
| | | | | Before the shutdown call for the Client/ClientProcess was fixed to kill <pid>. Now it's passed as an argument to the Client constructor.
* testbed-qemu: refactor swapout to use call_in_parallelMarco Capitani2017-11-161-44/+30
| | | | minor: also cleaned up some commented old code
* rumba: Use saner names and add Dimitri as authorSander Vrijders2017-11-151-0/+1
| | | | | This uses a saner name for multiprocessing_utils and adds some licenses where they were missing and adds Dimitri as author.
* ssh_support: Fix predictable interface namesSander Vrijders2017-11-151-7/+3
| | | | | | The previous fix for predictable interface names was not always working. This commit creates symlinks to /dev/null/ to avoid renaming of the interfaces.
* prototypes: Add parallel installation for IRATIMarco Capitani2017-11-151-8/+26
| | | | | | | 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.
* prototypes: Fix VLAN setup for IRATI on UbuntuDimitri Staessens2017-11-151-15/+18
| | | | | | | 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.
* ssh_support: Fix dpkg wait scriptMarco Capitani2017-11-151-2/+2
| | | | | This fixes the dpkg wait script as it was not being executed correctly.
* prototypes: Use common aptitude install functionSander Vrijders2017-11-151-0/+28
| | | | | This lets the prototypes use a common function to install packages through aptitude.
* ssh_support: Use ip link set for creating VLANsDimitri Staessens2017-11-151-1/+1
| | | | | | This replaces the deprecated ifconfig command. Signed-off-by: Dimitri Staessens <dimitri.staessens@ugent.be>
* ssh_support: Fix closing of proxy ssh clientSander Vrijders2017-11-091-4/+2
| | | | | The proxy ssh client was being closed even if it didn't exist. This adds a check to see if it needs to be closed.
* SSH: added client.close() and better error handlingMarco Capitani2017-11-091-24/+28
|
* SSH: added stderr to output in case of commmand errorMarco Capitani2017-11-091-2/+9
|
* rumba: Add persistent SSH connectionsSander Vrijders2017-10-261-23/+16
| | | | | | 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: Close ssh clients properlySander Vrijders2017-10-261-11/+24
| | | | | | | The proxy client was not closed after the command has executed, and in case of an error condition the regular client was also not closed. Fixes #25
* prototypes, testbeds, ssh_support: Add several fixesSander Vrijders2017-10-251-1/+1
| | | | | This adds several fixes in order for rlite to function on the exogeni testbed.
* testbeds: Complete support for exogeni VMs on jfedDimitri Staessens2017-10-251-4/+4
| | | | Selecting "exogeni.net" as an authority for jfed should now work.
* ssh_support: Use native Paramiko API for ProxySander Vrijders2017-10-241-30/+27
| | | | | | 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.
* examples: Add snake exampleSander Vrijders2017-09-201-1/+1
| | | | | This adds the snake as an example. It forms a single DIF connected node by node. The number of nodes can be passed as parameter.
* testbeds: qemu: Remove unneeded sleepSander Vrijders2017-09-201-1/+1
| | | | | This removes a sleep in the QEMU testbed that was giving errors. It also catches another error in the SSH support.
* testbeds: emulab: Continue if experiment is swapped inSander Vrijders2017-09-181-2/+2
| | | | | | 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.
* rumba: Add better error handling of SSH connectSander Vrijders2017-09-151-23/+42
| | | | | | 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.
* build: Add continuous integrationSander Vrijders2017-09-131-19/+28
| | | | This adds CI to Rumba.
* rumba: Update license headersSander Vrijders2017-09-081-4/+10
| | | | | This makes the license headers uniform and adds the authors and a copyright.
* Model & ssh: ssh-related methods renamingMarco Capitani2017-07-281-8/+6
|
* ssh & model-storyboard: changed ssh API, added node.execute* methodsMarco Capitani2017-06-301-6/+6
|
* ssh_support + log: fixes for python 2 compatibilityMarco Capitani2017-06-151-1/+1
|
* jfed: build mac2ifname; model: added flags to testbedMarco Capitani2017-06-091-5/+5
|
* Model: corrected no-proxy case. rlite: removed hardcoded proxyMarco Capitani2017-06-011-3/+6
|
* model: added proxy field. ssh: added execute_proxy_commandsMarco Capitani2017-06-011-0/+42
|
* ssh_support: added proxy_command to copy path to testbedMarco Capitani2017-04-281-1/+7
| | | | | other: fix to democonf2rumba jfed arguments
* Logging: added set and reset logging level method, small logging modifications.Marco Capitani2017-04-241-2/+2
|
* rumba: log: Added logging support, migrated from print to logging.Marco Capitani2017-04-211-23/+28
| | | | | + Added logging, migrated, default logging configuration is to stdout. + Minor PEP8 adjustments all-around