252 Commits

Author SHA1 Message Date
Thierry Carrez
7e896b57eb Add release-approval pipeline
Define a release-approval pipeline to run the check-release-approval
job on every comment added to a release request, and set a
PTL-Approved label accordingly.

This may be considered a bit resource-intensive, however the
check-release-approval job is a fast python script that runs on
the executor, and only release requests shall go in this pipeline.
If this generates too much load, we could configure it to only run
when the comment posted contains a magic "signoff" keyword.

Another concern is that jobs other than check-release-approval would
be added to this pipeline. There does not seem to be a way in Zuul to
limit a pipeline to a specific job name or project.

Change-Id: Ieab04a4d6c02b216a59c12ec8599e7d91f4fffb1
2020-02-05 16:46:24 +01:00
Dr. Jens Harbott
703f107788 Fix use of 'comment-added' event type
In [0] an event type of 'comments-added' was used for the ironic
channel, but the correct event type is 'comment-added'.

[0] https://review.opendev.org/698091

Change-Id: Idd0638357aa4ed751a7e862c0e514e10b468ee9a
2020-01-21 13:33:02 +00:00
Zuul
98402d34e3 Merge "IRC #openstack-ironic gerritbot CI failed messages" 2020-01-21 08:43:20 +00:00
Andreas Jaeger
398adb791f Bye, Bye, Trusty
This removes trusty from the repo and thus from OpenDev.

Afterwards the AFS volume mirror.wheel.trustyx64 can be deleted.

Depends-On: https://review.opendev.org/702771
Depends-On: https://review.opendev.org/702818
Change-Id: I3fa4c26b0c8aeacf1af76f9046ea98edb2fcdbd0
2020-01-19 16:00:55 +01:00
Steve Baker
abefaaea44 IRC #openstack-ironic gerritbot CI failed messages
When a gerrit comment of type Verified with value -2 is posted, send a
message to the #openstack-ironic channel.

This will raise awareness of CI job failures preventing changes from
landing, and is proposed as a trial for later refinement.

Update irc_tests.py for the dependend change to pass tests.

Change-Id: I251e9e5ea760fe5da1a8fbca7cee365dd3ae563b
Depends-On: https://review.opendev.org/#/c/698089/
2020-01-17 20:53:20 +01:00
Ian Wienand
4f6629021e Update hacking, fix errors/warnings
This version of hacking doesn't understand f-strings as usable in
Python 3.  Update to the latest and fix current issues, which are all
just formatting fixes.

Change-Id: I0a7d6f93f07477b6dd29ab143130dd9064c250be
2020-01-14 09:40:45 +11:00
Clark Boylan
4a94d0debf Fix the zuul main.yaml config checks
It is possible to have two different types of dict listings for zuul
tenant project lists. The first (which we handled fine) is a dict per
project where we list which items we include from that project. The
other is a dict with global settings and a list of projects. Handle this
second case.

Change-Id: I03969da4595f4c66db36cab35ef96a33c6766002
2019-09-17 15:40:03 -07:00
Andreas Jaeger
7114e79485 Check ACLs for all namespaces
Remove hardcoded list of namespaces with iterating over all directories
in the check of valid ACLs.

Remove parameter, we don't need to pass it in.

Be more verbose and report directories scanned and number of ACL files
read.

Change-Id: I4193ac59b431d31f3ce835c93950745e5b742418
2019-05-31 21:53:03 +02:00
Andreas Jaeger
ef188ee2f6 Fix gerrit/projects.yaml sort order
Our linters fail due to wrong sorting, fix it.

Also, fix tools/check_valid_gerrit_config.sh, openstack-dev is dead now.
(the file needs a better fix, will do a followup)

Change-Id: Iaa330a3f9507cb065ee8b3a11d91abdadb455cf2
2019-05-31 20:02:26 +02:00
Zuul
ad3d06c920 Merge "Create 'Backport-Candidate' for Octavia repos" 2019-05-23 21:28:22 +00:00
Zuul
bd06273806 Merge "Update hacking to version 1.1" 2019-05-20 01:00:09 +00:00
Andreas Jaeger
10de11d7a9 Check zuul/main.yaml projects
Check that projects in zuul/main.yaml exist in gerrit.
This would have avoided https://review.opendev.org/659697.

Use yaml.safe_load in one case.

Depends-On: https://review.opendev.org/659735
Change-Id: I6fb3d90c18b57c004caf02dd6e5d5c34b1ce1ff9
2019-05-17 11:12:45 +02:00
Andreas Jaeger
ecc2997769 Update hacking to version 1.1
Update hacking, fix a couple of problems found.

Change-Id: Ie903e3ddf13e78d758b26e884bb1fb0e1a6ed73c
2019-05-17 09:31:30 +02:00
Michael Johnson
c49fb365ff Create 'Backport-Candidate' for Octavia repos
The Octavia team would like to enabled passive voting on patches
for backport candidates. This means that backport candidate votes
will not block a patch from merging, but will allow the team to
better track patches that should be backported.

Change-Id: Ib75714649848538e9fed171abd0b11f6fbc55503
2019-05-07 11:16:21 -07:00
Andreas Jaeger
945a586f65 Check groups entry in gerrit/projects
Following Icbef648e9948e0fa636dd0d15039b6fc229541ca, check that groups
are a list if defined.

Change-Id: I3a647c6b2debc7bb0a3a06b3f3407c4ea7e3f3e5
2019-05-03 09:22:02 +02:00
Zuul
941b3c5546 Merge "Update links for opendev" 2019-04-24 19:24:26 +00:00
Andreas Jaeger
8d3dcbcf9d Fix system-config org in tools/build-image.sh
It's opendev/system-config.

Change-Id: I4759b52d90a4e76a885fa361d8786c452bd1e7e6
2019-04-21 19:19:30 +02:00
Andreas Jaeger
14eb58501b Fix nodepool after OpenDev changes
Fix a couple of places where orgs where renamed so that dib finds the
repos.

Change-Id: Ic52dcffcd9323c12410e05b1a3598911a28cbcaa
2019-04-21 17:05:34 +00:00
Monty Taylor
72b6395c6b Update links for opendev
Change-Id: I35c8c64abfed31daf2be3698be13e72e38cd321b
2019-04-21 14:01:51 +00:00
Zuul
cee7b8ce87 Merge "Update jobs for OpenDev" 2019-04-20 17:36:38 +00:00
Andreas Jaeger
ee6468b9b4 Update jobs for OpenDev
Follow OpenDev changes:
* Use gerrit.opendev.org instead of gerrit.openstack.org
* Use opendev.org insted of git.openstack.org
* Follow move of openstack-infra/project-config to
  openstack/project-config

Change-Id: Ic27ea41407abc0bdec29768e5ee5dca33f8adeda
2019-04-20 13:51:05 +00:00
Andreas Jaeger
18ec3df45c Add system-required back for repos
The OpenDev rename change lost the system-required template for many
repos, add it back.

Update tools/zuul-projects-checks.py to handle this.

Change-Id: I157bdbe5cefb5cbba3fcbb18e24a8bf6e762019c
2019-04-20 09:47:38 +02:00
Andreas Jaeger
c0972b00b0 Fix propose-project-config-update
After the recent change, the job now fails since ruamel.yaml is not
installed. Change the job to use tox to install dependency.

This creates a new tox environment that is then called from the proposal
script.

Failure log:
http://logs.openstack.org/periodic/git.openstack.org/openstack-infra/project-config/master/propose-project-config-update/bf68ac6/

Change-Id: I02ce33f10d388531806380f464dacc5617c74f1f
2019-04-11 14:09:58 +02:00
Monty Taylor
1ffcd0242e Add some helpers to projectconfig_ruamellib
So that it's easier to use in our scripts, add some helper sugar.

First, add functions load and dump so that the library can be used
similarly to yaml without the need to construct an object first.

Then, remove the strip parameter and detect whether we're dumping
a list or not. That way people won't forget to pass or not pass
strip.

Change-Id: I204af8a89c37f36f0480de3a2e669b65354eb73c
2019-04-10 13:33:52 +00:00
Andreas Jaeger
e7f77f283f Some python yaml fixes
libyaml now needs to Loader keyword to not throw a warning, use
safe_load instead everywhere.

sort_keys isn't supported for reasons surpassing understanding, so
switch to ruamel.yaml for the places where we write contents back
out.

Our ruamel.yaml wrapper strips extra leading space, which is needed
when the root object is a list. When the root object is NOT a list,
it's not needed. Add a flag to the constructor to toggle the
behavior.

For gerrit/projects.yaml this leads to a different wrapping of
description fields, which is included here.

Let ruamel.yaml handle comments

Since we've switched to ruamel.yaml, we don't need to strip
comments. Stop stripping them. Intra-list comments aren't
supported, so just remove them.

Please don't ask me why we can't have a space before openstack-merlin.

Change-Id: I72776774eabd4e397ee5e8bdd58b3632be8fd3a1
2019-04-10 13:33:51 +00:00
James E. Blair
d8bbee54aa Update zuul ansible location
With multi-ansible support, the location of the zuul plugins/modules
has moved.

Also, handle the sort_keys argument which is new in pyyaml 5.1.
Set it to False to achieve the old behavior.

Also use python3 by default for tox tests on this repo (note,
one env still explicitly requests 2.7).

Change-Id: I8e2cf1f2276bca5a912fed52062628b3b9d0d6d9
2019-03-18 12:02:25 -07:00
Sean McGinnis
f0680c7127
Remove x-vrif-minus-2 from gerritbot notifications
This event is currently a noop and a new event name is in the works to
replace its intended functionality. This removes all references to the
non-functional notification. Teams can add the new replacement
notification once it's available if they want to have these.

Change-Id: Iad5fd75bc10924b483a14a449853b6b8e7c4c465
Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
2018-10-11 16:27:12 -05:00
Andreas Jaeger
7caeb60623 Check for empty project entries
Check that no entries are added to zuul/projects.yaml that only contain
the project name but do not configure any jobs. These are redundant,
let's remove them.

Change-Id: I048c9011038a38fee4694defc012762079065ce5
2018-08-04 16:31:26 +02:00
Andreas Jaeger
713ad6adfd Test for system-required
system-required template is now obsolete, check that nobody sneaks it in
again.

Change-Id: Ifa96cba6ac2d16a6a8b5f7637d706fbf824f7fb8
2018-06-28 08:39:43 +02:00
Monty Taylor
29d1de3b7d Use wildcard to apply system-required template
We require all projects to have the system-required template ... unless
we aren't gating them which is the case for ansible/ansible and
kata-containers/proxy. That's a bunch of boilerplate though, and zuul
now supports wildcard project configuration.

Make a wildcard config that applies to every project starting with
openstack that contains system-required. Remove the projects that didn't
have anything but that.

Change-Id: Ic1099625ae0500657e01e7cf48bce1273f7e0e24
2018-06-27 21:33:39 +02:00
Clark Boylan
31729a6de7 Add kata-run job to kata-containers/proxy
This is likely to not work yet, but since we aren't gating on
kata-containers/proxy we won't import job config from that repo which
would make these changes self testing. In order to get the ball moving
we need to start somewhere so start here.

This adds a vexxhost specific bionic image which we will start with
until the nodepool azure driver is tested and deployed. We should be
able to make progress on adding jobs and getting the driver going in
parallel this way.

Change-Id: Ia56c2cb3046e31e50014c8bf24342cceacb7db8a
2018-06-07 12:29:36 -07:00
Ian Wienand
ee2efa10e1 Use tox for grafyaml validation
Currently this calls out to grafyaml-validate.sh which tries to
install zuul-cloner and then pull grafyaml from that.

Since zuulv3 doesn't *have* zuul-cloner, this means the job is broken
for local testing.  It works in the gate only because zuul-cloner
compatability shims are installed.

To maintain the testing-against-master behaviour, the dependent change
provides the grafyaml source in the environment; otherwise we go to
git directly.

Depends-On: https://review.openstack.org/572251
Change-Id: I3d5cd062414b77aaa70d2669730fda870ca0168e
2018-06-05 13:58:16 +10:00
Zuul
ecc74d2dcb Merge "Add a zuul test to run on github3.py changes" 2018-06-04 05:03:13 +00:00
Jesse Keating
32761754cd Add a zuul test to run on github3.py changes
Change-Id: I661f9a95f1691c900d536554a6c3caed4e395b9c
2018-06-01 18:37:43 +00:00
Zuul
07229016fc Merge "include cache-devstack only if not gentoo" 2018-05-14 17:21:24 +00:00
Zuul
dc3a6b80d1 Merge "Add batch project update script" 2018-04-23 23:39:07 +00:00
Matthew Thode
859aa3b876
include cache-devstack only if not gentoo
Change-Id: I797ed59acaa345ad688e0299632a539a72e70cf6
2018-04-15 18:21:08 -05:00
Zuul
afbdabc03a Merge "Create 'Review-Priority' for designate repos" 2018-04-11 04:32:58 +00:00
Zuul
8bc5d045ec Merge "tools/build_image.sh : add some arm64 notes" 2018-04-10 18:52:37 +00:00
Ian Wienand
b77b2eb68e tools/build_image.sh : add some arm64 notes
This adds some help for building arm64 based images

Depends-On: https://review.openstack.org/539731/
Change-Id: Ife1de369264c1bcb2473894fae1e74734f0e88c3
2018-03-29 17:06:37 +11:00
Graham Hayes
fdb962758c Create 'Review-Priority' for designate repos
This allows anyone in the group "designate-release-manager"
to set the priority of patches, and block non freeze patches
during RC.

This allows for more precise dashboard than relying
on stars from PTLs, and allows the team to distingush
between a procedural -2 and a release freeze -2.

Change-Id: Id7b4c6b219899fa7ed86554257264af7efe20408
2018-03-28 18:37:08 +01:00
Andreas Jaeger
c0b40b37e0 Silence bashate
The remaining bashate warnings was E042:
 The return value of "local" is always 0; errors in subshells
 used for declaration are thus hidden and will not trigger "set
 -e".

Fix the few cases this triggered so that we don't get confused anymore
about the message.

Remove -v from bashate invocation, we don't need to print out all the
filenames anymore.

Change-Id: I47991a7040c8b9183bc72cce8e5d95b2cec7e6c5
2018-03-26 09:13:55 +02:00
James E. Blair
4133ea6964 Add batch project update script
This is not pretty, but it's the basis for what I've used to perform
the last two mass project updates.

Change-Id: Ia40f41e106066c319292c5fd229adc97f5e0014b
2018-03-26 08:57:16 +02:00
James E. Blair
6da7b5e6ad Alias zuul git repos to git.zuul-ci.org
This adds support for the cgit-alias directive added in
https://review.openstack.org/555105.  It's safe to land this change
before or after the implementation.

It also aliases the zuul project repos to git.zuul-ci.org.

Change-Id: I05a7156e092faad1457973b88537ec73012a5c96
2018-03-23 13:39:00 -07:00
Zuul
33839c1e06 Merge "gerrit tests should return to checked out branch" 2018-03-17 16:14:59 +00:00
Andreas Jaeger
736ccdd592 Remove tools/zuul.conf-sample
This is not used anymore, remove it.

It was part of the Zuul v2 testing.

Change-Id: I59f57ca9f7ee681145060a9010186b54c4806dea
2018-02-23 11:28:56 +01:00
Andreas Jaeger
189fcf55cb Fix typo in tools/check_valid_gerrit_projects.py
Check for both zuul.yaml and .zuul.yaml.

Change-Id: I947e1a9602695efc17cabedb6209fe54129f0219
2018-02-22 14:56:30 +01:00
Andreas Jaeger
5c074b977b Avoid import of zuul files
Check that new upstream projects do not have any zuul files in there and
fail if so.

We add this check to not import a zuul config file that is broken. We
only accept zuul config files that have been gone through review.

Change-Id: Ie33d91637e812a17f3b2a2b2c75cbbadcde176ad
2018-02-21 21:16:24 +01:00
Graham Hayes
3539921573
gerrit tests should return to checked out branch
when running "tox -e gerrit" on a local checkout
after the tests have finshed the repo is checked out
to the HEAD commit, not the branch that was checked
out before the run.

This ensures the branch is checked out at the end
of the test.

Change-Id: I58dae937000d05c3a9b09dc4aed5362a5c56d133
2018-02-16 14:12:25 +00:00
Zuul
ba4e169e53 Merge "Stop spamming ansible/ansible" 2018-01-25 20:20:03 +00:00