Commit Graph

178 Commits

Author SHA1 Message Date
Monty Taylor 355f7090a6 Remove zuul v2 and jjb content
It's migrated, it can be removed now.

Depends-On: I6a89752d74ed7424267c3af3937ad01fb4bb8f86
Change-Id: Id67d0149b645bd23e460cef65719541f76f0967b
2017-10-24 08:50:05 +02:00
Monty Taylor b4fd783219
Remove unmatched single quotes from jenkins jobs
The v3 migration script can handle these just fine - but if we go ahead
and remove them the output can be predominantely shell rather than
script.

Change-Id: I440851a0149e1cc7f8c5c6e8a4e3e0b94088ee82
2017-09-20 09:27:26 -05:00
Alex Schultz da7ce679c8 Update puppet-ceph to use stable/pike for jewel
We have recently cut a release for the jewel version of the module which
is supported until Pike. The current master is going to be updated for
the next LTS of ceph so we need to test the pike modules on the jewel
branch.

Change-Id: I8fbe3b56b17d1db6f1d4cbaa37e338943470d56c
2017-08-24 08:27:41 -06:00
Andrea Frittoli c00340dc77 Increase puppet integration job timeout to 90m
The puppet jobs have been timing-out, probably due to slow nodes.
Until the problem is well understood and sorted out, raising the
timeout to let the jobs complete.

Change-Id: I868e4a1004eecb199520c490b07de72f2246313a
2017-08-10 15:02:50 +01:00
Alex Schultz 5ea1d743b6 Update puppet jobs to 4.8
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
2017-08-03 10:14:12 -06:00
Andreas Jaeger 2e8dfd4e08 Remove unused puppet syntax jobs
A lot of the combinations of puppet syntax jobs are not used which leads
to over 800 unused jobs.

Only define the combinations that are actually used, this reduces the
number of jobs significantly.

Change-Id: I3ff88a7c7cb269df38f8acf4ff53114d4bd52d81
2017-07-09 18:29:33 +02:00
Emilien Macchi f1387c4fa3 puppet: remove unit 3.3, 3.4, 3.7 and 4.0
Puppet unit tests jobs for 3.3, 3.4, 3.7 and 4.0
were only useful for Mitaka and before but now we don't need
the jobs.
They were missed in https://review.openstack.org/#/c/481177/.
This patch cleans it so we don't run these jobs everywhere.

Change-Id: I3cd726d9c210f545f43182be959e4a3071d9a679
2017-07-07 12:07:19 -07:00
Emilien Macchi e4cf6804c5 Remove puppet-openstack-integration-3-.* jobs
They aren't used anymore since we EOLed Mitaka branch.
We only need puppet-openstack-integration-4-.* for now
(and puppet-openstack-integration-5-.*) in experimental pipeline.

Change-Id: I9735b85ddd02e1524e185d8789bb1ac082da0d5b
2017-07-07 07:35:29 -07:00
Emilien Macchi fc889a588b puppet: remove workaround for mitaka/hammer branches
stable/hammer & stable/mitaka have been EOLed so we don't need these
workarounds anymore in JJB.

Change-Id: I9a9f89f9b7fb2366bb22cf24db3a659d4f6d4dcc
2017-07-06 09:50:41 -07:00
Andreas Jaeger e0261f6f39 Remove OpenStack puppet mitaka jobs
Remove all trusty jobs for OpenStack puppet repos, those are only run on
mitaka which is eol.

Change-Id: Id9fbf390c0c55e3382e1a5fa07b1cdb256ae028c
2017-07-05 18:54:27 +02:00
Jenkins 80220dcefd Merge "Puppet OpenStack CI: Add experimental jobs for Puppet 5" 2017-06-01 08:55:06 +00:00
Emilien Macchi 7a79e2dedf puppet-modules-tarball: use zuul-git-prep builder
Use zuul-git-prep builder so we clone the repo into WORKSPACE and we can
find the tarball before uploading it.

Co-Authorized-By: Paul Belanger <pabelanger@redhat.com>
Change-Id: Ic38afcb4a3859e1e908946e9f7cce2f7e3535334
2017-05-31 15:13:55 +00:00
Emilien Macchi 4875fab9d2 Puppet OpenStack CI: Add experimental jobs for Puppet 5
Puppet 5 is already available in experimental repositories, let's start
testing it so Puppet OpenStack project will be ready when 5 will become
official.

Change-Id: Ie657d70bdda78083b46fdf0bc10c6a8b1a0ba6fa
2017-05-31 15:14:25 +02:00
Alex Schultz dde067b268 Fix puppet install and execution issues
When adding a repository in Ubuntu, one must run apt-get update prior
to trying to install a package from the new repository. Additionally
when this new package installs binaries in an alternative path, you
need to ensure the PATH is properly updated for it to work.

Change-Id: I285baa486221e496baa8e205bd7a92c33d07dd2f
2017-05-30 13:51:18 -06:00
Emilien Macchi 55bd487de2 Separate Puppet OpenStack tarball jobs from Python jobs
Because Puppet OpenStack modules require specific logics and packages to
be released and archived, we think it's better to separate the jobs that
create tarballs from Python jobs.

This patch:
* Create a job-template "{name}-puppet-tarball" with all required logic
  to create tarballs from Puppet modules.
* Create a job-group "puppet-release-jobs" which contains
  "{name}-puppet-tarball" and other regular release jobs. (It replaced
  "{name}-tarball").
* Use the new jobgroup for all Puppet OpenStack modules.
* Move {name}-branch-tarball into the new job-template.
* Remove Puppet logic in scripts/run-tarball.sh and jenkins/scripts/run-wheel.sh
  which is not needed anymore.
* Create a new Zuul layout called "puppet-release-jobs" which contains
  the jobs needed to release Puppet OpenStack modules.
* Use the new layout for all Puppet OpenStack modules.
* Remove puppet-branch-tarball-jobs layout and move the {name}-branch-tarball job
  into the new layout.

Change-Id: Idb3811bae16321717e5e5467fc3c56492ed57520
2017-05-23 12:56:03 -04:00
Alex Schultz 5328118f3c Create a puppet-agent-install builder
The puppet-module-build job requires puppet be available. Rather than
include it in bindep.txt which would conflict with the other jobs, this
change creates a builder to pull in the latest version of puppet from
puppetlabs.

Change-Id: I2c56d16ee3e0be6982e51e4457c9beb25f175c3e
2017-05-16 13:21:34 -06:00
Andreas Jaeger 2f29f4dec9 Fix puppet-module-build
Change I082ea72743634b8ce0106786ab4ec35add874c8d updated the
job-template to use a list of nodes - and that broke the
gate-{name}-puppet-module-build template, since it used node as
variable. Looking at the job defintition of
gate-puppet-nova-puppet-module-build, it has:
<assignedNode>['centos-7', 'ubuntu-xenial']</assignedNode>

Explictely set the node parameter to the previous value of
centos-7.

Change-Id: I4c0e57c67273d0be0edf3bbd9d663a03144db5ae
2017-05-16 20:14:38 +02:00
Colleen Murphy e0b69c0225 Use gem-based puppet syntax jobs for infra
Since we removed puppet from the nodepool nodes, the puppet parser
validate command in the puppet-syntax job fails since puppet is not
installed. Rather than modifying that job to install puppet, we can
re-use the existing 'rake syntax' job that the puppet-openstack group
has defined for their modules, which installs puppet via gems and is
therefore simpler. We can also now remove the plain puppet-syntax job
since nothing is using it.

Change-Id: I082ea72743634b8ce0106786ab4ec35add874c8d
2017-05-01 20:06:23 +02:00
Paul Belanger 3354e2bbac
Add net-info macro to puppet jobs
This adds extra debug information about DIB images and networking
setup to console logs.  Helpfully when you want to troubleshoot a job.

Change-Id: I4e3838bd160dd6f10b0ef27970fa32e59df21050
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
2017-05-01 11:45:51 -04:00
Andreas Jaeger bb75639300 Remove branch-git-prep
Remove branch-git-prep, we can use zuul-cloner everywhere.

Rework zuul-git-branch-prep to follow the logic of
zuul-git-branch-prep-upper-constraints. Note that zuul-git-branch-prep was not
used prior to this patch.

Change occurences of branch-git-prep to zuul-git-branch-prep.

Change-Id: Id938a858a0ff1967b97293405ef41b9b281f407f
2017-04-07 07:45:11 +02:00
Andreas Jaeger acf7572d10 s/gerrit-git-prep/zuul-git-prep/g
We do not need gerrit-git-prep anymore, zuul-git-prep works on all our
slaves and has the advantage of using zuul-cloner so that the local
cache is used and Depends-On works.

Remove gerrit-git-prep and use zuul-git-prep instead everywhere.

Change-Id: I2f106af58f78fceaf3c497fe43e6f5a002695645
2017-04-03 19:36:51 +02:00
Emilien Macchi 7746dbbc12 puppet/tripleo: stop testing Puppet 3 in Pike and beyond
Puppet 3 is not supported by Puppet OpenStack community starting from
Pike cycle. So we don't want to run the CI jobs anymore.

Because infra is still running syntax-3 jobs, we create a -legacy job
only used by Puppet OpenStack, and run it only on the branches that we
want.

Change-Id: Ifc742361efce1b7f56a3b23046d72642ba697434
2017-03-22 14:38:35 -04:00
Paul Belanger f4b7cd0e3e
gate-{name}-puppet-module-build doesn't use SSH, remove access
There is no need to allow ssh to loopback for puppet-module-builds,
remove it.

Change-Id: Ic0a9bd3d172f92d8a006d10169a8ddeef17d0772
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
2017-03-07 18:07:34 -05:00
Emilien Macchi 80006efa52 Move puppet-module-build to gate
We tested the job against all Puppet OpenStack modules and it works
fine. We want it voting now.

Change-Id: Ieca43224584fbb7663e79445b1f325a44bdbaa80
2017-01-31 08:00:46 -05:00
Jenkins 2cc20b685c Merge "puppet-module-build: keep puppet packaging installed" 2017-01-31 06:39:02 +00:00
Emilien Macchi b891e0bd16 puppet-module-build: keep puppet packaging installed
Do not purge puppet from the node, we need it.
So remove puppet-prepare-node builder that purges Puppet, we don't want
to do that.

Change-Id: I825e70fbe947833dc266ea6cbf5c57805151ec45
2017-01-30 16:45:50 -05:00
Andreas Jaeger aecbca97f2 Don't use lists for single nodes
Don't expose the nodes as a list when it's one node.

Change-Id: I71e07064b4ab41f375ff74127faf03b5acc19fce
2017-01-27 20:38:05 +01:00
Emilien Macchi 6b05dca15e puppet: change JJB syntax for nodes
Don't expose the nodes as a list when it's one node.

Change-Id: I68bbe81692e8f1b30fe41de63957c0286fdd21c8
2017-01-27 14:08:57 -05:00
Emilien Macchi e088e32aaa Introduce puppet module build job
Introduce a new non-voting job (for now) that will test "puppet module
build" everytime we touch metadata.json.

Indeed, we have seen broken release jobs because module could not be
built and it could have been cought by this CI job.

Run this job for all Puppet modules that has a metadata.json and already
run lint+syntax jobs, it's non voting for now and once it works fine
everywhere, we'll make it vote.

Change-Id: I38e8194494c70b47ea05171467633bfd92ddd4c8
2017-01-26 16:57:28 -05:00
Andreas Jaeger 4a61bc67f5 Change job-suffix to suffix
We have now some rather long job-template names, shorten them with
replacing job-suffix with suffix.

Before this change we had 1500 usages of job-suffix and 700 of just
suffix. This change therefore unifies to one setting.

Note that this does not change any job names at all, they are unchanged,
it changes and shortens only the names of job-templates.

Change-Id: I514df039a848d9f6619bca3adc05dfb84a761fc9
2016-12-08 22:05:01 +01:00
Emilien Macchi 4e9124f3cf Remove propose-puppet-openstack-rdo-promote
propose-puppet-openstack-rdo-promote was useful to submit changes every
night to promote repositories in Puppet OpenStack CI when deploying with
RDO.

Now, we have the process automated in RDO Infra, and we can use a static
URL that is auto-promoted if RDO CI jobs pass with new packaging.

In other words:

- Before:
Puppet OpenStack was testing OpenStack for a repo older than 24h and
manually promoted repositories every day.

- Now:
Puppet OpenStack will use the same repository that is automatically
updated in RDO every 3 hours if jobs are passing.
We're improving the CI/CD toolchain.

It depends on this change in puppet-openstack-integration:
https://review.openstack.org/382940

Change-Id: I52b6098163bd95aae5d8bc69bf12499fa0ddacc9
Depends-On: Ia1ac4b55f8542d94c68dc761a9af04c447d50e3e
2016-10-06 09:33:54 -04:00
Emilien Macchi 4bfb0099bc Move Puppet OpenStack gate to Puppet 4 voting
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
2016-09-22 08:39:36 -04:00
Jeremy Stanley 19e3292de9 Revert "Pin bundler to 1.12.5 for some jobs"
The fix for https://github.com/bundler/bundler/issues/4961 is
included in the bundler 1.13.1 release.

This reverts commit addf701853.

Change-Id: Ib3c885cc34bf173a6fc462438482746f9eb0379b
2016-09-15 19:11:14 +00:00
Jeremy Stanley addf701853 Pin bundler to 1.12.5 for some jobs
Infra jobs for puppet-lint and beaker-rspec-centos7 are failing due
to https://github.com/bundler/bundler/issues/4961 so temporarily pin
bundler to the last release prior to 1.13.0 until the issue can be
solved upstream.

Change-Id: I96b694dca77c32e9e1cf698ec0d93f8bcae8f082
2016-09-10 00:49:39 +00:00
Alex Schultz 9b03bb4572 Update puppet integration jobs to use bindep.txt
Remove the hard coded usage of other-requirements.txt as
bindep.txt is the prefered file name. This change unblocks
the rename of other-requirements.txt to bindep.txt

Change-Id: I5b17ab4550740c835c35d71e1bedff25410c5003
2016-08-19 09:43:33 -06:00
Andreas Jaeger e6faf6c899 Fix puppet-openstack-integration-checkout
Fix wrong variable name.

Change-Id: I8979d8423d85233970709c990d1eb3e30f6c8e48
2016-08-04 13:17:53 +02:00
Andreas Jaeger 7b1222d2e8 Add missing slash to puppet-module-jobs
A recent change missed a "\" for line continuation and the job is broken
now.

Add it in.

Change-Id: I3738977e928cc4a9c2638692f006ed2b9a80572b
2016-08-04 11:42:15 +02:00
Emilien Macchi 9d194cd846 puppet: workaround for puppet-ceph
Here is how works puppet-ceph module:
- puppet-ceph stable/hammer works with Puppet OpenStack stable/mitaka
- puppet-ceph master (future stable/jewel) works with Puppet OpenStack
  master (future stable/newton and beyond).

Because of that, we need to checkout puppet-openstack-integration with
the right ZUUL_BRANCH otherwise a patch in puppet-ceph stable/hammer
would try to checkout stable/hammer which doesn't exist and would
fallback to master and CI would fail because stable/hammer works with
Mitaka and not Newton.

This is a workaround for puppet-ceph, we'll get rid of it at the end of
Hammer support.

Change-Id: I257f181d483d63c72b097b6fb25acce352501aa6
2016-08-03 21:40:46 -04:00
Paul Belanger cccc060780
Move gate-{name}-puppet-syntax to ubuntu-xenial
This is part of our effort to replace ubuntu-trusty with
ubuntu-xenial.

Change-Id: I88b39af1f69500d867054386aea3d25558967555
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
2016-07-27 16:02:36 -04:00
Emilien Macchi 2bf26b2388 puppet: fix libraries job bash code
Fix bash code to cd the right directory.

Change-Id: I0ab9a12d94a09334c1b67a51e2d02c23087869af
2016-07-25 22:37:57 -04:00
Emilien Macchi 432b2f6c7b puppet-openstack: unify testing for libraries
This patch unifies the way we test 3 projects:
- openstack/puppet-modulesync-configs
- openstack/puppet-openstack-cookiecutter
- openstack/puppet-openstack_spec_helper

For every project, it will run:
- lint
- syntax 3 and 4
- rspec
- beaker

Using the same JJB and Zuul layouts.
It will bring our testing more consistent and add coverage for
openstack/puppet-openstack-cookiecutter and
openstack/puppet-modulesync-configs.

Change-Id: I5905a1b50b46d8d7bf7d2eb296084be842433e19
2016-07-20 11:56:12 -04:00
Emilien Macchi f190602eb8 puppet-openstack-cookiecutter: run bash script for testing
Instead of defining in JJB the bash commands we want to run, just
execute a bash script so it will let us manage what we want to test
directly in the repository.

Change-Id: I2deee794e657b3a30e33dcfeb9563a87fe10ded5
2016-07-19 11:31:22 -04:00
Emilien Macchi 25038cb749 move gate-{name}-puppet-lint on ubuntu-xenial
We're having some troubles with lint jobs that require rubygem-json 2.x
but the lastest requires Ruby 2.X provided on Ubuntu Xenial and not on
Ubuntu Trusty.

This patch aims to run puppet-lint jobs on Ubuntu Xenial.

Change-Id: I2b83b6a91eda048060be921150856d86602d0975
2016-07-08 12:06:48 -04:00
Emilien Macchi ec21239393 puppet: introduce scenario004
scenario004 will be a new scenario run on puppet-ceph for start and
non-voting, as it's experimental.

The scenario will install Ceph Rados Gateway instead of Swift and test
its integration with OpenStack.

Change-Id: Ib5ffcf29bb513bd6624f61f549739befa9cc95ce
2016-07-07 12:00:49 -04:00
Emilien Macchi ba4c1835ee puppet/spec_helper/syntax jobs: add missing PUPPET_GEM_VERSION
PUPPET_GEM_VERSION is required so we know which version of Puppet we
want to install.

Change-Id: Ib947e5cd13c565c72428dd1d3dbbc8f94e7147b8
2016-06-26 21:21:41 -04:00
Emilien Macchi 003de9f198 Implement gate-puppet-openstack-spec-helper-syntax
Create Implement gate-puppet-openstack-spec-helper-syntax (puppet 3 and 4)
that will run Puppet syntax tests against puppet-openstack_spec_helper,
like we already do with lint, unit and beaker.

Depends-On: Ia845567f5b3fa0c3e6c063126eddf95378708909
Change-Id: I6aca135e900a8aa2bed85a03ba06975317e216fe
2016-06-23 17:22:37 -04:00
Emilien Macchi ef1b0f835a Implement gate-puppet-openstack-spec-helper-lint
Create gate-puppet-openstack-spec-helper-lint job that will run Puppet
lint tests against puppet-openstack_spec_helper, like we already have
beaker & unit tests.

Change-Id: Ibf90806a0b1ee92cfdd1ea948d0ca102781900cf
Depends-On: Ica12fcd31500bbca98df5f581e93b541b7a9372d
2016-06-23 17:12:28 -04:00
Paul Belanger acdbb100f0
Use custom bindep installer for puppet jobs
This fixes a bug where install-distro-packages fails to properly
location the other-requirements.txt file.

Change-Id: I80fb2ceab2269189d27ab9b8dcb18d45205c960b
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
2016-06-10 15:11:08 -04:00
Emilien Macchi f6d7960ced Remove copy_puppet_logs publisher
Remove copy_puppet_logs publisher and run a script in
openstack/puppet-openstack-integration to collect logs.
This script is provided by [1] and copied from here.

It also change the puppet-openstack-integration-checkout builder to
clone openstack/puppet-openstack-integration not in ./ but in
./puppet-openstack-integration, so we can use this builder in beaker
jobs, that run for openstck/puppet-* modules.

[1] I625491cdc03e6b3dadff46eafe0811544805e861

Change-Id: I9a5563ded5b99bc216b9b2c7861299f5256456fa
2016-06-09 14:07:49 -04:00
James E. Blair 20576bded0 Clean up proposal slave in a builder
So we can avoid using the jenkins-specific postbuildscript plugin,
move the proposal slave cleanup to a builder.  Run it first so that
it always runs.  Since we're running it first, we can't use it to
clean up our current workspace, so instead, ask it to clean up all
workspaces.

Change-Id: I54a187d643fb76f10cc11411d546c41348b5592e
2016-06-09 09:44:13 -07:00