diff options
-rwxr-xr-x | tests/run.sh | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/tests/run.sh b/tests/run.sh index 2b888795..01adf689 100755 --- a/tests/run.sh +++ b/tests/run.sh @@ -65,7 +65,7 @@ get_compute_host_info() { INSTALLER_IP=$(/usr/sbin/arp -e | grep ${instack_mac} | awk '{print $1}') fi node_id=$(echo $compute_host_in_undercloud | cut -d "-" -f 2) - COMPUTE_IP=$(sshpass -p r00tme ssh 2>/dev/null $ssh_options root@${INSTALLER_IP} \ + COMPUTE_IP=$(sshpass -p r00tme ssh 2>/dev/null $ssh_opts root@${INSTALLER_IP} \ "fuel node|awk -F '|' -v id=$node_id '{if (\$1 == id) print \$5}' |xargs") elif [[ "$INSTALLER_TYPE" == "local" ]] ; then COMPUTE_USER=${COMPUTE_USER:-$(whoami)} @@ -97,7 +97,7 @@ prepare_compute_ssh() { chmod 400 instack_key ssh_opts_cpu+=" -i instack_key" elif [[ "$INSTALLER_TYPE" == "fuel" ]] ; then - sshpass -p r00tme scp $ssh_options root@${INSTALLER_IP}:.ssh/id_rsa instack_key + sshpass -p r00tme scp $ssh_opts root@${INSTALLER_IP}:.ssh/id_rsa instack_key sudo chown $(whoami):$(whoami) instack_key chmod 400 instack_key ssh_opts_cpu+=" -i instack_key" @@ -114,7 +114,8 @@ prepare_compute_ssh() { } get_consumer_ip() { - CONSUMER_IP=$(ip route get $COMPUTE_IP | awk '/ src /{print $NF}') + CONSUMER_IP=$(sudo ssh $ssh_opts root@$INSTALLER_IP \ + "ip route get $COMPUTE_IP | awk '/ src /{print \$NF}'") echo "CONSUMER_IP=$CONSUMER_IP" if [[ -z "$CONSUMER_IP" ]]; then @@ -207,12 +208,19 @@ stop_inspector() { start_consumer() { pgrep -f "python consumer.py" && return 0 python consumer.py "$CONSUMER_PORT" > consumer.log 2>&1 & + # NOTE(r-mibu): create tunnel to the installer node, so that we can + # avoid some network problems dpends on infra and installers. + # This tunnel will be terminated by stop_consumer() or after 10 mins passed. + TUNNEL_COMMAND="sudo ssh $ssh_opts $INSTALLER_IP -R $CONSUMER_PORT:localhost:$CONSUMER_PORT 'sleep 600'" + $TUNNEL_COMMAND > ssh_tunnel.log 2>&1 < /dev/null & } stop_consumer() { pgrep -f "python consumer.py" || return 0 kill $(pgrep -f "python consumer.py") print_log consumer.log + kill $(pgrep -f "$TUNNEL_COMMAND") + print_log ssh_tunnel.log } wait_for_vm_launch() { |