#!/bin/bash
#
# a9kssh
#
# Copyright (c) 2014-2019 by Cisco Systems, Inc.
# All rights reserved.
#

# Utility for node name based ssh

FILENAME=/tmp/asr9k_ssh.$$
NODE_NAME=$1
HOST_FILE=/etc/hosts
node_reachable=0

NODE_NAME="$(echo $NODE_NAME | tr '[A-Z]' '[a-z]')"

grep -i ${NODE_NAME} ${HOST_FILE} > $FILENAME
while read -r line ; do
    IP_ADDRESS=`echo "$line" | cut -d ' ' -f 1`

    chvrf 0 /bin/ping -c1 $IP_ADDRESS > /dev/null
    if [ $? -eq 0 ]
    then 
        node_reachable=1
        break 
    else 
        IP_ADDRESS=0.0.0.0    
    fi
     
done < $FILENAME

rm $FILENAME

if [ $node_reachable -eq 0 ]
then
    echo "$NODE_NAME is unreachable"
    exit 0
else 
    echo "logging on $IP_ADDRESS"
fi

chvrf 0 ssh $IP_ADDRESS

