![Kevin Carter](/assets/img/avatar_default.png)
The venv creation process would include all python packages into the venv even if the optional provider was not used. This causes neutron migration issues and creates unneeded table. To resolve this, the py_pkg lookup plugin has been modified to ensure no "optional" pip packages are included in the base venv. The optional string was added to the "plumgrid_pip_packages" array to ensure the lookup plugin is no longer indexing those packages for inclusion in the base venv. Note: This patch includes a tox.ini configuration change to make it use test-requirements.txt for the pep8 environment dependencies. This is essential to allow the lint testing to pass and can be reverted later. Change-Id: I999ebd52d99f984d7bfa19685fc0fa530c2b32a9 Signed-off-by: Kevin Carter <kevin.carter@rackspace.com>
65 lines
1.8 KiB
INI
65 lines
1.8 KiB
INI
[tox]
|
|
minversion = 1.6
|
|
skipsdist = True
|
|
envlist = docs,pep8,bashate,releasenotes
|
|
|
|
[testenv]
|
|
usedevelop = True
|
|
install_command = pip install -U {opts} {packages}
|
|
setenv = VIRTUAL_ENV={envdir}
|
|
deps = -r{toxinidir}/test-requirements.txt
|
|
|
|
[testenv:releasenotes]
|
|
commands = sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html
|
|
|
|
[testenv:docs]
|
|
commands=
|
|
python setup.py build_sphinx
|
|
|
|
# environment used by the -infra templated docs job
|
|
[testenv:venv]
|
|
deps = -r{toxinidir}/test-requirements.txt
|
|
commands = {posargs}
|
|
|
|
# Run hacking/flake8 check for all python files
|
|
[testenv:pep8]
|
|
deps = -r{toxinidir}/test-requirements.txt
|
|
whitelist_externals = bash
|
|
commands =
|
|
bash -c "grep -Irl \
|
|
-e '!/usr/bin/env python' \
|
|
-e '!/bin/python' \
|
|
-e '!/usr/bin/python' \
|
|
--exclude-dir '.*' \
|
|
--exclude-dir 'doc' \
|
|
--exclude-dir '*.egg' \
|
|
--exclude-dir '*.egg-info' \
|
|
--exclude-dir '*templates' \
|
|
--exclude 'tox.ini' \
|
|
--exclude '*.sh' \
|
|
{toxinidir} | xargs flake8 --verbose"
|
|
|
|
|
|
[flake8]
|
|
# Ignores the following rules due to how ansible modules work in general
|
|
# F403 'from ansible.module_utils.basic import *' used; unable to detect undefined names
|
|
# H303 No wildcard (*) import.
|
|
ignore=F403,H303
|
|
|
|
# Run bashate check for all bash scripts
|
|
# Ignores the following rules:
|
|
# E003: Indent not multiple of 4 (we prefer to use multiples of 2)
|
|
[testenv:bashate]
|
|
deps = bashate
|
|
whitelist_externals = bash
|
|
commands =
|
|
bash -c "grep -Irl \
|
|
-e '!/usr/bin/env bash' \
|
|
-e '!/bin/bash' \
|
|
-e '!/bin/sh' \
|
|
--exclude-dir '.*' \
|
|
--exclude-dir '*.egg' \
|
|
--exclude-dir '*.egg-info' \
|
|
--exclude 'tox.ini' \
|
|
{toxinidir} | xargs bashate --verbose --ignore=E003"
|