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
And collect it on post, it is helpful to see the results.
Change-Id: I0dbecf57bf9182168eb6f99cdf88329fcdeb1bdc
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
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
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
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
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
Load our various cloud configuration files into openstacksdk for a
basic sanity check of the configuration.
Change-Id: Ieedb3439533f3162d2b5cecca4b7fc07b631019e
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
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>
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
pyflakes is run py flake8. Patches have been submitted to all project to
ensure that they are using flake8 instead.
Change-Id: I541e47911e4dd79626646f66320d16ad0b2dc881
* 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
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
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