Kevin Carter 02ad1e04e3 Fix neutron migrations with optional providers
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>
2016-01-13 20:57:49 +00:00

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"