Merge "Bug Fix: Start openvswitch service in Centos distro"
[yardstick.git] / tests / ci / load_images.sh
index d723823..1e1591c 100755 (executable)
@@ -43,6 +43,12 @@ if [ "${YARD_IMG_ARCH}" == "arm64" ]; then
     fi
 fi
 
+cleanup_loopbacks() {
+    # try again to cleanup loopbacks in case of error
+    losetup -a
+    losetup -O NAME,BACK-FILE | awk '/yardstick/ { print $1 }' | xargs -l1 losetup -v -d || true
+}
+
 build_yardstick_image()
 {
     echo
@@ -56,6 +62,7 @@ build_yardstick_image()
             # Build the image. Retry once if the build fails
             $cmd || $cmd
 
+            cleanup_loopbacks
             if [ ! -f "${RAW_IMAGE}" ]; then
                 echo "Failed building RAW image"
                 exit 1
@@ -70,11 +77,25 @@ build_yardstick_image()
                      -e YARD_IMG_ARCH=${YARD_IMG_ARCH} \
                      -vvv -i inventory.ini build_yardstick_image.yml
 
+            cleanup_loopbacks
             if [ ! -f "${QCOW_IMAGE}" ]; then
                 echo "Failed building QCOW image"
                 exit 1
             fi
         fi
+        # DPDK compile is not enabled for arm64 yet so disable for now
+        # JIRA: YARSTICK-1124
+        if [[ ! -f "${QCOW_NSB_IMAGE}"  && ${DEPLOY_SCENARIO} == *[_-]ovs_dpdk[_-]* && "${YARD_IMG_ARCH}" != "arm64" ]]; then
+            ansible-playbook \
+                     -e img_property="nsb" \
+                     -e YARD_IMG_ARCH=${YARD_IMG_ARCH} \
+                     -vvv -i inventory.ini build_yardstick_image.yml
+            cleanup_loopbacks
+            if [ ! -f "${QCOW_NSB_IMAGE}" ]; then
+                echo "Failed building QCOW NSB image"
+                exit 1
+            fi
+        fi
     fi
 }
 
@@ -112,6 +133,18 @@ load_yardstick_image()
             ${EXTRA_PARAMS} \
             --file ${QCOW_IMAGE} \
             yardstick-image)
+        # DPDK compile is not enabled for arm64 yet so disable NSB images for now
+        # JIRA: YARSTICK-1124
+        if [[ $DEPLOY_SCENARIO == *[_-]ovs_dpdk[_-]* && "${YARD_IMG_ARCH}" != "arm64" ]]; then
+            nsb_output=$(eval openstack ${SECURE} image create \
+                --public \
+                --disk-format qcow2 \
+                --container-format bare \
+                ${EXTRA_PARAMS} \
+                --file ${QCOW_NSB_IMAGE} \
+                yardstick-samplevnfs)
+            echo "$nsb_output"
+        fi
     fi
 
     echo "$output"
@@ -232,6 +265,7 @@ create_nova_flavor()
 main()
 {
     QCOW_IMAGE="/tmp/workspace/yardstick/yardstick-image.img"
+    QCOW_NSB_IMAGE="/tmp/workspace/yardstick/yardstick-nsb-image.img"
     RAW_IMAGE="/tmp/workspace/yardstick/yardstick-image.tar.gz"
 
     if [ -f /home/opnfv/images/yardstick-image.img ];then
@@ -251,7 +285,7 @@ main()
     load_yardstick_image
     if [ "${YARD_IMG_ARCH}" == "arm64" ]; then
         #We have overlapping IP with the real network
-        for filename in tests/opnfv/test_cases/*; do
+        for filename in ${YARDSTICK_REPO_DIR}/tests/opnfv/test_cases/*; do
             sed -i "s/cidr: '10.0.1.0\/24'/cidr: '10.3.1.0\/24'/g" "${filename}"
         done
     else