7114e79485
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
142 lines
4.2 KiB
INI
142 lines
4.2 KiB
INI
[tox]
|
|
minversion = 1.6
|
|
envlist = linters,gerrit,grafyaml
|
|
skipsdist = True
|
|
|
|
[testenv]
|
|
passenv = http_proxy HTTP_PROXY https_proxy HTTPS_PROXY no_proxy NO_PROXY
|
|
basepython = python3
|
|
|
|
[testenv:linters]
|
|
whitelist_externals = bash
|
|
setenv =
|
|
ANSIBLE_LIBRARY= {envsitepackagesdir}/zuul/ansible/base/library
|
|
ANSIBLE_ACTION_PLUGINS = {envsitepackagesdir}/zuul/ansible/base/actiongeneral
|
|
# NOTE(pabelanger): if you'd like to run tox -elinters locally,
|
|
# you'll need to export ANSIBLE_ROLES_PATH pointing to the required
|
|
# repos.
|
|
#
|
|
# We take a guess that zuul-jobs and openstack-zuul-jobs will be
|
|
# checked out in the directory above us (i.e. alongside
|
|
# project-config). You may need to override this. Make sure
|
|
# they're up to date too!
|
|
#
|
|
# see openstack-zuul-jobs-linters job for more information.
|
|
ANSIBLE_ROLES_PATH={env:ANSIBLE_ROLES_PATH:../zuul-jobs/roles:../openstack-zuul-jobs/roles:roles}
|
|
|
|
# Add dependencies here since other jobs use python2 and zuul requires
|
|
# python3.
|
|
deps =
|
|
# Zuul is required to supply the zuul ansible modules for ansible-lint
|
|
zuul
|
|
# Unfortunately pip doesn't do actual dependency resolution, so
|
|
# we need to manually ansible at the top level to the same as
|
|
# zuul requirements.txt
|
|
ansible>=2.5.1,<2.6
|
|
ansible-lint<4
|
|
hacking>=1.1,<1.2
|
|
bashate>=0.2
|
|
commands =
|
|
{toxinidir}/tools/run-bashate.sh
|
|
flake8
|
|
# Run some policy checks on zuul.d/projects.yaml
|
|
{toxinidir}/tools/zuul-projects-checks.py
|
|
# Ansible lint
|
|
# [ANSIBLE0012] Commands should not change things if nothing needs doing
|
|
bash -c "find playbooks -type f -regex '.*.ya?ml' -print0 | \
|
|
xargs -t -n1 -0 ansible-lint -xANSIBLE0012"
|
|
bash -c 'find roles -maxdepth 1 -mindepth 1 -type d -printf "%p/\n" | \
|
|
xargs -t -n1 ansible-lint -xANSIBLE0012'
|
|
# Ansible Syntax Check
|
|
bash -c "find playbooks -type f -regex '.*.ya?ml' -exec \
|
|
ansible-playbook --syntax-check -i {toxinidir}/tests/inventory \
|
|
-e @tests/vars.yaml \{\} + > /dev/null"
|
|
# Make sure site-variables at least parses
|
|
python -c 'import yaml ; yaml.load(open("zuul/site-variables.yaml", "r"))'
|
|
|
|
[testenv:gerrit]
|
|
deps =
|
|
PyYAML
|
|
ruamel.yaml
|
|
GitPython
|
|
commands =
|
|
{toxinidir}/tools/check_valid_gerrit_projects.py gerrit/projects.yaml gerrit/acls zuul/main.yaml
|
|
{toxinidir}/tools/check_projects_yaml_alphabetized.sh gerrit/projects.yaml
|
|
{toxinidir}/tools/check_valid_gerrit_config.sh
|
|
{toxinidir}/tools/check_gerrit_projects_changed.sh
|
|
|
|
[testenv:venv]
|
|
commands = {posargs}
|
|
|
|
[testenv:docs]
|
|
commands = python setup.py build_sphinx
|
|
|
|
[testenv:irc]
|
|
deps =
|
|
PyYAML
|
|
ruamel.yaml
|
|
irc
|
|
commands =
|
|
{toxinidir}/tools/check_irc_access.py -l accessbot/channels.yaml openstackinfra
|
|
{toxinidir}/tools/irc_tests.py
|
|
{toxinidir}/tools/check-channels-yaml.sh
|
|
|
|
[flake8]
|
|
show-source = True
|
|
exclude = .tox,.test
|
|
# These are ignored intentionally in openstack-infra projects;
|
|
# please don't submit patches that solely correct them or enable them.
|
|
ignore = E125,E129,E402,H,W503
|
|
|
|
[testenv:grafyaml]
|
|
deps =
|
|
{env:GRAFYAML_SRC:git+https://opendev.org/opendev/grafyaml#egg=grafyaml}
|
|
basepython = python2.7
|
|
commands = grafana-dashboard validate grafana
|
|
|
|
[testenv:bindep]
|
|
# Do not install any requirements. We want this to be fast and work even if
|
|
# system dependencies are missing, since it's used to tell you what system
|
|
# dependencies are missing! This also means that bindep must be installed
|
|
# separately, outside of the requirements files.
|
|
deps = bindep
|
|
commands = bindep test
|
|
|
|
[testenv:infra-docs]
|
|
deps =
|
|
Jinja2
|
|
PyYAML
|
|
commands = {toxinidir}/docs-site/generate_infra_index.py {toxinidir}/docs-site/infra-documents.yaml
|
|
|
|
[testenv:specs]
|
|
deps =
|
|
Jinja2
|
|
PyYAML
|
|
commands = {toxinidir}/specs/generate_specs_site.py {toxinidir}/specs/specs.yaml
|
|
|
|
[testenv:dib]
|
|
deps =
|
|
diskimage-builder
|
|
changedir = {toxinidir}/nodepool
|
|
commands = env ELEMENTS_DIR=elements dib-lint
|
|
|
|
[testenv:nodepool]
|
|
deps = nodepool
|
|
commands =
|
|
{toxinidir}/tools/nodepool-validate.sh
|
|
|
|
[testenv:add-projects-to-main]
|
|
whitelist_externals =
|
|
git
|
|
deps =
|
|
ruamel.yaml
|
|
commands =
|
|
python tools/add-projects-to-main.py
|
|
git diff-files --quiet
|
|
|
|
[testenv:normalize-projects-yaml]
|
|
deps =
|
|
ruamel.yaml
|
|
commands =
|
|
{toxinidir}/tools/normalize_projects_yaml.py
|