Resolve ShellCheck for deploy-controller-run-test 07/83507/3
authorThanh Ha <zxiiro@gmail.com>
Wed, 7 Aug 2019 23:19:37 +0000 (19:19 -0400)
committerThanh Ha <zxiiro@gmail.com>
Thu, 8 Aug 2019 00:38:07 +0000 (20:38 -0400)
Change-Id: I43555ba960bf37f7cdd182be1574ae0249eb12d1
Signed-off-by: Thanh Ha <zxiiro@gmail.com>
jjb/integration/integration-deploy-controller-run-test.sh

index 788da938b0c3a20b7220d502fc7bd62c57ce1d28..2c9a2a17aa8624fddf434ce6d55a29317a3a82a6 100755 (executable)
@@ -1,10 +1,11 @@
+#!/bin/bash
 #@IgnoreInspection BashAddShebang
 # Activate robotframework virtualenv
 # ${ROBOT_VENV} comes from the integration-install-robotframework.sh
 # script.
 # shellcheck source=${ROBOT_VENV}/bin/activate disable=SC1091
 #@IgnoreInspection BashAddShebang
 # Activate robotframework virtualenv
 # ${ROBOT_VENV} comes from the integration-install-robotframework.sh
 # script.
 # shellcheck source=${ROBOT_VENV}/bin/activate disable=SC1091
-source ${ROBOT_VENV}/bin/activate
-source /tmp/common-functions.sh ${BUNDLEFOLDER}
+source "${ROBOT_VENV}/bin/activate"
+source /tmp/common-functions.sh "${BUNDLEFOLDER}"
 
 echo "#################################################"
 echo "##         Configure Cluster and Start         ##"
 
 echo "#################################################"
 echo "##         Configure Cluster and Start         ##"
@@ -33,72 +34,75 @@ copy_and_run_post_startup_script
 
 create_controller_variables
 
 
 create_controller_variables
 
-if [ ${NUM_OPENSTACK_SYSTEM} -gt 0 ]; then
+if [ "${NUM_OPENSTACK_SYSTEM}" -gt 0 ]; then
    echo "Exiting without running tests to deploy openstack for testing"
    exit
 fi
 
 echo "Generating mininet variables..."
    echo "Exiting without running tests to deploy openstack for testing"
    exit
 fi
 
 echo "Generating mininet variables..."
-for i in `seq 1 ${NUM_TOOLS_SYSTEM}`
+for i in $(seq 1 "${NUM_TOOLS_SYSTEM}")
 do
 do
-    MININETIP=TOOLS_SYSTEM_${i}_IP
+    MININETIP="TOOLS_SYSTEM_${i}_IP"
     tools_variables=${tools_variables}" -v ${MININETIP}:${!MININETIP}"
 done
 
 get_test_suites SUITES
 
 echo "Starting Robot test suites ${SUITES} ..."
     tools_variables=${tools_variables}" -v ${MININETIP}:${!MININETIP}"
 done
 
 get_test_suites SUITES
 
 echo "Starting Robot test suites ${SUITES} ..."
-robot -N ${TESTPLAN} \
-      --removekeywords wuks -c critical -e exclude -e skip_if_${DISTROSTREAM} \
-      -v BUNDLEFOLDER:${BUNDLEFOLDER} \
-      -v BUNDLE_URL:${ACTUAL_BUNDLE_URL} \
-      -v CONTROLLER:${ODL_SYSTEM_IP} \
-      -v CONTROLLER_USER:${USER} \
-      -v GERRIT_BRANCH:${GERRIT_BRANCH} \
-      -v GERRIT_PROJECT:${GERRIT_PROJECT} \
-      -v GERRIT_REFSPEC:${GERRIT_REFSPEC} \
-      -v JAVA_HOME:${JAVA_HOME} \
-      -v JDKVERSION:${JDKVERSION} \
-      -v JENKINS_WORKSPACE:${WORKSPACE} \
-      -v MININET1:${TOOLS_SYSTEM_2_IP} \
-      -v MININET2:${TOOLS_SYSTEM_3_IP} \
-      -v MININET3:${TOOLS_SYSTEM_4_IP} \
-      -v MININET4:${TOOLS_SYSTEM_5_IP} \
-      -v MININET5:${TOOLS_SYSTEM_6_IP} \
-      -v MININET:${TOOLS_SYSTEM_IP} \
-      -v MININET_USER:${USER} \
-      -v NEXUSURL_PREFIX:${NEXUSURL_PREFIX} \
-      -v NUM_ODL_SYSTEM:${NUM_ODL_SYSTEM} \
-      -v NUM_TOOLS_SYSTEM:${NUM_TOOLS_SYSTEM} \
-      -v ODL_STREAM:${DISTROSTREAM} \
-      -v ODL_SYSTEM_1_IP:${ODL_SYSTEM_IP} \
-      -v ODL_SYSTEM_IP:${ODL_SYSTEM_IP} \
-      -v ODL_SYSTEM_USER:${USER} \
+robot -N "${TESTPLAN}" \
+      --removekeywords wuks -c critical -e exclude -e "skip_if_${DISTROSTREAM}" \
+      -v BUNDLEFOLDER:"${BUNDLEFOLDER}" \
+      -v BUNDLE_URL:"${ACTUAL_BUNDLE_URL}" \
+      -v CONTROLLER:"${ODL_SYSTEM_IP}" \
+      -v CONTROLLER_USER:"${USER}" \
+      -v GERRIT_BRANCH:"${GERRIT_BRANCH}" \
+      -v GERRIT_PROJECT:"${GERRIT_PROJECT}" \
+      -v GERRIT_REFSPEC:"${GERRIT_REFSPEC}" \
+      -v JAVA_HOME:"${JAVA_HOME}" \
+      -v JDKVERSION:"${JDKVERSION}" \
+      -v JENKINS_WORKSPACE:"${WORKSPACE}" \
+      -v MININET1:"${TOOLS_SYSTEM_2_IP}" \
+      -v MININET2:"${TOOLS_SYSTEM_3_IP}" \
+      -v MININET3:"${TOOLS_SYSTEM_4_IP}" \
+      -v MININET4:"${TOOLS_SYSTEM_5_IP}" \
+      -v MININET5:"${TOOLS_SYSTEM_6_IP}" \
+      -v MININET:"${TOOLS_SYSTEM_IP}" \
+      -v MININET_USER:"${USER}" \
+      -v NEXUSURL_PREFIX:"${NEXUSURL_PREFIX}" \
+      -v NUM_ODL_SYSTEM:"${NUM_ODL_SYSTEM}" \
+      -v NUM_TOOLS_SYSTEM:"${NUM_TOOLS_SYSTEM}" \
+      -v ODL_STREAM:"${DISTROSTREAM}" \
+      -v ODL_SYSTEM_1_IP:"${ODL_SYSTEM_IP}" \
+      -v ODL_SYSTEM_IP:"${ODL_SYSTEM_IP}" \
+      -v ODL_SYSTEM_USER:"${USER}" \
       -v SUITES:"${SUITES}" \
       -v SUITES:"${SUITES}" \
-      -v TOOLS_SYSTEM_1_IP:${TOOLS_SYSTEM_IP} \
-      -v TOOLS_SYSTEM_2_IP:${TOOLS_SYSTEM_2_IP} \
-      -v TOOLS_SYSTEM_3_IP:${TOOLS_SYSTEM_3_IP} \
-      -v TOOLS_SYSTEM_4_IP:${TOOLS_SYSTEM_4_IP} \
-      -v TOOLS_SYSTEM_5_IP:${TOOLS_SYSTEM_5_IP} \
-      -v TOOLS_SYSTEM_6_IP:${TOOLS_SYSTEM_6_IP} \
-      -v TOOLS_SYSTEM_IP:${TOOLS_SYSTEM_IP} \
-      -v TOOLS_SYSTEM_USER:${USER} \
-      -v USER_HOME:${HOME} \
+      -v TOOLS_SYSTEM_1_IP:"${TOOLS_SYSTEM_IP}" \
+      -v TOOLS_SYSTEM_2_IP:"${TOOLS_SYSTEM_2_IP}" \
+      -v TOOLS_SYSTEM_3_IP:"${TOOLS_SYSTEM_3_IP}" \
+      -v TOOLS_SYSTEM_4_IP:"${TOOLS_SYSTEM_4_IP}" \
+      -v TOOLS_SYSTEM_5_IP:"${TOOLS_SYSTEM_5_IP}" \
+      -v TOOLS_SYSTEM_6_IP:"${TOOLS_SYSTEM_6_IP}" \
+      -v TOOLS_SYSTEM_IP:"${TOOLS_SYSTEM_IP}" \
+      -v TOOLS_SYSTEM_USER:"${USER}" \
+      -v USER_HOME:"${HOME}" \
       -v WORKSPACE:/tmp \
       -v WORKSPACE:/tmp \
-      ${TESTOPTIONS} ${SUITES} || true
+      "${TESTOPTIONS}" "${SUITES}" || true
 
 echo "Examining the files in data/log and checking filesize"
 
 echo "Examining the files in data/log and checking filesize"
-ssh ${ODL_SYSTEM_IP} "ls -altr /tmp/${BUNDLEFOLDER}/data/log/"
-ssh ${ODL_SYSTEM_IP} "du -hs /tmp/${BUNDLEFOLDER}/data/log/*"
+# shellcheck disable=SC2029
+ssh "${ODL_SYSTEM_IP}" "ls -altr /tmp/${BUNDLEFOLDER}/data/log/"
+# shellcheck disable=SC2029
+ssh "${ODL_SYSTEM_IP}" "du -hs /tmp/${BUNDLEFOLDER}/data/log/*"
 
 
-for i in `seq 1 ${NUM_ODL_SYSTEM}`
+for i in $(seq 1 "${NUM_ODL_SYSTEM}")
 do
 do
-    CONTROLLERIP=ODL_SYSTEM_${i}_IP
+    CONTROLLERIP="ODL_SYSTEM_${i}_IP"
     echo "Lets's take the karaf thread dump again..."
     echo "Lets's take the karaf thread dump again..."
-    ssh ${!CONTROLLERIP} "sudo ps aux" > ${WORKSPACE}/ps_after.log
-    pid=$(grep org.apache.karaf.main.Main ${WORKSPACE}/ps_after.log | grep -v grep | tr -s ' ' | cut -f2 -d' ')
+    ssh "${!CONTROLLERIP}" "sudo ps aux" > "${WORKSPACE}"/ps_after.log
+    pid=$(grep org.apache.karaf.main.Main "${WORKSPACE}/ps_after.log" | grep -v grep | tr -s ' ' | cut -f2 -d' ')
     echo "karaf main: org.apache.karaf.main.Main, pid:${pid}"
     echo "karaf main: org.apache.karaf.main.Main, pid:${pid}"
-    ssh ${!CONTROLLERIP} "${JAVA_HOME}/bin/jstack -l ${pid}" > ${WORKSPACE}/karaf_${i}_${pid}_threads_after.log || true
+    # shellcheck disable=SC2029
+    ssh "${!CONTROLLERIP}" "${JAVA_HOME}/bin/jstack -l ${pid}" > "${WORKSPACE}/karaf_${i}_${pid}_threads_after.log" || true
     echo "Killing ODL"
     set +e  # We do not want to create red dot just because something went wrong while fetching logs.
     ssh "${!CONTROLLERIP}" bash -c 'ps axf | grep karaf | grep -v grep | awk '"'"'{print "kill -9 " $1}'"'"' | sh'
     echo "Killing ODL"
     set +e  # We do not want to create red dot just because something went wrong while fetching logs.
     ssh "${!CONTROLLERIP}" bash -c 'ps axf | grep karaf | grep -v grep | awk '"'"'{print "kill -9 " $1}'"'"' | sh'
@@ -107,19 +111,19 @@ done
 sleep 5
 # FIXME: Unify the copy process between various scripts.
 # TODO: Use rsync.
 sleep 5
 # FIXME: Unify the copy process between various scripts.
 # TODO: Use rsync.
-for i in `seq 1 ${NUM_ODL_SYSTEM}`
+for i in $(seq 1 "${NUM_ODL_SYSTEM}")
 do
 do
-    CONTROLLERIP=ODL_SYSTEM_${i}_IP
+    CONTROLLERIP="ODL_SYSTEM_${i}_IP"
     echo "Compressing karaf.log ${i}"
     echo "Compressing karaf.log ${i}"
-    ssh ${!CONTROLLERIP} gzip --best /tmp/${BUNDLEFOLDER}/data/log/karaf.log
+    ssh "${!CONTROLLERIP}" gzip --best "/tmp/${BUNDLEFOLDER}/data/log/karaf.log"
     echo "Fetching compressed karaf.log ${i}"
     echo "Fetching compressed karaf.log ${i}"
-    scp "${!CONTROLLERIP}:/tmp/${BUNDLEFOLDER}/data/log/karaf.log.gz" "odl${i}_karaf.log.gz" && ssh ${!CONTROLLERIP} rm -f "/tmp/${BUNDLEFOLDER}/data/log/karaf.log.gz"
+    scp "${!CONTROLLERIP}:/tmp/${BUNDLEFOLDER}/data/log/karaf.log.gz" "odl${i}_karaf.log.gz" && ssh "${!CONTROLLERIP}" rm -f "/tmp/${BUNDLEFOLDER}/data/log/karaf.log.gz"
     # TODO: Should we compress the output log file as well?
     # TODO: Should we compress the output log file as well?
-    scp "${!CONTROLLERIP}:/tmp/${BUNDLEFOLDER}/data/log/karaf_console.log" "odl${i}_karaf_console.log" && ssh ${!CONTROLLERIP} rm -f "/tmp/${BUNDLEFOLDER}/data/log/karaf_console.log"
+    scp "${!CONTROLLERIP}:/tmp/${BUNDLEFOLDER}/data/log/karaf_console.log" "odl${i}_karaf_console.log" && ssh "${!CONTROLLERIP}" rm -f "/tmp/${BUNDLEFOLDER}/data/log/karaf_console.log"
     echo "Fetch GC logs"
     # FIXME: Put member index in filename, instead of directory name.
     mkdir -p "gclogs-${i}"
     echo "Fetch GC logs"
     # FIXME: Put member index in filename, instead of directory name.
     mkdir -p "gclogs-${i}"
-    scp "${!CONTROLLERIP}:/tmp/${BUNDLEFOLDER}/data/log/*.log" "gclogs-${i}/" && ssh ${!CONTROLLERIP} rm -f "/tmp/${BUNDLEFOLDER}/data/log/*.log"
+    scp "${!CONTROLLERIP}:/tmp/${BUNDLEFOLDER}/data/log/*.log" "gclogs-${i}/" && ssh "${!CONTROLLERIP}" rm -f "/tmp/${BUNDLEFOLDER}/data/log/*.log"
 done
 
 echo "Examine copied files"
 done
 
 echo "Examine copied files"