From 2b30b928e4b158d21792cf962f8668ab752a9522 Mon Sep 17 00:00:00 2001 From: "James E. Blair" Date: Thu, 25 Jul 2013 23:04:52 -0700 Subject: [PATCH] Validate that zuul-referenced jobs exist Create a list of jobs defined by the current JJB configuration and use it to validate that every job referenced in the Zuul layout.yaml exists. Also, fix all of the errors currently identified by this. Requires Iceb74440cb004e9ebe6fc08a4eedf7715de2d485 in Zuul. Change-Id: Iae8f612836a269520ce7448b9a656c8df183e126 --- .../jenkins_job_builder/config/projects.yaml | 10 +++----- .../files/zuul/layout-dev.yaml | 3 --- .../openstack_project/files/zuul/layout.yaml | 22 +++++------------- tools/run-layout.sh | 23 +++++++++++++++---- 4 files changed, 27 insertions(+), 31 deletions(-) diff --git a/modules/openstack_project/files/jenkins_job_builder/config/projects.yaml b/modules/openstack_project/files/jenkins_job_builder/config/projects.yaml index c395e34d9b..e713332dc0 100644 --- a/modules/openstack_project/files/jenkins_job_builder/config/projects.yaml +++ b/modules/openstack_project/files/jenkins_job_builder/config/projects.yaml @@ -197,9 +197,7 @@ tarball-site: tarballs.openstack.org jobs: - - gate-{name}-pep8 - - gate-{name}-pyflakes - - '{name}-tarball' + - python-jobs - pypi-jobs @@ -211,9 +209,7 @@ tarball-site: tarballs.openstack.org jobs: - - gate-{name}-pep8 - - gate-{name}-pyflakes - - '{name}-tarball' + - python-jobs - pypi-jobs @@ -454,7 +450,7 @@ tarball-site: tarballs.openstack.org jobs: - - '{name}-tarball' + - python-jobs - pypi-jobs diff --git a/modules/openstack_project/files/zuul/layout-dev.yaml b/modules/openstack_project/files/zuul/layout-dev.yaml index e46339ed7a..965cc17732 100644 --- a/modules/openstack_project/files/zuul/layout-dev.yaml +++ b/modules/openstack_project/files/zuul/layout-dev.yaml @@ -96,12 +96,10 @@ projects: - name: openstack-infra/gerritbot check: - gate-gerritbot-pep8 - - gate-gerritbot-pyflakes - name: openstack-infra/gerritlib check: - gate-gerritlib-pep8 - - gate-gerritlib-pyflakes - name: openstack-infra/jeepyb check: @@ -151,7 +149,6 @@ projects: - name: openstack-infra/statusbot check: - gate-statusbot-pep8 - - gate-statusbot-pyflakes - name: openstack/cinder check: diff --git a/modules/openstack_project/files/zuul/layout.yaml b/modules/openstack_project/files/zuul/layout.yaml index fb9332dfb0..d3722a6d73 100644 --- a/modules/openstack_project/files/zuul/layout.yaml +++ b/modules/openstack_project/files/zuul/layout.yaml @@ -229,10 +229,8 @@ projects: - name: openstack-infra/gerritbot check: - gate-gerritbot-pep8 - - gate-gerritbot-pyflakes gate: - gate-gerritbot-pep8 - - gate-gerritbot-pyflakes post: - gerritbot-branch-tarball pre-release: @@ -246,10 +244,8 @@ projects: - name: openstack-infra/gerritlib check: - gate-gerritlib-pep8 - - gate-gerritlib-pyflakes gate: - gate-gerritlib-pep8 - - gate-gerritlib-pyflakes pre-release: - gerritlib-tarball release: @@ -393,7 +389,6 @@ projects: pre-release: - storyboard-tarball release: - - storyboard-docs - storyboard-tarball: - storyboard-pypi-upload: - post-mirror-python26 @@ -408,10 +403,8 @@ projects: - name: openstack-infra/statusbot check: - gate-statusbot-pep8 - - gate-statusbot-pyflakes gate: - gate-statusbot-pep8 - - gate-statusbot-pyflakes post: - statusbot-branch-tarball pre-release: @@ -558,14 +551,14 @@ projects: - gate-django_openstack_auth-python27 - gate-django_openstack_auth-noop post: - - python-django_openstack_auth-branch-tarball - - python-django_openstack_auth-coverage + - django_openstack_auth-branch-tarball + - django_openstack_auth-coverage pre-release: - - python-django_openstack_auth-tarball + - django_openstack_auth-tarball release: - - python-django_openstack_auth-tarball: - - python-django_openstack_auth-pypi-upload - - python-django_openstack_auth-docs + - django_openstack_auth-tarball: + - django_openstack_auth-pypi-upload + - django_openstack_auth-docs - name: openstack/keystone check: @@ -1112,12 +1105,9 @@ projects: post: - hacking-branch-tarball - hacking-coverage - - hacking-docs pre-release: - - hacking-docs - hacking-tarball release: - - hacking-docs - hacking-tarball: - hacking-pypi-upload: - post-mirror-python26 diff --git a/tools/run-layout.sh b/tools/run-layout.sh index 574cf9d0d3..7657b7dc3d 100755 --- a/tools/run-layout.sh +++ b/tools/run-layout.sh @@ -23,14 +23,27 @@ then echo echo "ORG: The project organization (eg 'openstack')" echo "PROJECT: The project name (eg 'nova')" - #TODO: make fatal in subsequent change: exit 1 + exit 1 else /usr/local/jenkins/slave_scripts/select-mirror.sh $org $project fi -rm -fr .test -mkdir .test +mkdir -p .test cd .test -git clone https://review.openstack.org/p/openstack-infra/zuul --depth 1 +[ -d zuul ] || git clone https://review.openstack.org/p/openstack-infra/zuul --depth 1 +[ -d jenkins-job-builder ] || git clone https://review.openstack.org/p/openstack-infra/jenkins-job-builder --depth 1 +cd jenkins-job-builder +# These are $WORKSPACE/.test/jenkins-job-builder/.test/... +mkdir -p .test/new/config +mkdir -p .test/new/out +cd ../.. + +cp modules/openstack_project/files/jenkins_job_builder/config/* .test/jenkins-job-builder/.test/new/config +cd .test/jenkins-job-builder +tox -e compare-xml-new + +cd .. +find jenkins-job-builder/.test/new/out/ -printf "%f\n" > job-list.txt + cd zuul -tox -e validate-layout ../../modules/openstack_project/files/zuul/layout.yaml +tox -e venv -- zuul-server -c etc/zuul.conf-sample -l ../../modules/openstack_project/files/zuul/layout.yaml -t ../job-list.txt