fix bugs to get `CONSUMER_IP` 03/17703/3
authordongwenjuan <dong.wenjuan@zte.com.cn>
Thu, 28 Jul 2016 11:23:05 +0000 (19:23 +0800)
committerdongwenjuan <dong.wenjuan@zte.com.cn>
Fri, 29 Jul 2016 01:30:02 +0000 (09:30 +0800)
use `ip route get $COMPUTE_IP` to get CONSUMER_IP. And add script
fail if it failed to get CONSUMER_IP.

Change-Id: I2e330c9be6e00f31e6c3e27dd674f9aabbb74a41
Signed-off-by: dongwenjuan <dong.wenjuan@zte.com.cn>
tests/run.sh

index ae030e2..0bd9ee6 100755 (executable)
@@ -96,17 +96,12 @@ prepare_compute_ssh() {
 }
 
 get_consumer_ip() {
-    #get network of the compute_ip address
-    network_pre=${COMPUTE_IP%.*}
-    network=${network_pre}.0/24
+    CONSUMER_IP=$(ip route get $COMPUTE_IP | awk '/ src /{print $NF}')
 
-    #if there is a dedicated route, use it
-    dev=$(ip route |grep $network | awk '{print $3}' |head -n 1)
-
-    #if there is no route, use default route
-    [[ -z $dev ]] && dev=$(ip route |grep ^default | awk '{print $3}' |head -n 1)
-
-    CONSUMER_IP=$(ip addr show $dev |grep inet | grep $network_pre | awk '{print $2}' | cut -d'/' -f1)
+    if [[ -z "$CONSUMER_IP" ]]; then
+        echo "ERROR: Could not get CONSUMER_IP."
+        exit 1
+    fi
 }
 
 download_image() {