diff options
author | Sander Vrijders <sander.vrijders@ugent.be> | 2017-10-26 15:30:44 +0200 |
---|---|---|
committer | Sander Vrijders <sander.vrijders@ugent.be> | 2017-10-26 15:30:44 +0200 |
commit | e5429581fe53d9008e5adc87634b7c29f243d412 (patch) | |
tree | 0fc1efcb16fc3fe02ec01367d010427469195237 /rumba/model.py | |
parent | ebb5bdaa08b38fa8a63fb68d23384f5cd62b412d (diff) | |
download | rumba-e5429581fe53d9008e5adc87634b7c29f243d412.tar.gz rumba-e5429581fe53d9008e5adc87634b7c29f243d412.zip |
rumba: Add persistent SSH connections
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.
Diffstat (limited to 'rumba/model.py')
-rw-r--r-- | rumba/model.py | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/rumba/model.py b/rumba/model.py index 7d7e214..b44da88 100644 --- a/rumba/model.py +++ b/rumba/model.py @@ -198,6 +198,8 @@ class SSHConfig: self.hostname = hostname self.port = port self.proxy_server = proxy_server + self.client = None + self.proxy_client = None def set_username(self, username): self.username = username @@ -809,6 +811,11 @@ class Experiment: self.dump_ssh_info() def swap_out(self): + for node in self.nodes: + if node.ssh_config.client is not None: + node.ssh_config.client.close() + if node.ssh_config.proxy_client is not None: + node.ssh_config.proxy_client.close() # Undo the testbed (testbed-specific) self.testbed.swap_out(self) |