Commit Graph

48 Commits

Author SHA1 Message Date
James E. Blair
09b1ff4bc3 Add system-config-run-eavesdrop
Add a job which runs testinfra for the eavesdrop server.  When we
have a per-hostgroup playbook, we will add it to this job too.

The puppet group is removed from the run-base job because the
groups.yaml file is now used to construct groups (as it does
in production) and will construct the group correctly.

The testinfra iptables module may throw an error if it's run
multiple times simultaneously on the same host.  To avoid this,
stop using parallel execution.

Change-Id: I1a7bab5c14b0da22393ab568000d0921c28675aa
2018-08-30 10:25:23 -07:00
Paul Belanger
20286235b6 Generate junit.xml file for testinfra
And collect it on post, it is helpful to see the results.

Change-Id: I0dbecf57bf9182168eb6f99cdf88329fcdeb1bdc
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
2018-08-29 12:00:43 -04:00
Zuul
fcfacc7e52 Merge "Add system-config-run-base job" 2018-08-24 19:57:27 +00:00
James E. Blair
19aebca3e7 Add system-config-run-base job
This adds a job which creates a bridge-like node and bootstraps it,
and then runs the base playbook against all of the node types we
use in our control plane.  It uses testinfra to validate the results.

Change-Id: Ibdbaf511bbdaee46e1335f2c83b95ba1553a1d94
Depends-On: https://review.openstack.org/595905
2018-08-24 08:50:01 -07:00
Ian Wienand
1939f3e8ec Move exim role to top-level
Move the exim role to be a "generic" role in the top-level roles/
directory, making it available for use as a Zuul role.

Update the linters jobs to look for roles in the top level

Update the Role documentation to explain what the split in roles is
about.

Change-Id: I6b49d2a4b120141b3c99f5f1e28c410da12d9dc3
2018-08-23 21:34:47 +10:00
Ian Wienand
4402201d56 roles: Add README.rst and lint
These role docs aren't exactly War and Peace, but I think longer term
as we fiddle about making things generic or not and moving them
around, we'll be better off having kept ourselves to writing
*something*.

Add terse README.rst files for all existing roles, and add simple
linter check to ensure new roles get them too.

Change-Id: Ibc836310fb8a45e12c2e31f112d92509ac350413
2018-08-23 21:34:42 +10:00
Zuul
181aa06d8e Merge "Move tox basepython to top-level" 2018-08-22 01:26:16 +00:00
Ian Wienand
c3c5cb97af Update to latest docs PTI
We now put the documentation-only requirements in doc/requirements.txt
and call build-sphinx directly [1]; see

[1] https://governance.openstack.org/tc/reference/project-testing-interface.html#documentation

Change-Id: I4ade203f1746409275d213f409603199ecb93878
2018-08-22 07:51:46 +10:00
Ian Wienand
93b8f98fac Move tox basepython to top-level
Currently we're building docs with python 2.  It works fine with
python3, so move the basepython override up to the top level so we're
all-python3-all-the-time.

Change-Id: I2c49a0b8bcda72385a9594f40a6b9db10403d688
2018-08-22 07:50:40 +10:00
Ian Wienand
19ed6637b6 Add a clouds.yaml checker
Load our various cloud configuration files into openstacksdk for a
basic sanity check of the configuration.

Change-Id: Ieedb3439533f3162d2b5cecca4b7fc07b631019e
2018-06-22 11:47:39 +10:00
Mohammed Naser
a99f033a08 Switch ansible-lint to using multiple -x options
ansible-lint 3.4.22 seems to have introduced a change in behaviour
in how it parses the excludes (-x) back in March[1]. However, it
seems that the new release never got pushed to PyPi until now.

This has resulted in the linting jobs failing, so switching the
format to be the new one instead of pinning to an older release.

[1]: https://github.com/willthames/ansible-lint/commit/96d0a0bc

Change-Id: I446e734364298e90a64063e811343aa11430765f
2018-06-17 10:17:04 -04:00
Paul Belanger
a08424387e Run ansible-lint on playbooks
This fixes the issues we have with our rename_repos.yaml file. We are
also skipping additional failures for now, which will be cleaned up in
a follow up patch.

Change-Id: I726535e195a292e3f2d457f0ed039d01bb96c66b
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
2017-01-12 15:32:46 -05:00
Andreas Jaeger
4139c901d8 Check number of meetbot channels
Check that we do not have more than 120 channels setup for meetbot.

Change-Id: Ib5b948c68691ec959d4826a2cdf28f3e50631e60
2016-11-02 20:45:06 +01:00
Andreas Jaeger
6af9364e68 Remove pep8/bashate targets
These targets are now part of the linters environment, so can be
removed.

Change-Id: I2bfdac672b3d1d375e098e9b38371935a6f208fe
2015-12-28 19:43:23 +01:00
Andreas Jaeger
98146b48f8 Test for sorted modules as part of linting
Merge the currently not used modulesenv target into the linters
target so that we test that modules are sorted properly which is
some kind of lint. There's no need to run an extra VM just
for checking the sorting, so include it here.

Change-Id: I547c77de92a00a42ac0841b087350144e760562f
2015-12-23 20:14:57 +01:00
Andreas Jaeger
091ff2816c Create linters test target
Merge bashate and pep8 into a single linters test environment.

Change-Id: I13c68da7cb69fe240179a2074512decbf2a35560
2015-12-22 10:15:21 +01:00
Andreas Jaeger
1f7bb54dd9 Fix pep8 failures
Exclude .eggs directory from testing.
The run-pep8 script now calls "python setup.py sdist" and that
one creates an .eggs directory that should not be tested.

Change-Id: I854be157ed04d5bc9d8c568a37c00298cb4a71bf
2015-12-07 10:52:35 +01:00
Ramy Asselin
14fd503aaa Migrate to puppet-openstackci openstackci::nodepool
Manage nodepool configurations using the common-ci solution
in puppet-openstackci

Remove nodepool.yaml.erb from this repo as openstackci::nodepool
will pull it in from project-config/nodepool/nodepool.yaml

Remove the tox nodepool environment and test dependency as it
has been migrated to project-config

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

Depends-on: I89207d100eb4b6bbb502a6ed38831f49e4b29096
Depends-on: I473a1b78acdb035eb379394a7ed5f771434dc942
Depends-on: I6b01ab7260a41927fff34b9b81b631ea2c933f22
Change-Id: I2b45a7145805368b1598d3a3e8a94f0e4eb8cf2d
2015-11-10 15:13:50 -08:00
Spencer Krum
1f0704e462 Alpha-sort modules.env
Also adds a test to ensure that they stay that way.

Change-Id: Ib34a81885f1eda28e85d04b727e8b810b274cb44
2015-07-02 12:25:24 -07:00
Ian Wienand
6892b11603 Add nodepool config-validation environment
Add validation test for the nodepool configuration.  We get nodepool
directly from git so we can always handle the latest syntax changes
automatically.

Change-Id: I5d58648bca160d8afc81aae3d8daf0c7bd01c976
Depends-On: I250ea4959740cfc4650e9057caba09ae7bc25768
2015-03-19 00:55:40 +00:00
Jenkins
5dba0f5637 Merge "Clean up bashate failures" 2014-10-20 18:35:44 +00:00
K Jonathan Harker
948aff1f02 Clean up bashate failures
Fix all of the bashate failures.  Also, bashate will install its negative
tests in its virtualenv, so we need to generate a list of files to pass to
bashate that excludes .tox/

Change-Id: I55559bf6137f705aec9a7f277928ad8d4cadc2ca
2014-09-30 12:40:59 -07:00
Steve Martinelli
5b20a385f6 Remove undefined upstream environment from tox.ini
Commit number 3fa3be7ede initially
added the upstream testenv, but it was merged to the 'projects'
testenv a long time ago. Which is now obsolete, because of the
split to project-config.

Change-Id: I2d011af7df2ad9d14d2db67fa78c4dc6e4e4cbb6
2014-09-30 15:20:19 -04:00
Steve Martinelli
b32ab2d00a Remove irc testenv from tox.ini
Change-Id: I1b998ba9cfeb8744b9801c4968afae872ebcfeb3
testenv:irc is obsolete since the project-config split
2014-09-30 15:18:38 -04:00
Steve Martinelli
022cfb6142 Remove jjb from tox.ini
Since the split to project-config, there is no longer a need to
test this environment in tox.

Change-Id: I9a3866126506a9784a38f2c859bac6b5774660b7
2014-09-30 15:17:25 -04:00
Steve Martinelli
8cf6e680f4 Remove projects_alphabetized from tox.ini
Since the split to project-config, there is no longer a need to
run 'tox' for projects_alphabetized, since those resources no
longer exist. Also removing the shell scripts that were running
the tests.

Change-Id: Ib7a762d872da9c5d945206807c405e7452b49638
2014-09-30 15:15:10 -04:00
Jenkins
1fc20ab858 Merge "Remove old projects yaml jobs" 2014-09-16 14:53:37 +00:00
Jenkins
e72454fbaa Merge "Doc cleanup" 2014-09-03 22:04:05 +00:00
K Jonathan Harker
8ff2dbe1c3 Start running bashate on config (nonvoting)
Add bashate to test-requirements.txt, add a tox env for bashate,  and start
running it on config. Also convert devstack to run bashate via tox rather than
via run_tests.sh (the needed tox.ini changes to devstack have already merged).

Change-Id: I205d675ff231c0403dd135eacc8d57b45317859f
2014-09-02 15:50:33 -07:00
Doug Hellmann
fd7789403e Doc cleanup
Turn on warnerrors and fix the errors it reports.

Change-Id: I92a194e47b97dbdeb0e72164a813f41914f4f298
2014-08-27 15:30:56 -04:00
James E. Blair
496727731e Remove old projects yaml jobs
We have switched to using the combined job now.

Change-Id: I37a8ec508a95687d7201d63b2e39c827ceb99632
2014-08-25 10:46:45 -07:00
James E. Blair
9dc9c3b642 Add job to test all aspects of projects yaml
Define the env and job, switch to it in a subsequent change.

Change-Id: Id7b037aabb85e571f0ac54e88e67d4183a791ee8
2014-08-16 17:55:51 -07:00
Jenkins
5a2fd98c8e Merge "Use except x as y instead of except x, y" 2014-05-30 22:44:01 +00:00
Christian Berendt
ddefc4d3fa Use except x as y instead of except x, y
According to https://docs.python.org/3/howto/pyporting.html the
syntax changed in Python 3.x. The new syntax is usable with
Python >= 2.6 and should be preferred to be compatible with Python3.

Enabled hacking check H231.

Change-Id: I4c20a04bc7732efc2d4bbcbc3d285107b244e5fa
2014-05-29 23:55:41 +02:00
Doug Hellmann
08de5694b6 Make it possible to run zuul layout test locally
Add a tox environment to run the zuul layout tests locally.

Modify run-layout.sh to ignore a missing mirror selection script
and assume that it is running with a valid mirror configuration.
This allows the script to be run locally without breaking a
dev environment.

Change-Id: I5b0c94ae51e7f41b8b26b3ef4f78b830031d263e
2014-05-28 12:52:43 -07:00
Doug Hellmann
3fa3be7ede Add check job for upstream URLs on imported repos
Add a check job to require upstream URLs to use a scheme
that we are confident won't cause connection errors during
the import.

Add a tox configuration for this new job, as well as the
existing alphabetical check script, to make it easier
for developers to run those tests locally just by running
"tox".

Change-Id: I894ac0f8afb234404bb6e80e64b90aa25e052f10
2014-05-06 12:03:16 -07:00
Doug Hellmann
997f239a9d Add tox env for testing jenkins-job-builder
This does not perform all of the same tests as the check job for this
repo, but it does make it easy to run basic jenkins-job-builder tests.

Change-Id: I1a52deb2258801fa1863e7c57108de2ecaac324f
2014-03-31 06:58:32 -07:00
James E. Blair
9dad326acc Add a script to manage IRC perms
Run it whenever there is a change to the YAML channel config.

The script will ensure everyone listed in global has those perms
and anyone else found with access on a channel will be left as-is
except that their access will be limited to the relevant mask.

Move it and the previous change to add a permission checking
script into a new module, 'accessbot'.

Support SSL in both scripts.

Add a 1 second sleep in the check script to avoid flood protection.

Add all known channels to the channel config.

Closes-Bug: 1190296
Change-Id: I5072cb56ae83a70f4fa955362b8db909b2956d70
2014-03-10 17:26:34 -07:00
James E. Blair
becdd4b1eb Add a job to check IRC channel access
Add an IRC channel config file with some stub access information
for a few channels.  A new tool can read this file and verify
that openstackinfra has founder access on all the channels listed
in the file.

Run a job on changes to that file to verify that access is correct.

Later, other tools (like statusbot or gerritbot) may read that
file directly to determine which channels to join.  Or we can at
least add checks that all channels referenced by another tool
(like eavesdrop) are also listed in this file.

Related-Bug: 1190296
Change-Id: I38440e745402af5bbc3f0d0cc04a150c0a4bb47c
2014-03-07 10:59:15 -08:00
Monty Taylor
38f8d43ffc Fix pep8 errors in modules dir
There weren't that many of them - just fix them.

Change-Id: I6aa6d056746c4a6804146b89c12e6313f9d22d9a
2013-11-12 11:30:34 -05:00
Monty Taylor
34b0020937 Remove the now vestigal pyflakes tox env
The previous patch removes anything that runs the pyflakes env. This
patch removes the env itself becaus it's now not used.

Change-Id: I89d1f6669fc0b95d2944318504e15bd2101e8bce
2013-09-23 18:29:32 +00:00
Monty Taylor
7409bde2b7 Remove pyflakes jobs
pyflakes is run py flake8. Patches have been submitted to all project to
ensure that they are using flake8 instead.

Change-Id: I541e47911e4dd79626646f66320d16ad0b2dc881
2013-09-23 18:29:18 +00:00
Jeremy Stanley
ec00f2981f Make sure pip upgrades itself in tox
* tox.ini: Upgrade pip within tox virtualenvs for
openstack-infra/config. Without doing this, tox uses the system pip
version within the constructed virtualenv, and may inadvertently
pull in prerelease versions of dependencies from PyPI. Note that the
option used requires tox 1.6 or newer.

Change-Id: Ie5276a4437e72c5f5a8d1ecf5a7c07977fa5bd77
2013-09-18 14:49:18 +00:00
Doug Hellmann
e6fb0aa640 Use the new oslo.sphinx library for the doc theme
Change-Id: I6b7557efec8d41687e4ef8a4864d1422bdebcfc5
Signed-off-by: Doug Hellmann <doug.hellmann@dreamhost.com>
2013-07-22 11:50:39 -04:00
James E. Blair
5ffd7fa987 Pin docutils==0.9.1
https://bitbucket.org/birkenfeld/sphinx/issue/998/docutils-010-will-break-sphinx-manpage

Change-Id: I1e98d3975bffef85da7a879017a198da8fd9eafc
Reviewed-on: https://review.openstack.org/18204
Reviewed-by: Jeremy Stanley <fungi@yuggoth.org>
Reviewed-by: Monty Taylor <mordred@inaugust.com>
Approved: James E. Blair <corvus@inaugust.com>
Tested-by: Jenkins
2012-12-16 20:25:12 +00:00
Clark Boylan
607b2db8c7 Use Jenkins Job Builder to config ci-docs job.
The existing ci-docs job is a one off job that was configured by hand.
Define the ci-docs job as a Jenkins Job Builder job using the existing
project-docs utilities.

To make the existing utilities work within the puppet repo the doc files
have been moved to doc/source, setup.cfg added to build docs in the new
dir, setup.py builds openstack-ci-puppet (instead of nova), tox now has
a venv virtualenv, and the .gitignore has been updated appropriately.

Change-Id: Ic0f291af181b4ef8eff62c5ec7cf3ccfa5b79800
Reviewed-on: https://review.openstack.org/13729
Approved: James E. Blair <corvus@inaugust.com>
Reviewed-by: James E. Blair <corvus@inaugust.com>
Tested-by: Jenkins
2012-09-27 16:50:32 +00:00
Bhuvan Arumugam
15b1bc6ee1 Include pep8 target with tox.
* setup.py
  Fix pep8 errors. Thanks to tox!

* tox.ini
  New target, pep8.

Change-Id: Iaa24807b4284f27918e486234c6b080fc78bc71d
2012-06-15 23:27:21 -07:00
Andrew Hutchings
822eeef6d7 Add tox.ini
Pyflakes builder was switched to using tox but this repo doesn't have a
tox.ini so all builds failed.  Also fixes setup.py for when we don't
need Sphinx

Change-Id: I49d425d001cde159c354be53b7d57eebdb4446df
2012-06-11 11:29:12 +01:00