X-Git-Url: https://gerrit.linuxfoundation.org/infra/gitweb?a=blobdiff_plain;f=shell%2Fjenkins-verify-images.sh;h=f05e3c35b0a2d30a2da1f3ff5dce3d46ef5ed076;hb=e1a8dc64cfe10360ebdcadd28806adf800760ce7;hp=aed8d12f11c02b1b7bbaec1a7373d4b6282f2df5;hpb=629c7f5421eb198902cbed38ecafe3411782f037;p=releng%2Fglobal-jjb.git diff --git a/shell/jenkins-verify-images.sh b/shell/jenkins-verify-images.sh index aed8d12f..f05e3c35 100755 --- a/shell/jenkins-verify-images.sh +++ b/shell/jenkins-verify-images.sh @@ -12,19 +12,48 @@ echo "---> jenkins-verify-images.sh" # Verifies that openstack contains an image for each config file defined in the # jenkins-config/clouds/openstack directory. +set -eux -o pipefail + error=false -for file in jenkins-config/clouds/openstack/*/*; do - # Set the $IMAGE_NAME variable to the the file's IMAGE_NAME value - export "$(grep IMAGE_NAME $file)" - # The image should be listed as active - openstack image list --property name="$IMAGE_NAME" | grep "active" - if [ $? -ne 0 ]; then - echo "ERROR: No matching image found for $IMAGE_NAME" +verify_images() +{ + echo "Verifying images on $1" + for file in "$1"/*; do + # Set the $IMAGE_NAME variable to the the file's IMAGE_NAME value + export "$(grep ^IMAGE_NAME= "$file")" + # The image should be listed as active + + if ! openstack image list --property name="$IMAGE_NAME" | grep "active"; then + echo "ERROR: No matching image found for $IMAGE_NAME" + error=true + fi + # Set the $HARDWARE_ID variable to the the file's HARDWARE_ID value + export "$(grep ^HARDWARE_ID= "$file")" + # The flavor should be listed. Spaces in grep string ensure complete match. + + if ! openstack flavor list | grep " $HARDWARE_ID "; then + echo "ERROR: No matching flavor found for $HARDWARE_ID" + error=true + fi + done +} + +for cloud in jenkins-config/clouds/openstack/*; do + echo "Verifying that cloud has a master configuration file" + # Verify that we have a cloud config file + if [ -f "$cloud/cloud.cfg" ]; then + # Get the OS_CLOUD variable from cloud config and export it + OS_CLOUD=$(grep ^CLOUD_CREDENTIAL_ID= "$cloud/cloud.cfg" | cut -d'=' -f2) + export OS_CLOUD + + verify_images "$cloud" + else + echo "ERROR: No cloud.cfg for $cloud" error=true fi done -if [ "$error" = true ]; then +if $error; then exit 1 fi