
We decided to start voting on Puppet 4 starting from Newton and keep Puppet 3 jobs only for stable branches. This patch removes experimental jobs for puppet4, to move them in the gate, and configure Zuul to run Puppet 3 and 4 jobs only for their respective branches. Note: it also removes the multinode job that we never finished and we don't need it anymore. Change-Id: I00cee8d2356993cb9ad006329afcdc05c2fad9f1
448 lines
11 KiB
YAML
448 lines
11 KiB
YAML
- builder:
|
|
name: puppet-openstack-integration-checkout
|
|
builders:
|
|
- shell: |
|
|
#!/bin/bash -xe
|
|
ZUUL_BRANCH_REAL=${ZUUL_BRANCH:-master}
|
|
# Workaround for puppet-ceph, where we need to checkout
|
|
# puppet-openstack-integration from stable/mitaka when working on stable/hammer.
|
|
# Ceph Hammer works with Mitaka and before.
|
|
# Ceph Jewel works with Newton and beyond.
|
|
if [[ "$ZUUL_BRANCH" == "stable/hammer" ]]; then
|
|
ZUUL_BRANCH_REAL='stable/mitaka'
|
|
fi
|
|
export ZUUL_REF=${ZUUL_REF:-None}
|
|
CLONEMAP=`mktemp`
|
|
function cleanup {
|
|
rm -f $CLONEMAP
|
|
}
|
|
trap cleanup EXIT
|
|
cat > $CLONEMAP << EOF
|
|
clonemap:
|
|
- name: openstack/puppet-openstack-integration
|
|
dest: puppet-openstack-integration
|
|
EOF
|
|
/usr/zuul-env/bin/zuul-cloner -m $CLONEMAP \
|
|
--cache-dir /opt/git \
|
|
--zuul-branch $ZUUL_BRANCH_REAL \
|
|
git://git.openstack.org openstack/puppet-openstack-integration
|
|
|
|
- job-template:
|
|
name: 'gate-{name}-puppet-unit-{puppet_version}-{node}'
|
|
node: '{node}'
|
|
|
|
builders:
|
|
- print-template-name:
|
|
template-name: "{template-name}"
|
|
- gerrit-git-prep
|
|
- install-distro-packages
|
|
- puppet-prepare-node
|
|
- revoke-sudo
|
|
- shell: |
|
|
if [ "{puppet_version}" != "latest" ]; then
|
|
export PUPPET_GEM_VERSION='~> {puppet_version}.0'
|
|
fi
|
|
mkdir .bundled_gems
|
|
export GEM_HOME=`pwd`/.bundled_gems
|
|
gem install bundler --no-rdoc --no-ri --verbose
|
|
$GEM_HOME/bin/bundle install --retry 3
|
|
$GEM_HOME/bin/bundle exec rake spec SPEC_OPTS='--format documentation'
|
|
|
|
wrappers:
|
|
- build-timeout:
|
|
timeout: 60
|
|
- timestamps
|
|
|
|
publishers:
|
|
- console-log
|
|
|
|
|
|
- job-template:
|
|
name: 'gate-{name}-puppet-beaker-rspec-{node}{job-suffix}'
|
|
node: '{node}'
|
|
|
|
builders:
|
|
- print-template-name:
|
|
template-name: "{template-name}"
|
|
- link-logs
|
|
- gerrit-git-prep
|
|
- puppet-openstack-integration-checkout
|
|
- install-distro-packages
|
|
- puppet-prepare-node
|
|
- allow-local-ssh-root
|
|
- shell: |
|
|
trap "puppet-openstack-integration/copy_logs.sh" EXIT
|
|
mkdir .bundled_gems
|
|
export GEM_HOME=`pwd`/.bundled_gems
|
|
gem install bundler --no-rdoc --no-ri --verbose
|
|
$GEM_HOME/bin/bundle install --retry 3
|
|
export BEAKER_set=nodepool-{ostype}
|
|
export BEAKER_debug=yes
|
|
export BEAKER_color=no
|
|
# deploy puppet4 on experimental beaker jobs
|
|
# https://tickets.puppetlabs.com/browse/BKR-821
|
|
if [ "{node}" == "ubuntu-xenial" ]; then
|
|
export PUPPET_INSTALL_TYPE=agent
|
|
export PUPPET_MAJ_VERSION=4
|
|
fi
|
|
$GEM_HOME/bin/bundle exec rspec spec/acceptance
|
|
|
|
wrappers:
|
|
- build-timeout:
|
|
timeout: 60
|
|
- timestamps
|
|
|
|
publishers:
|
|
- devstack-logs
|
|
- console-log
|
|
|
|
- job-template:
|
|
name: '{name}-forge-upload'
|
|
node: release
|
|
|
|
builders:
|
|
- print-template-name:
|
|
template-name: "{template-name}"
|
|
- revoke-sudo
|
|
- gerrit-git-prep
|
|
- shell: |
|
|
#!/bin/bash
|
|
cat > Rakefile << EOF
|
|
require 'puppet_blacksmith/rake_tasks'
|
|
EOF
|
|
TAG=${{ZUUL_REF:10}}
|
|
sed -i -e 's/ "version":.*/ "version": "'$TAG'",/' metadata.json
|
|
mkdir .bundled_gems
|
|
export GEM_HOME=`pwd`/.bundled_gems
|
|
gem install --no-ri --no-rdoc puppetlabs_spec_helper puppet-blacksmith
|
|
rake module:push
|
|
|
|
publishers:
|
|
- console-log
|
|
|
|
|
|
- job-template:
|
|
name: 'gate-{name}-puppet-lint'
|
|
node: ubuntu-xenial
|
|
|
|
builders:
|
|
- print-template-name:
|
|
template-name: "{template-name}"
|
|
- gerrit-git-prep
|
|
- install-distro-packages
|
|
- puppet-prepare-node
|
|
- revoke-sudo
|
|
- puppet-lint
|
|
|
|
publishers:
|
|
- console-log
|
|
|
|
- job-template:
|
|
name: 'gate-{name}-puppet-syntax'
|
|
node: ubuntu-xenial
|
|
|
|
builders:
|
|
- print-template-name:
|
|
template-name: "{template-name}"
|
|
- gerrit-git-prep
|
|
- install-distro-packages
|
|
- revoke-sudo
|
|
- puppet-syntax
|
|
|
|
publishers:
|
|
- console-log
|
|
|
|
- job-template:
|
|
name: 'gate-{name}-puppet-syntax-{puppet_version}-{node}'
|
|
node: '{node}'
|
|
|
|
builders:
|
|
- print-template-name:
|
|
template-name: "{template-name}"
|
|
- gerrit-git-prep
|
|
- install-distro-packages
|
|
- puppet-prepare-node
|
|
- revoke-sudo
|
|
- shell: |
|
|
export PUPPET_GEM_VERSION='~> {puppet_version}'
|
|
mkdir .bundled_gems
|
|
export GEM_HOME=`pwd`/.bundled_gems
|
|
gem install bundler --no-rdoc --no-ri --verbose
|
|
$GEM_HOME/bin/bundle install --retry 3
|
|
# FUTURE_PARSER=yes is only supported by Puppet 3.x
|
|
if [ "{puppet_version}" -lt "4" ]; then
|
|
export FUTURE_PARSER=yes
|
|
fi
|
|
$GEM_HOME/bin/bundle exec rake syntax
|
|
|
|
publishers:
|
|
- console-log
|
|
|
|
- job-template:
|
|
name: 'gate-puppet-openstack-integration-{puppet_version}-{scenario}-tempest-{node}{job-suffix}'
|
|
node: '{node}'
|
|
|
|
builders:
|
|
- print-template-name:
|
|
template-name: "{template-name}"
|
|
- link-logs
|
|
- puppet-openstack-integration-checkout
|
|
- shell: |
|
|
#!/bin/bash -xe
|
|
cd puppet-openstack-integration
|
|
/usr/local/jenkins/slave_scripts/install-distro-packages.sh
|
|
- puppet-prepare-node
|
|
- shell: |
|
|
#!/bin/bash -xe
|
|
cd puppet-openstack-integration
|
|
trap "./copy_logs.sh" EXIT
|
|
export PUPPET_MAJ_VERSION={puppet_version}
|
|
export SCENARIO={scenario}
|
|
mkdir .bundled_gems
|
|
export GEM_HOME=`pwd`/.bundled_gems
|
|
gem install bundler --no-rdoc --no-ri --verbose
|
|
./run_tests.sh
|
|
|
|
wrappers:
|
|
- build-timeout:
|
|
timeout: 60
|
|
- timestamps
|
|
|
|
publishers:
|
|
- devstack-logs
|
|
- console-log
|
|
|
|
- job-template:
|
|
name: 'gate-puppet-openstack-libraries-puppet-lint-{node}'
|
|
node: '{node}'
|
|
|
|
builders:
|
|
- print-template-name:
|
|
template-name: "{template-name}"
|
|
- link-logs
|
|
- zuul-clone:
|
|
project: $ZUUL_PROJECT
|
|
- install-distro-packages
|
|
- puppet-prepare-node
|
|
- shell: |
|
|
#!/bin/bash -xe
|
|
cd $ZUUL_PROJECT
|
|
./run_lint_tests.sh
|
|
|
|
wrappers:
|
|
- build-timeout:
|
|
timeout: 60
|
|
- timestamps
|
|
|
|
publishers:
|
|
- console-log
|
|
|
|
- job-template:
|
|
name: 'gate-puppet-openstack-libraries-puppet-syntax-{puppet_version}-{node}'
|
|
node: '{node}'
|
|
|
|
builders:
|
|
- print-template-name:
|
|
template-name: "{template-name}"
|
|
- link-logs
|
|
- zuul-clone:
|
|
project: $ZUUL_PROJECT
|
|
- install-distro-packages
|
|
- puppet-prepare-node
|
|
- shell: |
|
|
#!/bin/bash -xe
|
|
cd $ZUUL_PROJECT
|
|
export PUPPET_VERSION="{puppet_version}"
|
|
./run_syntax_tests.sh
|
|
|
|
wrappers:
|
|
- build-timeout:
|
|
timeout: 60
|
|
- timestamps
|
|
|
|
publishers:
|
|
- console-log
|
|
|
|
- job-template:
|
|
name: 'gate-puppet-openstack-libraries-puppet-unit-{node}'
|
|
node: '{node}'
|
|
|
|
builders:
|
|
- print-template-name:
|
|
template-name: "{template-name}"
|
|
- link-logs
|
|
- zuul-clone:
|
|
project: $ZUUL_PROJECT
|
|
- install-distro-packages
|
|
- puppet-prepare-node
|
|
- shell: |
|
|
#!/bin/bash -xe
|
|
cd $ZUUL_PROJECT
|
|
./run_unit_tests.sh
|
|
|
|
wrappers:
|
|
- build-timeout:
|
|
timeout: 60
|
|
- timestamps
|
|
|
|
publishers:
|
|
- console-log
|
|
|
|
- job-template:
|
|
name: 'gate-puppet-openstack-libraries-puppet-beaker-rspec-{node}'
|
|
node: '{node}'
|
|
|
|
builders:
|
|
- print-template-name:
|
|
template-name: "{template-name}"
|
|
- link-logs
|
|
- puppet-openstack-integration-checkout
|
|
- zuul-clone:
|
|
project: $ZUUL_PROJECT
|
|
- install-distro-packages
|
|
- puppet-prepare-node
|
|
- allow-local-ssh-root
|
|
- shell: |
|
|
#!/bin/bash -xe
|
|
cd $ZUUL_PROJECT
|
|
trap "../../puppet-openstack-integration/copy_logs.sh" EXIT
|
|
./run_beaker_tests.sh
|
|
|
|
wrappers:
|
|
- build-timeout:
|
|
timeout: 60
|
|
- timestamps
|
|
|
|
publishers:
|
|
- devstack-logs
|
|
- console-log
|
|
|
|
wrappers:
|
|
- build-timeout:
|
|
timeout: 60
|
|
- timestamps
|
|
|
|
publishers:
|
|
- console-log
|
|
|
|
- job:
|
|
name: propose-puppet-openstack-constraints
|
|
node: proposal
|
|
|
|
builders:
|
|
- proposal-slave-cleanup
|
|
- revoke-sudo
|
|
- link-logs
|
|
- branch-git-prep:
|
|
branch: master
|
|
- net-info
|
|
- shell: |
|
|
export ZUUL_REFNAME=master
|
|
/usr/local/jenkins/slave_scripts/propose_update.sh \
|
|
puppet-openstack-constraints
|
|
|
|
publishers:
|
|
- console-log
|
|
|
|
- job:
|
|
name: propose-puppet-openstack-rdo-promote
|
|
node: proposal
|
|
|
|
builders:
|
|
- proposal-slave-cleanup
|
|
- revoke-sudo
|
|
- link-logs
|
|
- branch-git-prep:
|
|
branch: master
|
|
- net-info
|
|
- shell: |
|
|
export ZUUL_REFNAME=master
|
|
/usr/local/jenkins/slave_scripts/propose_update.sh \
|
|
puppet-openstack-rdo-promote
|
|
|
|
publishers:
|
|
- console-log
|
|
|
|
- job-group:
|
|
name: 'puppet-check-jobs'
|
|
puppet_version:
|
|
- 3
|
|
- 4
|
|
node:
|
|
- centos-7
|
|
jobs:
|
|
- 'gate-{name}-puppet-lint'
|
|
- 'gate-{name}-puppet-syntax'
|
|
- 'gate-{name}-puppet-syntax-{puppet_version}-{node}'
|
|
|
|
- job-group:
|
|
name: 'puppet-module-unit'
|
|
puppet_version:
|
|
- 3.3
|
|
- 3.4
|
|
- 3.6
|
|
- 3.7
|
|
- 3.8
|
|
- 4.0
|
|
- 4.5
|
|
- 'latest'
|
|
puppet_unit_version: '3.3 3.4 3.6 3.7 3.8 4.0 4.5 latest'
|
|
node:
|
|
- centos-7
|
|
jobs:
|
|
- 'gate-{name}-puppet-unit-{puppet_version}-{node}'
|
|
|
|
- job-group:
|
|
name: 'puppet-beaker-jobs-trusty'
|
|
ostype: trusty
|
|
node:
|
|
- ubuntu-trusty
|
|
jobs:
|
|
- 'gate-{name}-puppet-beaker-rspec-{node}{job-suffix}'
|
|
|
|
- job-group:
|
|
name: 'puppet-beaker-jobs-xenial'
|
|
ostype: xenial
|
|
node:
|
|
- ubuntu-xenial
|
|
jobs:
|
|
- 'gate-{name}-puppet-beaker-rspec-{node}{job-suffix}'
|
|
|
|
- job-group:
|
|
name: 'puppet-beaker-jobs-centos7'
|
|
ostype: centos7
|
|
node:
|
|
- centos-7
|
|
jobs:
|
|
- 'gate-{name}-puppet-beaker-rspec-{node}{job-suffix}'
|
|
|
|
- job-group:
|
|
name: 'puppet-openstack-integration-jobs'
|
|
puppet_version:
|
|
- 3
|
|
- 4
|
|
node:
|
|
- ubuntu-trusty
|
|
- ubuntu-xenial
|
|
- centos-7
|
|
scenario:
|
|
- scenario001
|
|
- scenario002
|
|
- scenario003
|
|
- scenario004
|
|
jobs:
|
|
- 'gate-puppet-openstack-integration-{puppet_version}-{scenario}-tempest-{node}{job-suffix}'
|
|
|
|
- job-group:
|
|
name: 'puppet-openstack-libraries-jobs'
|
|
node:
|
|
- centos-7
|
|
puppet_version:
|
|
- 3
|
|
- 4
|
|
jobs:
|
|
- 'gate-puppet-openstack-libraries-puppet-lint-{node}'
|
|
- 'gate-puppet-openstack-libraries-puppet-syntax-{puppet_version}-{node}'
|
|
- 'gate-puppet-openstack-libraries-puppet-unit-{node}'
|
|
- 'gate-puppet-openstack-libraries-puppet-beaker-rspec-{node}'
|