From b8e270fc4dea3adb12531a31e0abbd29bde18715 Mon Sep 17 00:00:00 2001 From: Razvan Deaconescu Date: Sun, 24 Oct 2010 15:29:32 +0300 Subject: [PATCH] test-socket-signal: add test/folder command_test is top script to start experiments; runs on command station and starts clients on remote stations --- Utils/test-socket-signal/test/command_test | 78 ++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100755 Utils/test-socket-signal/test/command_test diff --git a/Utils/test-socket-signal/test/command_test b/Utils/test-socket-signal/test/command_test new file mode 100755 index 0000000..a682e73 --- /dev/null +++ b/Utils/test-socket-signal/test/command_test @@ -0,0 +1,78 @@ +#!/bin/bash + +if test $# -ne 3; then + echo "Usage: $0 type host1 host2" 1>&2 + exit 1 +fi + +# toggle _DEBUG ("on"/"off") when necessary +_DEBUG="on" + +experiment_type="$1" +hostname1="$2" +hostname2="$3" + +DEBUG() +{ + test "$_DEBUG" = "on" && $@ +} + +# convert host_id and veid to veth IP address in 10.0.0.0/8 network +host_veid_to_eth_ip() +{ + host_id=$1 + veid=$2 + ip_part1=$(($veid / 100)) + ip_part2=$(($veid % 100)) + id=$(echo "$host_id" | awk '{printf "%d", $1;}') + echo "10.$ip_part1.$id.$ip_part2" +} + +hostname_to_veth_ip() +{ + host=$1 + + veid=${host##*-} + tmp=${host%-*} + host_id=${tmp##*-} + + host_veid_to_eth_ip $host_id $veid +} + + +run_remote() +{ + host=$1 + port=$2 + + client_type="$3" + listen_port="$4" + buffer_size="$5" + frequency="$6" + remote_ip="$7" + remote_port="$8" + remote_buffer_size="$9" + + ssh -n -p $port p2p@$host "nohup /home/p2p/signal-socket/local_run_$experiment_type $client_type $listen_port $buffer_size $frequency $remote_ip $remote_port $remote_buffer_size &" +} + +# TODO: rsync + +base_host1=${hostname1%-*}.grid.pub.ro +base_host2=${hostname2%-*}.grid.pub.ro +ssh_port1=${hostname1##*-}22 +ssh_port2=${hostname2##*-}22 + +DEBUG echo "host1: p2p@$base_host1:$ssh_port1" +DEBUG echo "host2: p2p@$base_host2:$ssh_port2" + +leader_ip=$(hostname_to_veth_ip $hostname1) +follower_ip=$(hostname_to_veth_ip $hostname2) + +DEBUG echo "leader_ip = $leader_ip" +DEBUG echo "follower_ip = $follower_ip" + +DEBUG echo "running remote leader ..." +run_remote $base_host1 $ssh_port1 "leader" $leader_port $leader_buffer_size $leader_frequency $follower_ip $follower_port $follower_buffer_size +DEBUG echo "running remote follower ..." +run_remote $base_host2 $ssh_port2 "follower" $follower_port $follower_buffer_size $follower_frequency $leader_ip $leader_port $leader_buffer_size -- 2.20.1