tripleo-heat-templates/tox.ini
rabi 0da3db3b94 Install ansible.posix.debug stdout callback plugin
ansible.builtin.debug is redirected to ansible.posix.debug.
We need to install the collection explicitly.

This needs to be fixed for stdout callback plugin related changes
in ansible-runner >=2.2.0.

Also, increases ansible verbosity to track these issues better in
the future.

Closes-Bug: #1971703
Change-Id: Ibe883e19c25926ab302db741afae70821209a350
2022-05-06 09:55:52 +05:30

127 lines
3.8 KiB
INI

[tox]
minversion = 3.18.0
skipsdist = True
envlist = pep8,py,tht
requires =
# extra plugin returns error if git reports untracked or dirty files
tox-extra>=0.0.0
[testenv]
basepython = python3
usedevelop = True
deps =
-c{env:TOX_CONSTRAINTS_FILE:https://opendev.org/openstack/requirements/raw/branch/master/upper-constraints.txt}
-r{toxinidir}/requirements.txt
-r{toxinidir}/test-requirements.txt
commands =
stestr run {posargs}
stestr slowest
setenv =
LC_ALL=en_US.UTF-8
[testenv:venv]
commands = {posargs}
[testenv:pep8]
allowlist_externals =
bash
commands =
python ./tools/process-templates.py
python ./tools/yaml-validate.py . --skip-dir .tox --skip-dir releasenotes --skip-dir zuul.d
bash -c ./tools/roles-data-validation.sh
bash -c ./tools/check-up-to-date.sh
flake8
ansible-lint -v
[flake8]
# E125 is deliberately excluded. See
# https://github.com/jcrocholl/pep8/issues/126. It's just wrong.
#
# Most of the whitespace related rules (E12* and E131) are excluded
# because while they are often useful guidelines, strict adherence to
# them ends up causing some really odd code formatting and forced
# extra line breaks. Updating code to enforce these will be a hard sell.
#
# H405 is another one that is good as a guideline, but sometimes
# multiline doc strings just don't have a natural summary
# line. Rejecting code for this reason is wrong.
#
# E251 Skipped due to https://github.com/jcrocholl/pep8/issues/301
#
# The following two are also ignored that we don't think it is useful.
# W503 line break before binary operator
# W504 line break after binary operator
#
# The following rules are currently ignored, but will be enforced
# in the future
# E501 line too long
# E731 do not assign a lambda expression, use a def
# W605 invalid escape sequence
ignore = E121,E122,E123,E124,E125,E126,E127,E128,E129,E131,E251,H405,W503,W504,E501,E731,W605
exclude = releasenotes,.cache,.tox,__pycache__,tripleo_heat_templates/tests/tripleo-ansible,tripleo_heat_templates/tests/ansible-pacemaker
[testenv:templates]
commands = python ./tools/process-templates.py
[testenv:clean]
commands = python ./tools/process-templates.py -c
[testenv:releasenotes]
deps = -c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
-r{toxinidir}/doc/requirements.txt
allowlist_externals =
bash
commands = bash -c tools/releasenotes_tox.sh
[testenv:cover]
setenv =
PYTHON=coverage run --source tripleo_heat_templates --parallel-mode
commands =
coverage erase
stestr run {posargs}
coverage combine
coverage html -d cover
coverage xml -o cover/coverage.xml
coverage report
[testenv:genconfig]
commands =
python ./tools/process-templates.py
python ./tripleo_heat_templates/environment_generator.py sample-env-generator/
[testenv:genroledata]
allowlist_externals =
bash
commands =
bash -c tools/roles-data-generate-samples.sh
[testenv:tht]
usedevelop = True
setenv =
ANSIBLE_FORCE_COLOR=1
ANSIBLE_INVENTORY={toxinidir}/test/hosts.ini
ANSIBLE_THT_FOLDER={toxinidir}
ANSIBLE_NOCOWS=1
ANSIBLE_RETRY_FILES_ENABLED=0
ANSIBLE_STDOUT_CALLBACK=debug
PY_COLORS=1
VIRTUAL_ENV={envdir}
# Avoid 2020-01-01 warnings: https://github.com/pypa/pip/issues/6207
PYTHONWARNINGS=ignore:DEPRECATION::pip._internal.cli.base_command
PIP_DISABLE_PIP_VERSION_CHECK=1
passenv =
ANSIBLE_*
deps =
-r{toxinidir}/test-ansible-requirements.txt
allowlist_externals =
bash
commands_pre =
ansible-galaxy collection install ansible.posix
pip install -q bindep fixtures
bindep test
commands =
pytest --color=no \
--html={envlogdir}/reports.html \
--self-contained-html \
{toxinidir}/tripleo_heat_templates/tests/test_tht_ansible_syntax.py {toxinidir}/tripleo_heat_templates/tests/test_tht_derivce_pci.py