diff options
author | Sander Vrijders <sander.vrijders@ugent.be> | 2018-06-28 11:49:55 +0200 |
---|---|---|
committer | Sander Vrijders <sander.vrijders@ugent.be> | 2018-06-28 13:08:10 +0200 |
commit | 7c02fbc57439f5ab850b3f605df84e549174b11b (patch) | |
tree | a4c752c8be66cf0e2ffa4b19cf1023f7be7bb136 /rumba/testbeds | |
parent | d6b62e3d1c0653b50443ab91062127a60c0bbfdc (diff) | |
download | rumba-7c02fbc57439f5ab850b3f605df84e549174b11b.tar.gz rumba-7c02fbc57439f5ab850b3f605df84e549174b11b.zip |
testbeds: Abstract away use of http proxy server
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.
Diffstat (limited to 'rumba/testbeds')
-rw-r--r-- | rumba/testbeds/emulab.py | 9 | ||||
-rw-r--r-- | rumba/testbeds/jfed.py | 11 |
2 files changed, 12 insertions, 8 deletions
diff --git a/rumba/testbeds/emulab.py b/rumba/testbeds/emulab.py index f0c0350..664b4ff 100644 --- a/rumba/testbeds/emulab.py +++ b/rumba/testbeds/emulab.py @@ -67,9 +67,6 @@ class Testbed(mod.Testbed): self.executor = SSHExecutor - if "wall" in url: - self.http_proxy="https://proxy.atlantis.ugent.be:8080" - def _ops_server(self): """ Return server name of the ops-server (is testbed specific). @@ -276,6 +273,12 @@ class Testbed(mod.Testbed): self._wait_until_nodes_up() self._complete_experiment_graph(experiment) + if "wall" in self.url: + for node in experiment.nodes: + ssh_support.set_http_proxy(self, node_n, + "https://proxy.atlantis." + "ugent.be:8080") + def _swap_out(self, experiment): """ Swaps experiment out diff --git a/rumba/testbeds/jfed.py b/rumba/testbeds/jfed.py index 924da8f..530d9f0 100644 --- a/rumba/testbeds/jfed.py +++ b/rumba/testbeds/jfed.py @@ -76,8 +76,7 @@ class Testbed(mod.Testbed): exp_name, username, passwd, - proj_name, - http_proxy=None) + proj_name) self.auth_name = authority self.cert_file = cert_file self.exp_hours = exp_hours @@ -92,7 +91,6 @@ class Testbed(mod.Testbed): self.authority = "urn:publicid:IDN+" + authority + "+authority+am" elif "wall" in authority: self.authority = "urn:publicid:IDN+" + authority + "+authority+cm" - self.http_proxy="https://proxy.atlantis.ugent.be:8080" elif "cloudlab" or "geniracks" in authority: self.authority = "urn:publicid:IDN+" + authority + "+authority+cm" else: @@ -245,8 +243,6 @@ class Testbed(mod.Testbed): :param experiment: The experiment. """ - for node in experiment.nodes: - node.ssh_config.set_http_proxy(self.http_proxy) self._create_rspec(experiment) auth_name_r = self.auth_name.replace(".", "-") @@ -305,6 +301,11 @@ class Testbed(mod.Testbed): node_n.ssh_config.hostname = l_node.getAttribute("hostname") + if "wall" in self.auth_name: + ssh_support.set_http_proxy(self, node_n, + "https://proxy.atlantis.ugent." + "be:8080") + ssh_support.execute_command( self, node_n.ssh_config, |