Bugfix: Error validating value 'cirros-0.3.5' 03/32503/1
authorJingLu5 <lvjing5@huawei.com>
Tue, 28 Mar 2017 01:21:20 +0000 (01:21 +0000)
committerRoss Brattain <ross.b.brattain@intel.com>
Thu, 30 Mar 2017 13:33:47 +0000 (13:33 +0000)
JIRA: YARDSTICK-607

some scenarios come with a Cirros-0.3.5 image, Yardstick's load_images.sh will
load a second cirros-0.3.5 image, causing the following error:
2017-03-27 07:42:58,317 yardstick.orchestrator.heat heat.py:449 INFO Creating stack 'demo-2ada98f3'
error: failed to deploy stack: 'ERROR: Property error: : resources.ares.demo-2ada98f3.properties.image: : Error validating value 'cirros-0.3.5': No images unique match found for
{'name': u'cirros-0.3.5'}

This patch fixs this error by skipping load cirros image if there already exist
one in the glance.

Change-Id: I4d43d82d331f6575efd4560be9b6be175e03cd1b
Signed-off-by: JingLu5 <lvjing5@huawei.com>
(cherry picked from commit 3f70095d15afb86567f885cbfbd89183d857f671)

tests/ci/load_images.sh

index 4be51fd..ec3ec46 100755 (executable)
@@ -152,32 +152,36 @@ load_yardstick_image()
 
 load_cirros_image()
 {
-    echo
-    echo "========== Loading cirros cloud image =========="
+    if [[ -n $(openstack image list | grep -e Cirros-0.3.5) ]]; then
+        echo "Cirros-0.3.5 image already exist, skip loading cirros image"
+    else
+        echo
+        echo "========== Loading cirros cloud image =========="
 
-    local image_file=/home/opnfv/images/cirros-0.3.5-x86_64-disk.img
+        local image_file=/home/opnfv/images/cirros-0.3.5-x86_64-disk.img
 
-    EXTRA_PARAMS=""
-    # VPP requires guest memory to be backed by large pages
-    if [[ "$DEPLOY_SCENARIO" == *"-fdio-"* ]]; then
-        EXTRA_PARAMS=$EXTRA_PARAMS" --property hw_mem_page_size=large"
-    fi
+        EXTRA_PARAMS=""
+        # VPP requires guest memory to be backed by large pages
+        if [[ "$DEPLOY_SCENARIO" == *"-fdio-"* ]]; then
+            EXTRA_PARAMS=$EXTRA_PARAMS" --property hw_mem_page_size=large"
+        fi
 
-    output=$(openstack image create \
-        --disk-format qcow2 \
-        --container-format bare \
-        ${EXTRA_PARAMS} \
-        --file ${image_file} \
-        cirros-0.3.5)
-    echo "$output"
+        output=$(openstack image create \
+            --disk-format qcow2 \
+            --container-format bare \
+            ${EXTRA_PARAMS} \
+            --file ${image_file} \
+            cirros-0.3.5)
+        echo "$output"
 
-    CIRROS_IMAGE_ID=$(echo "$output" | grep " id " | awk '{print $(NF-1)}')
-    if [ -z "$CIRROS_IMAGE_ID" ]; then
-        echo 'Failed uploading cirros image to cloud'.
-        exit 1
-    fi
+        CIRROS_IMAGE_ID=$(echo "$output" | grep " id " | awk '{print $(NF-1)}')
+        if [ -z "$CIRROS_IMAGE_ID" ]; then
+            echo 'Failed uploading cirros image to cloud'.
+            exit 1
+        fi
 
-    echo "Cirros image id: $CIRROS_IMAGE_ID"
+        echo "Cirros image id: $CIRROS_IMAGE_ID"
+    fi
 }
 
 load_ubuntu_image()