From 50180f9f93c47b314bf24150d6634f66dce41a25 Mon Sep 17 00:00:00 2001 From: Clark Boylan Date: Fri, 2 Oct 2015 14:36:12 -0700 Subject: [PATCH] Add a nodepool + shade from src integration job We want to do integration testing of nodepool and shade from source installs. First step in doing that is getting devstack-gate to checkout the correct versions of both shade and nodepool on disk. Do this in a new job (preserving the old test nodepool against released shade job) so that we test future development and how people will deploy nodepool in production. Change-Id: If323a7ab577c7942f4f98a42bbbb291c86d5b6f7 --- jenkins/jobs/nodepool.yaml | 54 ++++++++++++++++++++++++++++++++++++++ jenkins/jobs/projects.yaml | 5 ++++ zuul/layout.yaml | 4 +++ 3 files changed, 63 insertions(+) diff --git a/jenkins/jobs/nodepool.yaml b/jenkins/jobs/nodepool.yaml index 52b2db5649..2e656f4d14 100644 --- a/jenkins/jobs/nodepool.yaml +++ b/jenkins/jobs/nodepool.yaml @@ -49,3 +49,57 @@ publishers: - devstack-logs - console-log + +- job-template: + name: '{pipeline}-dsvm-nodepool-src-shade{branch-designator}' + node: '{node}' + + wrappers: + - build-timeout: + timeout: 65 + - timestamps + + builders: + - link-logs + - net-info + - devstack-checkout + - shell: | + #!/bin/bash -xe + export PYTHONUNBUFFERED=true + export DEVSTACK_GATE_TIMEOUT=60 + # Disable tempest as nodepool is talking to the cloud not tempest. + export DEVSTACK_GATE_TEMPEST=0 + # Use neutron as the public clouds in use are neutron based. + export DEVSTACK_GATE_NEUTRON=1 + # The nodepool process needs sudo rights in order to + # perform dib image builds + export DEVSTACK_GATE_REMOVE_STACK_SUDO=0 + # Override so we get a bare minimum set of base compute services + # required to have nodepool function. + export OVERRIDE_ENABLED_SERVICES=dstat,g-api,g-reg,key,mysql,n-api,n-cond,n-cpu,n-crt,n-obj,n-sch,q-agt,q-dhcp,q-l3,q-lbaas,q-meta,q-metering,q-svc,quantum,rabbit,s-account,s-container,s-object,s-proxy + export BRANCH_OVERRIDE={branch-override} + if [ "$BRANCH_OVERRIDE" != "default" ] ; then + export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE + fi + # Because we are testing a non standard project, add the + # our project repository. This makes zuul do the right + # reference magic for testing changes. + export PROJECTS="openstack-infra/nodepool $PROJECTS" + export PROJECTS="openstack-infra/shade $PROJECTS" + # note the actual url here is somewhat irrelevant because it + # caches in nodepool, however make it a valid url for + # documentation purposes. + export DEVSTACK_LOCAL_CONFIG="enable_plugin nodepool git://git.openstack.org/openstack-infra/nodepool" + export DEVSTACK_LOCAL_CONFIG+=$'\n'"LIBS_FROM_GIT=openstack-infra/shade" + + function post_test_hook {{ + /opt/stack/new/nodepool/tools/check_devstack_plugin.sh + }} + export -f post_test_hook + + cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh + ./safe-devstack-vm-gate-wrap.sh + + publishers: + - devstack-logs + - console-log diff --git a/jenkins/jobs/projects.yaml b/jenkins/jobs/projects.yaml index 24fdcb489f..aa641de29e 100755 --- a/jenkins/jobs/projects.yaml +++ b/jenkins/jobs/projects.yaml @@ -4003,6 +4003,11 @@ node: devstack-trusty branch-designator: '' branch-override: 'default' + - '{pipeline}-dsvm-nodepool-src-shade{branch-designator}': + pipeline: gate + node: devstack-trusty + branch-designator: '' + branch-override: 'default' - project: name: nose-html-output diff --git a/zuul/layout.yaml b/zuul/layout.yaml index 26fbfe3633..9e9888fe45 100755 --- a/zuul/layout.yaml +++ b/zuul/layout.yaml @@ -1037,6 +1037,9 @@ jobs: - name: gate-dsvm-nodepool voting: false + - name: gate-dsvm-nodepool-src-shade + voting: false + - name: gate-project-config-irc-access files: - 'accessbot/channels.yaml' @@ -6134,6 +6137,7 @@ projects: check: - nodepool-coverage - gate-dsvm-nodepool + - gate-dsvm-nodepool-src-shade post: - nodepool-coverage