yardstick offline support 37/33037/1
authorchenjiankun <chenjiankun1@huawei.com>
Tue, 28 Mar 2017 07:58:49 +0000 (07:58 +0000)
committerJing Lu <lvjing5@huawei.com>
Thu, 6 Apr 2017 06:13:06 +0000 (06:13 +0000)
JIRA: YARDSTICK-597

Currently yardstick can not run offline.
In some case this will block the process, causing yardstick job failed
The reason is yardstick will pull the latest code when run in CI.
Actually we need not pull the latest code because the code in yardstick
is already the latest code.
So I remove them.
Also I check the environment variable and yardstick-image when fetch
openrc file and load images.

Change-Id: I797da272932ab5292aa40585c82c119aa71b8849
Signed-off-by: chenjiankun <chenjiankun1@huawei.com>
(cherry picked from commit 38df788fc4a683717a6e7cbd498fad1e7cbe7209)

tests/ci/load_images.sh
tests/ci/prepare_env.sh

index 436d18d..8759910 100755 (executable)
@@ -45,26 +45,30 @@ build_yardstick_image()
     echo "========== Build yardstick cloud image =========="
 
     if [[ "$DEPLOY_SCENARIO" == *"-lxd-"* ]]; then
-        local cmd
-        cmd="sudo $(which yardstick-img-lxd-modify) $(pwd)/tools/ubuntu-server-cloudimg-modify.sh"
+        if [ ! -f "${RAW_IMAGE}" ];then
+            local cmd
+            cmd="sudo $(which yardstick-img-lxd-modify) $(pwd)/tools/ubuntu-server-cloudimg-modify.sh"
 
-        # Build the image. Retry once if the build fails
-        $cmd || $cmd
+            # Build the image. Retry once if the build fails
+            $cmd || $cmd
 
-        if [ ! -f "${RAW_IMAGE}" ]; then
-            echo "Failed building RAW image"
-            exit 1
+            if [ ! -f "${RAW_IMAGE}" ]; then
+                echo "Failed building RAW image"
+                exit 1
+            fi
         fi
     else
-        local cmd
-        cmd="sudo $(which yardstick-img-modify) $(pwd)/tools/ubuntu-server-cloudimg-modify.sh"
+        if [ ! -f "${QCOW_IMAGE}" ];then
+            local cmd
+            cmd="sudo $(which yardstick-img-modify) $(pwd)/tools/ubuntu-server-cloudimg-modify.sh"
 
-        # Build the image. Retry once if the build fails
-        $cmd || $cmd
+            # Build the image. Retry once if the build fails
+            $cmd || $cmd
 
-        if [ ! -f "${QCOW_IMAGE}" ]; then
-            echo "Failed building QCOW image"
-            exit 1
+            if [ ! -f "${QCOW_IMAGE}" ]; then
+                echo "Failed building QCOW image"
+                exit 1
+            fi
         fi
     fi
 }
@@ -245,6 +249,13 @@ main()
     QCOW_IMAGE="/tmp/workspace/yardstick/yardstick-image.img"
     RAW_IMAGE="/tmp/workspace/yardstick/yardstick-image.tar.gz"
 
+    if [ -f /home/opnfv/images/yardstick-image.img ];then
+        QCOW_IMAGE='/home/opnfv/images/yardstick-image.img'
+    fi
+    if [ -f /home/opnfv/images/yardstick-image.tar.gz ];then
+        RAW_IMAGE='/home/opnfv/images/yardstick-image.tar.gz'
+    fi
+
     build_yardstick_image
     load_yardstick_image
     if [ "${YARD_IMG_ARCH}" == "arm64" ]; then
index be59b7f..e8f287b 100755 (executable)
@@ -21,35 +21,41 @@ export EXTERNAL_NETWORK=$(echo $EXTERNAL_NETWORK | cut -f1 -d \;)
 
 # Create openstack credentials
 echo "INFO: Creating openstack credentials .."
-OPENRC=/home/opnfv/openrc
+mkdir -p /etc/yardstick
+OPENRC=/etc/yardstick/openstack.creds
 INSTALLERS=(apex compass fuel joid)
 
-if [ ! -f $OPENRC ]; then
-    # credentials file is not given, check if environment variables are set
-    # to get the creds using fetch_os_creds.sh later on
-    echo "INFO: Checking environment variables INSTALLER_TYPE and INSTALLER_IP"
-    if [ -z ${INSTALLER_TYPE} ]; then
-        echo "environment variable 'INSTALLER_TYPE' is not defined."
-        exit 1
-    elif [[ ${INSTALLERS[@]} =~ ${INSTALLER_TYPE} ]]; then
-        echo "INSTALLER_TYPE env variable found: ${INSTALLER_TYPE}"
-    else
-        echo "Invalid env variable INSTALLER_TYPE=${INSTALLER_TYPE}"
-        exit 1
-    fi
+RC_VAR_EXIST=false
+if [ "${OS_AUTH_URL}" -a "${OS_USERNAME}" -a "${OS_PASSWORD}" -a "${EXTERNAL_NETWORK}" ];then
+    RC_VAR_EXIST=true
+fi
 
-    if [ "$DEPLOY_TYPE" == "virt" ]; then
-        FETCH_CRED_ARG="-v -d $OPENRC -i ${INSTALLER_TYPE} -a ${INSTALLER_IP}"
-    else
-        FETCH_CRED_ARG="-d $OPENRC -i ${INSTALLER_TYPE} -a ${INSTALLER_IP}"
-    fi
+if [ "${RC_VAR_EXIST}" = false ]; then
+    if [ ! -f $OPENRC ];then
+        # credentials file is not given, check if environment variables are set
+        # to get the creds using fetch_os_creds.sh later on
+        echo "INFO: Checking environment variables INSTALLER_TYPE and INSTALLER_IP"
+        if [ -z ${INSTALLER_TYPE} ]; then
+            echo "environment variable 'INSTALLER_TYPE' is not defined."
+            exit 1
+        elif [[ ${INSTALLERS[@]} =~ ${INSTALLER_TYPE} ]]; then
+            echo "INSTALLER_TYPE env variable found: ${INSTALLER_TYPE}"
+        else
+            echo "Invalid env variable INSTALLER_TYPE=${INSTALLER_TYPE}"
+            exit 1
+        fi
 
-    $RELENG_REPO_DIR/utils/fetch_os_creds.sh $FETCH_CRED_ARG
+        if [ "$DEPLOY_TYPE" == "virt" ]; then
+            FETCH_CRED_ARG="-v -d $OPENRC -i ${INSTALLER_TYPE} -a ${INSTALLER_IP}"
+        else
+            FETCH_CRED_ARG="-d $OPENRC -i ${INSTALLER_TYPE} -a ${INSTALLER_IP}"
+        fi
 
+        $RELENG_REPO_DIR/utils/fetch_os_creds.sh $FETCH_CRED_ARG
+    fi
+    source $OPENRC
 fi
 
-source $OPENRC
-
 export EXTERNAL_NETWORK INSTALLER_TYPE DEPLOY_TYPE NODE_NAME
 
 # Prepare a admin-rc file for StorPerf integration