
This change fixes the cases where ansible is looking for vars file on the AnsibleController instead of the remote StarlingX. Also, this file adds requirements.txt and uses it for the tox "venv" setup in order to provide an wasy way for a user to create an environment to remotely run ansible with the same toolset we have on a StarlingX ISO. TEST PLAN PASS remote play for backup PASS local play for backup PASS remote play for restore PASS local play for restore Closes-Bug: #1986691 Signed-off-by: Thiago Brito <thiago.brito@windriver.com> Change-Id: I27ea61428afafbd12434fca6f7bef4526ee01559
84 lines
2.4 KiB
INI
84 lines
2.4 KiB
INI
[tox]
|
|
envlist = linters,pep8
|
|
minversion = 2.3
|
|
skipsdist = True
|
|
|
|
[testenv]
|
|
install_command = pip install -U {opts} {packages}
|
|
setenv = VIRTUAL_ENV={envdir}
|
|
OS_STDOUT_CAPTURE=1
|
|
OS_STDERR_CAPTURE=1
|
|
OS_TEST_TIMEOUT=60
|
|
ANSIBLE_LOCAL_TEMP={toxworkdir}/.ansible/tmp
|
|
deps = -r{toxinidir}/requirements.txt
|
|
-r{toxinidir}/test-requirements.txt
|
|
|
|
[testenv:linters]
|
|
basepython = python3
|
|
whitelist_externals = bash
|
|
commands =
|
|
{[testenv:ansible-lint]commands}
|
|
bash -c "find {toxinidir} \
|
|
-not \( -type d -name .?\* -prune \) \
|
|
-type f \
|
|
-not -name \*~ \
|
|
-not -name \*.md \
|
|
-name \*.sh \
|
|
-print0 | xargs -r -n 1 -0 bashate -v"
|
|
bash -c "find {toxinidir} \
|
|
-path '{toxinidir}/.tox' -a -prune \
|
|
-o -name '*.yaml' \
|
|
-o -name '*.yml' \
|
|
-print0 | xargs -0 yamllint"
|
|
|
|
[testenv:ansible-lint]
|
|
basepython = python3
|
|
whitelist_externals = bash
|
|
# ansible-lint error checks are suppressed/skipped through the .ansible-lint file
|
|
commands =
|
|
bash -c "ls playbookconfig/src/playbooks/*.yml | xargs --no-run-if-empty ansible-lint"
|
|
|
|
[testenv:pep8]
|
|
basepython = python3
|
|
usedevelop = False
|
|
description =
|
|
Run style checks.
|
|
|
|
|
|
commands =
|
|
flake8
|
|
|
|
|
|
[flake8]
|
|
# E123, E125 skipped as they are invalid PEP-8.
|
|
# E501 skipped because some of the code files include templates
|
|
# that end up quite wide
|
|
# H405: multi line docstring summary not separated with an empty line
|
|
show-source = True
|
|
ignore = E123,E125,E501,H405,W504
|
|
exclude = .venv,.git,.tox,dist,doc,*lib/python*,*egg,build,release-tag-*
|
|
|
|
|
|
[testenv:venv]
|
|
basepython = python3
|
|
commands = {posargs}
|
|
|
|
[bandit]
|
|
# The following bandit tests are being skipped:
|
|
# B108: Test for insecure usage of tmp file/directory
|
|
# B110: Try, Except, Pass detected.
|
|
# B404: Import of subprocess module
|
|
# B603: Test for use of subprocess without shell equals true
|
|
# B607: Test for starting a process with a partial path
|
|
# B608: Possible SQL injection vector through string-based query
|
|
#
|
|
# Note: 'skips' entry cannot be split across multiple lines
|
|
#
|
|
skips = B108,B110,B404,B603,B607,B608
|
|
exclude = tests
|
|
|
|
[testenv:bandit]
|
|
basepython = python3
|
|
deps = -r{toxinidir}/test-requirements.txt
|
|
commands = bandit --ini tox.ini -n 5 -r playbookconfig/src/playbooks/roles
|