aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--rumba/model.py9
-rwxr-xr-xtools/rumba-access20
2 files changed, 21 insertions, 8 deletions
diff --git a/rumba/model.py b/rumba/model.py
index 941cba8..d1b9988 100644
--- a/rumba/model.py
+++ b/rumba/model.py
@@ -523,8 +523,11 @@ class Experiment:
def dump_ssh_info(self):
f = open('ssh_info', 'w')
for node in self.nodes:
- f.write("%s %s %s %s\n" % (node.name, self.testbed.username,
- node.ssh_config.hostname, node.ssh_config.port))
+ f.write("%s;%s;%s;%s;%s\n" % (node.name,
+ self.testbed.username,
+ node.ssh_config.hostname,
+ node.ssh_config.port,
+ node.ssh_config.proxycommand))
f.close()
# Examine the nodes and DIFs, compute the registration and enrollment
@@ -642,7 +645,7 @@ class Server:
def get_new_clients(self, interval):
"""
Returns a list of clients of size appropriate to the server's rate.
-
+
The list's size should be a sample from Poisson(arrival_rate) over
interval seconds.
Hence, the average size should be interval * arrival_rate.
diff --git a/tools/rumba-access b/tools/rumba-access
index 06b0a02..4c77d2b 100755
--- a/tools/rumba-access
+++ b/tools/rumba-access
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/usr/bin/env bash
FILE=ssh_info
@@ -8,24 +8,34 @@ if [ "$MACHINE_ID" == "" ]; then
exit 255
fi
-USER=$(grep "\<${MACHINE_ID}\>" ${FILE} | awk '{print $2}')
+USER=$(grep "\<${MACHINE_ID}\>" ${FILE} | awk -F';' '{print $2}')
if [ "$USER" == "" ]; then
echo "Error: Node ${MACHINE_ID} unknown"
exit 255
fi
-HOST=$(grep "\<${MACHINE_ID}\>" ${FILE} | awk '{print $3}')
+HOST=$(grep "\<${MACHINE_ID}\>" ${FILE} | awk -F';' '{print $3}')
if [ "$HOST" == "" ]; then
echo "Error: Node ${MACHINE_ID} unknown"
exit 255
fi
-SSH_PORT=$(grep "\<${MACHINE_ID}\>" ${FILE} | awk '{print $4}')
+SSH_PORT=$(grep "\<${MACHINE_ID}\>" ${FILE} | awk -F';' '{print $4}')
if [ "$SSH_PORT" == "" ]; then
echo "Error: Node ${MACHINE_ID} unknown"
exit 255
fi
+PROXY_CMD=$(grep "\<${MACHINE_ID}\>" ${FILE} | awk -F';' '{print $5}')
+if [ "$PROXY_CMD" == "" ]; then
+ echo "Error: Node ${MACHINE_ID} unknown"
+ exit 255
+fi
+
echo "Accessing Rumba node ${MACHINE_ID}"
# -o IdentityFile=buildroot/irati_rsa
-ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -p ${SSH_PORT} ${USER}@${HOST}
+if [[ $PROXY_CMD = "None" ]]; then
+ ssh -A -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -p ${SSH_PORT} ${USER}@${HOST}
+else
+ ssh -A -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -oProxyCommand="$PROXY_CMD" -p ${SSH_PORT} ${USER}@${HOST}
+fi