From 28ea3ab0bd1aca3d00cf5428bd805481e137f0c8 Mon Sep 17 00:00:00 2001 From: Eric Ball Date: Thu, 31 Jan 2019 15:18:21 -0800 Subject: [PATCH] Verify build node HARDWARE_ID This script already checks each file's IMAGE_NAME for validity; this adds essentially the same validation to check the HARDWARD_ID. Also add the job to the ci-jobs groups, and set submodule-recursive value for github-jenkins-cfg-verify. Issue: RELENG-1418 Change-Id: I0266a0fcc276b2960c9c1749a89bc70e8115d152 Signed-off-by: Eric Ball --- jjb/lf-ci-job-groups.yaml | 2 ++ jjb/lf-ci-jobs.yaml | 2 +- shell/jenkins-verify-images.sh | 18 ++++++++++++++---- 3 files changed, 17 insertions(+), 5 deletions(-) diff --git a/jjb/lf-ci-job-groups.yaml b/jjb/lf-ci-job-groups.yaml index 2dcff4cf..6dc377f3 100644 --- a/jjb/lf-ci-job-groups.yaml +++ b/jjb/lf-ci-job-groups.yaml @@ -4,6 +4,7 @@ jobs: - gerrit-jenkins-cfg-merge + - gerrit-jenkins-cfg-verify - gerrit-jenkins-sandbox-cleanup - gerrit-jjb-deploy-job - gerrit-jjb-merge @@ -14,6 +15,7 @@ jobs: - github-jenkins-cfg-merge + - github-jenkins-cfg-verify - github-jenkins-sandbox-cleanup - github-jjb-deploy-job - github-jjb-merge diff --git a/jjb/lf-ci-jobs.yaml b/jjb/lf-ci-jobs.yaml index 1a799c68..bdcd65ef 100644 --- a/jjb/lf-ci-jobs.yaml +++ b/jjb/lf-ci-jobs.yaml @@ -506,7 +506,7 @@ url: '{git-clone-url}{github-org}/{project}' refspec: '+refs/pull/*:refs/remotes/origin/pr/*' branch: '$sha1' - submodule-recursive: '{submodule-recursive}' + submodule-recursive: true submodule-timeout: '{submodule-timeout}' choosing-strategy: default jenkins-ssh-credential: '{jenkins-ssh-credential}' diff --git a/shell/jenkins-verify-images.sh b/shell/jenkins-verify-images.sh index aed8d12f..c97f0630 100755 --- a/shell/jenkins-verify-images.sh +++ b/shell/jenkins-verify-images.sh @@ -12,19 +12,29 @@ 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)" + 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 + + 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 -if [ "$error" = true ]; then +if $error; then exit 1 fi -- 2.16.6