From 379f272924f1e3946f8eb08eb9690e42d09b0a29 Mon Sep 17 00:00:00 2001
From: Andreas Jaeger <aj@suse.com>
Date: Fri, 26 Feb 2016 19:44:07 +0100
Subject: [PATCH] always use pip constraints

This flips the tox.ini to always use constraints installation for
all targets. It drops the extra -constraints targets in the process.
This makes it so there is no developer change required to operate in our
new world order.

Change-Id: I2b56835edb2d75b7c871aae030e909578dbb958d
Depends-On: Iecd35d6bc3b1e9e0ed31b48a34e4149d34d55ac2
---
 tox.ini | 45 +++++++++++++--------------------------------
 1 file changed, 13 insertions(+), 32 deletions(-)

diff --git a/tox.ini b/tox.ini
index 3960a780882..157dc7edbe9 100644
--- a/tox.ini
+++ b/tox.ini
@@ -9,9 +9,7 @@ envlist = py27,pep8
 setenv = VIRTUAL_ENV={envdir}
          PYTHONHASHSEED=0
 usedevelop = True
-install_command =
-                  constraints: {[testenv:common-constraints]install_command}
-                  pip install {opts} {packages}
+install_command = pip install -c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt} {opts} {packages}
 
 # TODO(mriedem): Move oslo.versionedobjects[fixtures] to test-requirements.txt
 #                after I937823ffeb95725f0b55e298ebee1857d6482883 lands.
@@ -28,18 +26,16 @@ whitelist_externals = bash
 passenv = *_proxy *_PROXY
 
 [testenv:releasenotes]
+# NOTE(jaegerandi): This target does not use constraints because
+# upstream infra does not yet support it. Once that's fixed, we can
+# drop the install_command.
+install_command = pip install -U --force-reinstall {opts} {packages}
 commands = sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html
 
-[testenv:common-constraints]
-install_command = pip install -c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt} {opts} {packages}
-
 [testenv:functional]
 setenv =
   OS_TEST_PATH = ./cinder/tests/functional
 
-[testenv:py34-constraints]
-install_command = {[testenv:common-constraints]install_command}
-
 [testenv:pep8]
 commands =
   flake8 {posargs} .
@@ -49,16 +45,6 @@ commands =
   {toxinidir}/tools/config/check_uptodate.sh
   {toxinidir}/tools/check_exec.py {toxinidir}/cinder
 
-[testenv:pep8-constraints]
-install_command = {[testenv:common-constraints]install_command}
-commands =
-  flake8 {posargs} .
-  # Check that .po and .pot files are valid:
-  bash -c "find cinder -type f -regex '.*\.pot?' -print0|xargs -0 -n 1 msgfmt --check-format -o /dev/null"
-  {toxinidir}/tools/config/check_uptodate.sh --checkopts
-  {toxinidir}/tools/config/check_uptodate.sh
-  {toxinidir}/tools/check_exec.py {toxinidir}/cinder
-
 [testenv:fast8]
 # Use same environment directory as pep8 env to save space and install time
 envdir = {toxworkdir}/pep8
@@ -70,22 +56,17 @@ deps = -r{toxinidir}/requirements.txt
        pylint==0.26.0
 commands = bash tools/lintstack.sh
 
-[testenv:pylint-constraints]
-install_command = {[testenv:common-constraints]install_command}
-deps = {[testenv:pylint]deps}
-commands = {[testenv:pylint]commands}
-
 [testenv:cover]
 # Also do not run test_coverage_ext tests while gathering coverage as those
 # tests conflict with coverage.
+# NOTE(jaegerandi): This target does not use constraints because
+# upstream infra does not yet support it. Once that's fixed, we can
+# drop the install_command.
+install_command = pip install -U --force-reinstall {opts} {packages}
 commands =
   python setup.py testr --coverage \
     --testr-args='^(?!.*test.*coverage).*$'
 
-[testenv:cover-constraints]
-install_command = {[testenv:common-constraints]install_command}
-commands = {[testenv:cover]commands}
-
 [testenv:genconfig]
 sitepackages = False
 envdir = {toxworkdir}/pep8
@@ -97,10 +78,10 @@ envdir = {toxworkdir}/pep8
 commands = {toxinidir}/tools/config/generate_sample.sh from_tox --nosamplefile
 
 [testenv:venv]
-commands = {posargs}
-
-[testenv:venv-constraints]
-install_command = {[testenv:common-constraints]install_command}
+# NOTE(jaegerandi): This target does not use constraints because
+# upstream infra does not yet support it. Once that's fixed, we can
+# drop the install_command.
+install_command = pip install -U --force-reinstall {opts} {packages}
 commands = {posargs}
 
 [testenv:docs]