5ea1d743b6
There have been some recent merging of changes to things like stdlib that require 4.6+. In tripleo we actually deploy with 4.8. This change updates the Puppet OpenStack and puppet-tripleo jobs to use 4.8 for unit tests. It should be noted that 4.5 equates to Puppet Enterprise 2016.2[0] which has already reached limited support as of October of 2016[1]. 4.8[2] is in PE 2016.5 which is newer than the current LTS version. [0] https://docs.puppet.com/puppet/4.5/release_notes.html [1] https://puppet.com/misc/puppet-enterprise-lifecycle [2] https://docs.puppet.com/puppet/4.8/release_notes.html Change-Id: I6091aacd692129789b95c45c0cde55e4a55ccb51
490 lines
13 KiB
YAML
490 lines
13 KiB
YAML
- builder:
|
|
name: puppet-openstack-integration-checkout
|
|
builders:
|
|
- shell: |
|
|
#!/bin/bash -xe
|
|
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 \
|
|
git://git.openstack.org openstack/puppet-openstack-integration
|
|
|
|
- job-template:
|
|
name: 'gate-{name}-puppet-unit-{puppet_version}-{legacy}{node}'
|
|
node: '{node}'
|
|
|
|
builders:
|
|
- print-template-name:
|
|
template-name: "{template-name}"
|
|
- net-info
|
|
- zuul-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}{suffix}'
|
|
node: '{node}'
|
|
|
|
builders:
|
|
- print-template-name:
|
|
template-name: "{template-name}"
|
|
- net-info
|
|
- link-logs
|
|
- zuul-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
|
|
- zuul-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}"
|
|
- net-info
|
|
- zuul-git-prep
|
|
- install-distro-packages
|
|
- puppet-prepare-node
|
|
- revoke-sudo
|
|
- puppet-lint
|
|
|
|
publishers:
|
|
- console-log
|
|
|
|
- job-template:
|
|
name: 'gate-{name}-puppet-syntax-{puppet_version}-{legacy}{node}'
|
|
node: '{node}'
|
|
|
|
builders:
|
|
- print-template-name:
|
|
template-name: "{template-name}"
|
|
- net-info
|
|
- zuul-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}{suffix}'
|
|
node: '{node}'
|
|
|
|
builders:
|
|
- print-template-name:
|
|
template-name: "{template-name}"
|
|
- net-info
|
|
- 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}"
|
|
- net-info
|
|
- 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}-{legacy}{node}'
|
|
node: '{node}'
|
|
|
|
builders:
|
|
- print-template-name:
|
|
template-name: "{template-name}"
|
|
- net-info
|
|
- 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}"
|
|
- net-info
|
|
- 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}"
|
|
- net-info
|
|
- 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
|
|
|
|
- job-template:
|
|
name: 'gate-{name}-puppet-module-build'
|
|
node: centos-7
|
|
|
|
builders:
|
|
- print-template-name:
|
|
template-name: "{template-name}"
|
|
- link-logs
|
|
- zuul-clone:
|
|
project: $ZUUL_PROJECT
|
|
- install-distro-packages
|
|
- puppet-agent-install
|
|
- shell: |
|
|
#!/bin/bash -xe
|
|
cd $ZUUL_PROJECT
|
|
puppet module build .
|
|
|
|
wrappers:
|
|
- build-timeout:
|
|
timeout: 60
|
|
- timestamps
|
|
|
|
publishers:
|
|
- console-log
|
|
|
|
- job-template:
|
|
name: '{name}-puppet-tarball'
|
|
node: ubuntu-xenial
|
|
|
|
builders:
|
|
- print-template-name:
|
|
template-name: "{template-name}"
|
|
- install-distro-packages
|
|
- puppet-agent-install
|
|
- revoke-sudo
|
|
- zuul-git-prep
|
|
- shell: |
|
|
#!/bin/bash -xe
|
|
# NOTE(mwhahaha): puppet from puppet-agent-install builder is not in
|
|
# the standard path, so add puppetlabs bin to the path
|
|
export PATH=$PATH:/opt/puppetlabs/bin
|
|
# try to find the modulename, ex: puppet-aodh
|
|
# we have to use sed because workspace is puppet-aodh-branch-tarball
|
|
# or puppet-aodh-tarball and not puppet-aodh.
|
|
MODULE_NAME=$(basename `git rev-parse --show-toplevel` | sed "s/\(-branch\)\?-tarball$//")
|
|
puppet module build .
|
|
# NOTE(pabelanger): Here we are converting openstack-neutron-8.0.0.tar.gz to
|
|
# puppet-neutron-8.0.0.tar.gz.
|
|
find . -name openstack-*.tar.gz | sed -e "p;s/openstack-/puppet-/" | xargs -n2 mv
|
|
mkdir -p dist
|
|
if echo $ZUUL_REFNAME | grep refs/tags/ >/dev/null ; then
|
|
# NOTE(pabelanger) We don't need to rename tagged tarballs as `puppet
|
|
# module build` does the right thing.
|
|
mv pkg/*.tar.gz dist/
|
|
else
|
|
mv pkg/*.tar.gz dist/$MODULE_NAME.tar.gz
|
|
fi
|
|
|
|
publishers:
|
|
- tarball:
|
|
project: '{name}'
|
|
- test-results
|
|
- console-log
|
|
|
|
- job:
|
|
name: propose-puppet-openstack-constraints
|
|
node: proposal
|
|
|
|
builders:
|
|
- proposal-slave-cleanup
|
|
- revoke-sudo
|
|
- link-logs
|
|
- zuul-git-branch-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-group:
|
|
name: 'puppet-check-jobs'
|
|
puppet_version:
|
|
- 3
|
|
- 4
|
|
node:
|
|
- centos-7
|
|
- ubuntu-xenial
|
|
legacy:
|
|
- ''
|
|
- 'legacy-'
|
|
jobs:
|
|
- 'gate-{name}-puppet-lint'
|
|
- 'gate-{name}-puppet-module-build'
|
|
- 'gate-{name}-puppet-syntax-{puppet_version}-{legacy}{node}':
|
|
puppet_version: 3
|
|
node: ubuntu-xenial
|
|
legacy: ''
|
|
- 'gate-{name}-puppet-syntax-{puppet_version}-{legacy}{node}':
|
|
puppet_version: 3
|
|
node: centos-7
|
|
legacy: 'legacy-'
|
|
- 'gate-{name}-puppet-syntax-{puppet_version}-{legacy}{node}':
|
|
puppet_version: 4
|
|
node: centos-7
|
|
legacy: ''
|
|
|
|
- job-group:
|
|
name: 'puppet-module-unit'
|
|
puppet_version:
|
|
- 3.6
|
|
- 3.8
|
|
- 4.5
|
|
- 4.8
|
|
- 'latest'
|
|
puppet_unit_version: '3.6 3.8 4.5 4.8 latest'
|
|
node: centos-7
|
|
legacy:
|
|
- ''
|
|
- 'legacy-'
|
|
jobs:
|
|
- 'gate-{name}-puppet-unit-{puppet_version}-{legacy}{node}'
|
|
|
|
- job-group:
|
|
name: 'puppet-beaker-jobs-trusty'
|
|
ostype: trusty
|
|
node: ubuntu-trusty
|
|
jobs:
|
|
- 'gate-{name}-puppet-beaker-rspec-{node}{suffix}'
|
|
|
|
- job-group:
|
|
name: 'puppet-beaker-jobs-xenial'
|
|
ostype: xenial
|
|
node: ubuntu-xenial
|
|
jobs:
|
|
- 'gate-{name}-puppet-beaker-rspec-{node}{suffix}'
|
|
|
|
- job-group:
|
|
name: 'puppet-beaker-jobs-centos7'
|
|
ostype: centos7
|
|
node: centos-7
|
|
jobs:
|
|
- 'gate-{name}-puppet-beaker-rspec-{node}{suffix}'
|
|
|
|
- job-group:
|
|
name: 'puppet-openstack-integration-jobs'
|
|
puppet_version:
|
|
- 4
|
|
- 5
|
|
node:
|
|
- ubuntu-xenial
|
|
- centos-7
|
|
scenario:
|
|
- scenario001
|
|
- scenario002
|
|
- scenario003
|
|
- scenario004
|
|
jobs:
|
|
- 'gate-puppet-openstack-integration-{puppet_version}-{scenario}-tempest-{node}{suffix}'
|
|
|
|
- job-group:
|
|
name: 'puppet-openstack-libraries-jobs'
|
|
node: centos-7
|
|
puppet_version:
|
|
- 3
|
|
- 4
|
|
legacy:
|
|
- ''
|
|
- 'legacy-'
|
|
jobs:
|
|
- 'gate-puppet-openstack-libraries-puppet-lint-{node}'
|
|
- 'gate-puppet-openstack-libraries-puppet-syntax-{puppet_version}-{legacy}{node}'
|
|
- 'gate-puppet-openstack-libraries-puppet-unit-{node}'
|
|
- 'gate-puppet-openstack-libraries-puppet-beaker-rspec-{node}'
|
|
|
|
- job-group:
|
|
name: puppet-release-jobs
|
|
jobs:
|
|
- '{name}-announce-release'
|
|
- '{name}-puppet-tarball'
|
|
- '{name}-tarball-signing'
|
|
- '{name}-branch-tarball'
|