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
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
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
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
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
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
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
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
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
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
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
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
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
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
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>
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
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
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
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>
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
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
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
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
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
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
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
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
This is part of our effort to replace ubuntu-trusty with
ubuntu-xenial.
Change-Id: I88b39af1f69500d867054386aea3d25558967555
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
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
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
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
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
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
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
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>
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
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