Commit Graph

42 Commits

Author SHA1 Message Date
Paul Belanger
f2884bb303
Add support for bindep
Change-Id: I402c3f01ac73a7c1bbcd15c4bc2e4ab03a87b9d1
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
2016-06-03 10:10:34 -04:00
Jenkins
eedeb8d0d0 Merge "Revert "Add script to facilitate project renaming in project-config repo"" 2016-04-20 08:38:46 +00:00
Andreas Jaeger
6ef07db860 Add checks for gerrit ACLs
Check the following common problems with gerrit ACL lines:
* Wrong path
* Non-existence of a referenced file
* Redundant setting of acl-config with default value

Remove redundant entries that the script found.
Add acl-config for freezer-specs since no ACL existed.
Add acl-config for vinz-webclient since no ACL existed,
this was in original change I1706332f911ad9c8887d1e40613b06cbeb5e1143.

Change-Id: I6b9fc6d2ff1cd5a1f871975608947d6fe763b500
2016-04-11 16:52:26 +02:00
Andreas Jaeger
d91225a30a Revert "Add script to facilitate project renaming in project-config repo"
The mass rename is done, we do not need these anymore in our repository, remove it again.

This reverts commit 246bbfe03b.

Change-Id: I5caeabdde4988a987d3fd828605bf5cb73b1aefa
2016-03-28 21:56:24 +02:00
James E. Blair
5308c933ca Revert "Pass ZUUL_* env vars through tox"
This reverts commit b70bbeb5c7.

This is no longer needed with the dependent commit merged.

Change-Id: I22fad4995cb379009a1fac9be25dd580e1aacee5
Depends-On: Iacba1611e5c50fbccd6ae700b3456028b142fc5c
2016-01-07 17:33:56 -08:00
James E. Blair
9ed42604d0 Validate grafyaml based on master
Rather than installing grafyaml from pypi, install it with
zuul-cloner so that it may be validated with the contents of
master (or even changes in review).  We run grafyaml continuously
deployed from source rather than installing from pypi, so this
more closely matches what we actually want to validate.

Change-Id: I26663e5c70883b910fced6c32ae364734542b5a5
2016-01-07 17:23:27 -08:00
James E. Blair
b70bbeb5c7 Pass ZUUL_* env vars through tox
So that zuul-cloner inside of a tox env works

Change-Id: I5d7428be62fccf0d28d5d39dafdc58193e7f9ad6
2016-01-07 17:23:27 -08:00
Andreas Jaeger
abac964a99 Remove pep8/bashate targets
These targets are now part of the linters environment, so can be
removed.

Change-Id: I451e2c0a745439838c58bb024d81196f347cfd7b
2015-12-23 10:07:22 +01:00
Andreas Jaeger
3a92c37ea8 Replace bashate/pep8 in project-config by linters
Use a single linting target for changes and run that instead of the
individual bashate and pep8 targets.

Fix name of pep8 job for project-config-example.

Create new gate-{name}-linters job-template for this.

The pep8 job was run also on project-config-examples, create a new job
for that repo. It now runs without the filters since with the amount
of changes to the repo, we do not need to optimize anything right now.

Change-Id: I2afa7931bf3e18798b95a8af33ccf5ef761c4ad5
2015-12-22 18:43:35 +00:00
Paul Belanger
8ccd1d987e Start validating JJB job-templates
Initial commit to validate some JJB files. This validates
for existence of required sections and where possible that no additional
ones are available.

It will catch some errors that the JJB parser misses, since JJB ignores
unknown entries.

Change-Id: I51606d7066af7d5761f09655eead48883f7f56dc
Co-Authored-By: Andreas Jaeger <aj@suse.com>
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
2015-12-16 08:46:46 +01:00
Tony Breeds
a4e18ddfaa Add temporary pin on jaraco.itertools
jaraco.itertools was released in the last 24hours.

---
 jaraco.itertools-1.6.tar.gz                            : 2015-11-18T17:41:38
 jaraco.itertools-1.6.1.tar.gz                          : 2015-11-18T17:52:02
---

it breaks check_irc_access with:

---
$ tools/check_irc_access.py -l accessbot/channels.yaml openstackinfra
Traceback (most recent call last):
  File "tools/check_irc_access.py", line 19, in <module>
    import irc.client
  File "<snip>/irc/client.py", line 67, in <module>
    from jaraco.itertools import always_iterable
---

Add a quick pin to unblock that gate check.

Change-Id: Ie37268d7003392e8865f6850e6345be0b6b4d5c7
2015-11-19 08:19:16 +11:00
Paul Belanger
d41def4851 Move bashate to its own gate
This is a trivial change to keep things inline with system-config.
Additionally, this will allow a follow up patch to update pep8 to only
run when .py files changes.

Change-Id: I7981c118b2483147a145617a14a583fe80a20df7
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
2015-11-11 10:54:12 -05:00
Ramy Asselin
14cef9c397 Move nodepool.yaml from system-config to project-config
Nodepool.yaml.erb in system-config no longer contains any secrets.
Let's move it to the project-config repo.

Add the nodepool validation jobs and tox environment, initially
as non-voting until it is boot strapped.

The version of nodepool.yaml proposed matches the version in system-config
depends-on patch. A follow-up patch will be submitted with any deltas needed
when the needed-by patch is ready to merge. Until that happens, this nodepool.yaml
file won't be used and is safe to merge.

Make both gate-project-config-nodepool and gate-system-config-nodepool
non-voting to aid in bootstrapping this change.

The nodepool logging template file and associated tool that generates the file
will remain in system-config. In the short term, updates to nodepool.yaml in
this repo may require a related change in system-config to update the logging
configuration. In the longer term, nodepool will be updated to automatically
log image creations without needing a customized logging configuration.

Needed-By: I2b45a7145805368b1598d3a3e8a94f0e4eb8cf2d
Depends-On: Ib045c104daac15360e62f46e3e5683c7a387bc96
Depends-On: I89207d100eb4b6bbb502a6ed38831f49e4b29096
Change-Id: I473a1b78acdb035eb379394a7ed5f771434dc942
2015-10-29 10:56:39 +01:00
Jenkins
1b9a935b64 Merge "Check for valid upstream git projects" 2015-10-22 09:08:04 +00:00
Jenkins
64fa5348d8 Merge "Remove dib-lint flake8 requirement" 2015-10-22 08:46:59 +00:00
Andreas Jaeger
106f6b80e2 Check for valid upstream git projects
This checks out the upstream git projects (unless we use track-upstream)
and prints some information about it.

Note this checks for all upstream repositories but since those are
cleaned up regularly, this should be fine.

It fails if the there is no remote master branch.

Reindent the original code as main function.

Change-Id: Ie469905f48e4bc1a408fb9e731f95b2b735a6a02
2015-10-21 20:34:45 +02:00
Ian Wienand
c26b8cb86c Remove dib-lint flake8 requirement
With the dependent change, this should be requested by
diskimage-builder itself.

Change-Id: Id45c0dfcae86672e4a0c6cdc7c057d9aa6d291b1
Depends-On: I3052f860cebc66844cd21f34be64aea8474d2248
2015-10-21 06:14:00 +11:00
Clint Adams
246bbfe03b Add script to facilitate project renaming in project-config repo
This takes a list of projects from stdin in the format of
aeromancer
anvil
blazar

and renames stackforge/aeromancer, stackforge/anvil, and stackforge/blazar
to openstack/aeromancer, openstack/anvil, and openstack/blazar respectively
in gerrit/projects.yaml, gerritbot/channels.yaml, zuul/layout.html,
and every file in jenkins/jobs/ , as well as renaming acl files.

A side effect of this process is that comments will be stripped from
gerritbot/channels.yaml ; if you are committing the results of a run of
this script, please re-add the comments manually unless we come up with
a more elegant solution.

This script also has test coverage for verification and documentation.

Also included is a WIP list of renames in data/stackforge-renames, as
per
http://eavesdrop.openstack.org/irclogs/%23openstack-infra/%23openstack-infra.2015-10-13.log.html#t2015-10-13T20:10:17
and a WIP list of retirements in data/stackforge-retirements, which
is not used by the script in this change.

Co-Authored-By: Augustina Ragwitz <aragwitz+lp@pobox.com>
Change-Id: Iaf2a13d8b9b9a840d9fde07ec1ef65d1c9e90e8e
2015-10-17 15:50:14 +00:00
Paul Belanger
25932eca7c Add grafana dashboard for status.o.o/zuul
This is our first grafyaml dashboard which reproduces the current
graphs on status.o.o/zuul rendered by graphite. While we aren't
actually running grafyaml upstream yet, we can get started on building
our dashboards.

We also added a tox job to properly gate on the configuration.

Change-Id: Ia738bcb510e146ab38566f0c13ff483ec618a6ed
Depends-On: I16b9affd4402fe5d1637238a2e27f22fdd3986ff
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
2015-10-05 16:09:32 -04:00
Ian Wienand
d243e02553 Add diskimage-builder lint job
Add a "dib" tox environment to run "dib-lint", the linting tool
diskimage-builder runs over its included elements.

Add this as a non-voting job for now; there are issues in dib-lint and
our elements to sort out
(e.g. Ibba1dadb9e819f94294c9d583b83ff698252f93f, as a start).

Change-Id: I28459a9bbaaa6175d03dbe753498849a75942538
2015-10-01 19:17:19 +10:00
Clint Adams
952bc590ba Test formatting of gerritbot/channels.yaml
Ensure that the output of tools/normalize_channels_yaml.py matches
gerritbot/channels.yaml modulo any comments.

Change-Id: I3147cb094a795aeeffcceda182d065ed5145c2dd
Depends-On: Ia710997f37e8fba4a18b26577ecac42dd3137e2a
2015-09-29 09:56:18 -04:00
Andreas Jaeger
c28da01f91 project-config: Merge lint jobs (2/2)
Since both pep8 and bashate are voting, we can merge the two lint
targets into the "common" pep8 lint target. There's no need for a
separate bashate run.

This change is the second part for this.
Since the jobs are changed, we can now remove the obsolete bashate
tox.ini target.

Change-Id: I572ba3fe8b3a9a05f5239a858d2f701bfd8f684d
2015-04-23 20:15:28 +02:00
Jeremy Stanley
4d17d13edd Add an index.html for docs.o.o/infra
This is a partial cargo-culting of the index job and associated
files from the specs.o.o site, to generate a simple top-level index
page for the http://docs.openstack.org/infra/ tree.

Change-Id: Idb5a8dba58a53c7c8ea1de69e9a4d9b5ef410c78
2015-04-23 16:11:24 +00:00
Victor Stinner
ceee9c0f1a Fix Python 3 issues
* Fix print syntax in check_valid_gerrit_projects.py
* tox.ini: jenkins-project env works also on Python 3, no need to force
  Python 2.7

Change-Id: I3c643470c6b5db666aeab208c615382719f8768d
2015-04-10 01:29:25 +02:00
Andreas Jaeger
71f3989ce4 project-config: Merge lint jobs (1/2)
This is the first part of merging pep and bashate jobs: Remove
bashate job from project-config queues.

Since both pep8 and bashate are voting, we can merge the two lint
targets into the "common" pep8 lint target. There's no need for a
separate bashate run.

The second part will remove the bashate job from tox.ini. This cannot
be done as part of this change since it would break gating.

Change-Id: I9522b2b7478590bf41dc1dab763de01d38b70404
2015-03-15 19:22:25 +01:00
Andreas Jaeger
f8788e2e27 Ensure that gerritbot channels are in accessbot
Add new test that checks that channels mentioned in gerritbot are also
in accessbot.

Enhance the irc tox target so that it runs the checks, and update Zuul
so that the job is run for changes to gerritbot.

Add channels openstack-mistral and puppet-openstack to accessbot,
openstackinfra now has access to the channels. These two channels are
already in gerritbot.

Make check_irc_access.py script executable.

Change-Id: Ic68ba9a1c60854e68817fcadb1a5df2144944af7
2015-03-06 12:51:24 +01:00
Jenkins
d811f94974 Merge "Generate specs.o.o root page from template" 2015-01-20 19:12:35 +00:00
Doug Hellmann
b332c2a776 Generate specs.o.o root page from template
Use a YAML file listing the projects to generate the specs.openstack.org
root page and an OPML file for all of the available RSS feeds.

These changes are based on the work of Maish Saidel-Keesing
<maishsk@gmail.com> in https://review.openstack.org/#/c/140041/

Change-Id: I828d65f10fb7608b59e3561cedc9553d4d96ee75
2014-12-18 16:06:11 -05:00
armando-migliaccio
e6573ea752 Add test for validating certain gerrit ACL rules
This patch adds a check for Gerrit ACL configs. In this initial
version, the test being added checks that the config defines
at least one team that acts as a core/admin one.

The current check is intentially pretty loose to ensure some
flexibility.

Currently the check applies to stackforge and openstack-dev only.

Change-Id: I2b04f2d94130699d6fd1c16a9b00b9c81d1ba07d
2014-12-15 23:03:03 -08:00
Jenkins
c269a67f35 Merge "Check for valid entries in gerrit/projects.yaml" 2014-12-04 19:45:25 +00:00
Doug Hellmann
4c6e428257 Fix layout-checks.py to work in virtualenv
Fix the python interpreter used by layout-checks.py so that the "tox -e
zuul" target works correctly on a local system.

Add the PyYAML dependency needed by layout-checks.py to the tox
configuration for the zuul target.

Add the zuul target to the default list for tox.

Change-Id: Ic4db9fc3bb236d36365abfe966eb9e7769896011
2014-12-03 15:05:21 -05:00
Andreas Jaeger
6ee2f2234f Check for valid entries in gerrit/projects.yaml
Rename check_upstream_url_scheme.py to check_valid_gerrit_projects.py
and extend the check so that:
* It shows all errors, not only the first one
* It checks that the keywords are valid

This was triggered by seen twice in a week the keyword "description"
misspelled.

Script now outputs in error case:
Error: Upstream URLs should use a scheme in ['https://', 'http://', 'git://'],
 found git@://github.com/emonty/cookiecutter-openstack.git in
 openstack-dev/cookiecutter
Error: Unknown keyword 'decription' in project stackforge/ec2-driver
Found 2 error(s) in /tmp/projects.yaml

Also add the usual license header.

Change-Id: I334dcadc6fd4472fb28d379aec317c1a16dee2e2
2014-12-03 15:40:40 +01:00
Doug Hellmann
3c2ca5a922 Add jenkins-project to the default env list
Add jenkins-project to the list of envs used when "tox" is run locally
without arguments. This should make it easier for someone working on a
change to test locally before submitting the patch.

Change-Id: I5f2732daa2509ff378429959bd15d0f2f7f98692
2014-10-20 19:32:53 +00:00
Andreas Jaeger
9836ea5357 Add check for ordering of jenkins/jobs/projects.yaml
Example output of test:
$ tools/jenkins-projects-checks.py
Checking section 'OpenStack server projects'
Checking section 'OpenStack client projects'
Checking section 'oslo libraries'
Checking section 'Other OpenStack projects'
  Wrong alphabetical order: tempest, qa-specs
Checking section 'OpenStack API projects'
Checking section 'OpenStack documentation projects'
Checking section 'OpenStack development projects'
Checking section 'OpenStack infrastructure projects'
Checking section 'Stackforge projects'
Found errors in jenkins/jobs/projects.yaml!

This patch fixes the order so that it passes.
It also creates a new job to test this.

Change-Id: I36fd522261363494f07b57e40f0d9b943cf08841
2014-10-06 22:17:26 +02:00
Jenkins
383ce82680 Merge "Whitelist commands in tox.ini" 2014-10-01 18:38:30 +00:00
Jenkins
fb22ef61c7 Merge "Clean up bashate failures" 2014-10-01 17:12:55 +00:00
K Jonathan Harker
2f03cf35e5 Clean up bashate failures
Also create tools/run-bashate.sh to wrap a find command to search for
files to run bashate on, and use it in tox.

Change-Id: I5ab07425f566a556f158a4b76b00aa35f9fb4385
2014-09-30 12:39:48 -07:00
Andreas Jaeger
c6b1ffd04f Add more checks for zuul/layout.yaml
Check that each project (with exception of z/tempest) has a merge-check
template.
Check projects - so far stackforge only - for alphabetical order.

The merge template check is taken from a test that Jeremy shared.

Change-Id: I2bc457ddfe0eca787bb88ceeb919f89d491978d7
Co-Authored-By: Jeremy Stanley <fungi@yuggoth.org>
2014-09-30 18:46:56 +00:00
Andreas Jaeger
f4a284d3e8 Use tox -e zuul for layout test
Adjust tox environment, the check_projects_yaml_alphabetized.sh script
only works with gerrit/projects.yaml but not with layout.yaml, so remove
the call.

Change the job to use tox -e zuul.

Change-Id: I70d918ec1de94c6ec9aa0c2c6647aa8c791df303
2014-09-30 20:32:44 +02:00
Andreas Jaeger
e382bae170 Whitelist commands in tox.ini
Fix these warnings when invoking "tox -e jjb":
WARNING:test command found but not installed in testenv
  cmd: /usr/bin/rm
  env:
/home/aj/Software/vcs/OpenStack/openstack-infra/project-config/.tox/jjb
Maybe forgot to specify a dependency?
jjb runtests: commands[1] | mkdir -p
/home/aj/Software/vcs/OpenStack/openstack-infra/project-config/.tox/jjb/tmp
WARNING:test command found but not installed in testenv
  cmd: /usr/bin/mkdir
  env:
/home/aj/Software/vcs/OpenStack/openstack-infra/project-config/.tox/jjb
Maybe forgot to specify a dependency?

Change-Id: If1b56882d3b608450d2ab5fbf0af5cbe920471e8
2014-09-29 20:00:46 +02:00
Doug Hellmann
ac5bd4fd63 Fix up tests after repo reorganization
Fix the default tox configuration so it works properly if a developer
just runs "tox" on their local system by removing environments from the
default list that do not exist. Add the jjb environment to the list.

Add the missing argument to check_projects_yaml_alphabetized.sh and
remove the unused arguments from run-layout.sh.

Exclude the .test directory created by the zuul test environment from
the files checked by flake8.

Change-Id: I72cb9aa3908d16f9e5b6d6445b07819563ce9104
2014-09-29 10:44:17 -04:00
James E. Blair
312e958fb1 Fix test jobs
Make the necessary changes for the jobs ported over from infra/config
to work in this repo.

Also, make the irc access job voting.

Add a .gitignore file.

Change-Id: If3b6c214881205a25e8148c23c3411338b66ef90
2014-09-25 16:40:07 +00:00