Commit Graph

25 Commits

Author SHA1 Message Date
Emilien Macchi
41235561e6 Implement propose_rdo_promote CI periodic job
Background: during a cycle, we deploy OpenStack on centos7 from trunk
using RDO repositories, automatically built at each commit in OpenStack.

Currently, Puppet OpenStack CI manually promotes
puppet-openstack-integration every week, to latest URL. We would like to
automate this process with a daily periodic job so every day we would
have a promotion and we could detect which commit in OpenStack would
break our CI, and we could work on it quicker than usual, because
feedback would be daily.

This patch adds a periodic job, called
"propose-puppet-openstack-rdo-promote" that will execute
jenkins/scripts/propose_rdo_promote.sh script. The script has been
tested and already used manually.

Change-Id: I9b19a440325f609746a197676d3799aa0f60ce66
2016-06-03 08:34:19 -04:00
Emilien Macchi
697a5df0a1 Implement periodic job to update Puppet OpenStack constraints
In Puppet OpenStack CI, we use r10k to clone Puppet OpenStack modules
and all their dependencies from different places.
The Puppetfile is useful for both unit and functional tests, so we have
a consistency in what we test.

Until now, we were managing this Puppetfile without automation.
From time to time, we were updating the file but it does not scale,
regarding the work that needs to be done and the amount of dependencies
that never stop to grow up.

We recently implemented a script that is called
generate_puppetfile.sh (see dependency). This script aims to generate a
Puppetfile by cloning OpenStack & External modules.
The script will fetch tags and take the most recent one.
The script works as it is now, please look:
https://review.openstack.org/300696
And the Puppetfile that is generated.

This patch is an attempt to automate the run of this script, by using
the periodic job that is already in place for many other projects.

More features will come in next iterations:
* support stable branches
* add more logic in the script to detect whether or not tags exist (all
  our current modules have tags, but we never know...)

Change-Id: Id23ba86487d2223861b21941fa04acac0d49e3f3
2016-05-03 16:31:16 -04:00
James E. Blair
aca7a864a7 Don't check for proposed branches in propose_update
These are not used anymore, so I am reliably informed.

Change-Id: I9a4da1d350d1884ba2b263f6945a01ac4e2c33b4
2016-04-21 07:54:41 -07:00
Andreas Jaeger
7801565602 Use ZUUL_REFNAME (1/2) for branch checking
We should use ZUUL_REFNAME instead of ZUUL_REF.

Change propose_update.sh to use REFNAME. Since propose_update.sh is
deployed at different time than the JJB update, let's pass both
variables for now and cleanup once new images are generated.

Change-Id: I8d77840d4d745b4df787e9f8d572ef10b3902b82
2016-03-02 21:08:58 +01:00
Clint Adams
a5925bb90c Add periodic job to autogenerate devstack plugins list
This is intended to obviate I72e769e5479f651673ef24b4ee20f92b12049f74

Change-Id: Ifef7573acb00ad5fb03859f737f4cb96043392f2
Depends-On: Ia04ab72900c8efd5d5289fbd7632201dcaa3e5d9
2016-02-01 19:03:34 -05:00
Andreas Jaeger
f5145cf8ee Unify usages of checking for existing changes (2/2)
Use function setup_commit_message everywhere to avoid duplication of
these lines.
Also, document the side effects of the function in the invocation.

Change-Id: I3b77a232467b536b62b5c61d30705deeb11e725e
2016-01-08 09:28:38 +01:00
Jeremy Stanley
7508f4dbc8 Requirements updates clone from git.o.o
Since I93465255c27fb2079915c7b3cd9170bfc40b8c35 when the predecessor
of our current propose_update.sh was introduced, this script has
always cloned all our repos directly from Gerrit over SSH. This is
bad for performance of the job and Gerrit both. Instead clone from
our git server farm (using zuul-cloner would be nice, but there is
no git cache maintained on proposal.slave.openstack.org so we should
improve this in a follow up change).

Change-Id: Ic4adb2e59330ccb8e922b9c0cca59cde162eedf4
2015-07-10 21:05:58 +00:00
Jenkins
1d86166929 Merge "Use blacklist support in generate-constraints" 2015-06-26 05:02:54 +00:00
Jenkins
eed4de5533 Merge "Correct parameters for generate-constraints" 2015-06-26 05:01:24 +00:00
Jeremy Stanley
7db3c4158e Use blacklist support in generate-constraints
We don't constrain source code checkers since various repos are
compliant with different versions. Use the new -b/--blacklist option
to generate-constraints so that they're skipped.

Change-Id: Ibff24e72281f673904feeceac32372ee6f0d3677
Depends-On: I11eb0d762869ad8920795fb710f1b2eeb9354f12
2015-06-22 20:38:21 +00:00
Andreas Jaeger
345391e273 Fix propose_update.sh
The propose-requirements-updates was failing since we essentially call
virtualenv `mktemp` - but mktemp creates a file and virtualenv expects a
directory.

Add -d to mktemp invocation to create a directory.

Change-Id: I358bd2c42d698de4d7863ac08318d46a4524e32b
2015-06-20 18:13:34 +02:00
Jeremy Stanley
d2713ca5fe Correct parameters for generate-constraints
When proposing updates, the parameter passed to the update function
is the name of the subdirectory where the project to be updated can
be found, so the global-requirements.txt is relative to the
requirements repo workspace. Also when passing it to the
generate-constraints entrypoint, do so with the -r parameter rather
than as a positional argument (since the latter does not work).

Change-Id: I22acc4598dda92a60b47d34a7986a117197f8626
2015-06-18 21:02:19 +00:00
Jeremy Stanley
607d35d884 Run requirements update entrypoint from a venv
The requirements update.py script is growing its own dependencies so
we need to install it into a virtualenv and run it from there. Also,
go ahead and switch to invoking its entrypoint since it'll be
installed for us now. Also run the generate-constraints entrypoint
from a virtualenv similarly.

Change-Id: I16e967356d5c56f1474ee661b954b3db11a608cb
2015-06-17 02:05:47 +00:00
Jenkins
f6f0d175bc Merge "Switch to using $() for subshells, part 2" 2015-06-10 13:00:16 +00:00
Robert Collins
2330d82b12 Add upper-constraints generation glue
propose-update needs to know how to generate upper-constraints for
requirements.

Change-Id: I6d9a6aaeab62a38d2eb38fcec6a585703023c60e
2015-06-08 23:58:05 +00:00
Robert Collins
c970ba900b Handle incorrect project names more carefully.
Change-Id: Icc0243d5c1fe9028bd6b8e473ad26bad6026e5a5
2015-06-09 09:35:04 +12:00
Steve Kowalik
e3060b094c Switch to using $() for subshells, part 2
Cleanup every use of `` for subshells in the jenkins/scripts
directory, replacing them with $(), and finally making the
scripts consistent.

Change-Id: Id3e45fb873c1ebeae6ab63a0caa4c427a7ccbb62
2015-06-04 15:33:48 +10:00
Jenkins
34f35f003a Merge "Switch to using test -n" 2015-06-01 23:18:20 +00:00
Jenkins
43b100c42e Merge "Don't use set +e to check the return value" 2015-06-01 23:18:09 +00:00
Steve Kowalik
f4a2c9802d Switch to using test -n
Using the construct of x$var != x is unnecessary, and has been
unnecessary for quite some time. We trust our shell, so switch to
using test -n.

Change-Id: I8eea943e5b641ba3d8781212877da7ddec167a6c
2015-05-21 13:39:55 -07:00
Steve Kowalik
f8253a6670 Don't use set +e to check the return value
In propose_update, we were pushing the shell's set -e functionality
out of the way, so we could use a if block to check the return value.
We only care if the command exits non-zero, so we can do it in an if
directly.

Change-Id: I196751e79aee24e96a854fec4a51b4756c96047f
2015-05-20 14:24:09 -07:00
Steve Kowalik
c7ac961329 Move git config to a common function/file
There are a number of calls to git config in the slave scripts are
all the same, and we should use a shell function to not repeat
ourselves.

Change-Id: Ib2fa3d5ca12d5d08e2d21a734fea13aa9848b19e
2015-05-20 14:17:05 -07:00
Samuel de Medeiros Queiroz
fb5d780cad Don't short circuit when projects fails to clone
This change adds a check to propose_update.sh,
avoiding it to go into fatal error when a project
fails to clone.

Just report the incident and move onto the next
project.

Change-Id: Ib22403f1bd27070b8121a9d79bb95cae409dbe7d
2015-05-04 09:11:26 -03:00
Jeremy Stanley
a09f0255f7 Change proposals fall back on proposed branches
During the RC period for a project, there may already be a stable
branch for the release on the triggering project and a proposed
branch on the target project. If so, we want stable changes proposed
to the proposed branch. That's not confusing!

Change-Id: I488bb9ff63daf9d012e41dbaa178b1656eaeffad
2015-04-10 14:38:13 +00:00
Anita Kuno
1d21cd635f Reorganizes project-config
This repo was created from filter branching the openstack-infra/
config repo. This process brought a lot of cruft with it in the
form of directories that we no longer need. This patch removes
that cruft so we begin with a tidier repo.

Change-Id: Ibffad1b11c0c5f84eedfb0365369f60c4961a0f3
2014-09-25 11:41:04 -04:00