X-Git-Url: https://gerrit.linuxfoundation.org/infra/gitweb?a=blobdiff_plain;f=shell%2Fjenkins-verify-images.sh;h=d005c52f0873b1c16ed408af3b1daaacf3944b97;hb=576208dc964434966f301c635473529ac0a3103e;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..d005c52f 100755 --- a/shell/jenkins-verify-images.sh +++ b/shell/jenkins-verify-images.sh @@ -12,19 +12,47 @@ 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 +} + +echo "Verifying that cloud has a master configuration file" +for cloud in jenkins-config/clouds/openstack/*; do + if [[ -f $cloud/cloud.cfg ]]; then + # Get the OS_CLOUD variable from cloud config + if ! os_cloud=$(grep -E "^OS_CLOUD=" "$cloud/cloud.cfg" | cut -d'=' -f2); then + os_cloud="vex" + fi + OS_CLOUD=$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