aboutsummaryrefslogtreecommitdiff
path: root/rumba/testbeds
diff options
context:
space:
mode:
authorSander Vrijders <sander.vrijders@ugent.be>2018-06-28 11:49:55 +0200
committerSander Vrijders <sander.vrijders@ugent.be>2018-06-28 13:08:10 +0200
commit7c02fbc57439f5ab850b3f605df84e549174b11b (patch)
treea4c752c8be66cf0e2ffa4b19cf1023f7be7bb136 /rumba/testbeds
parentd6b62e3d1c0653b50443ab91062127a60c0bbfdc (diff)
downloadrumba-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.py9
-rw-r--r--rumba/testbeds/jfed.py11
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,