summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTony Breeds <tony@bakeyournoodle.com>2016-12-21 11:25:36 +1100
committerSteve Martinelli <s.martinelli@gmail.com>2017-01-03 09:13:38 -0500
commitabaf1b5bf718d0c59fa918ada2fb91370292f7c6 (patch)
treee2f1c9768c4f96653a171e516a312abea245cee2
parent2092d5783607223c7cbdfed690997e9c9f831b6f (diff)
Add Constraints support4.13.1
Adding constraints support to libraries is slightly more complex than services as the libraries themselves are listed in upper-constraints.txt which leads to errors that you can't install a specific version and a constrained version. This change adds constraints support by also adding a helper script to edit the constraints to remove keystonemiddleware. Change-Id: Ic181afad5bf3dd89a2edfdf9fb3026f85cdc37a6
Notes
Notes (review): Code-Review+2: Steve Martinelli <s.martinelli@gmail.com> Code-Review+1: Dirk Mueller <dirk@dmllr.de> Code-Review+2: Samuel de Medeiros Queiroz <samueldmq@gmail.com> Workflow+1: Steve Martinelli <s.martinelli@gmail.com> Verified+2: Jenkins Submitted-by: Jenkins Submitted-at: Tue, 03 Jan 2017 16:27:20 +0000 Reviewed-on: https://review.openstack.org/413288 Project: openstack/keystonemiddleware Branch: refs/heads/master
-rwxr-xr-xtools/tox_install.sh30
-rw-r--r--tox.ini6
2 files changed, 34 insertions, 2 deletions
diff --git a/tools/tox_install.sh b/tools/tox_install.sh
new file mode 100755
index 0000000..e61b63a
--- /dev/null
+++ b/tools/tox_install.sh
@@ -0,0 +1,30 @@
1#!/usr/bin/env bash
2
3# Client constraint file contains this client version pin that is in conflict
4# with installing the client from source. We should remove the version pin in
5# the constraints file before applying it for from-source installation.
6
7CONSTRAINTS_FILE="$1"
8shift 1
9
10set -e
11
12# NOTE(tonyb): Place this in the tox enviroment's log dir so it will get
13# published to logs.openstack.org for easy debugging.
14localfile="$VIRTUAL_ENV/log/upper-constraints.txt"
15
16if [[ "$CONSTRAINTS_FILE" != http* ]]; then
17 CONSTRAINTS_FILE="file://$CONSTRAINTS_FILE"
18fi
19# NOTE(tonyb): need to add curl to bindep.txt if the project supports bindep
20curl "$CONSTRAINTS_FILE" --insecure --progress-bar --output "$localfile"
21
22pip install -c"$localfile" openstack-requirements
23
24# This is the main purpose of the script: Allow local installation of
25# the current repo. It is listed in constraints file and thus any
26# install will be constrained and we need to unconstrain it.
27edit-constraints "$localfile" -- "$CLIENT_NAME"
28
29pip install -c"$localfile" -U "$@"
30exit $?
diff --git a/tox.ini b/tox.ini
index 56111b4..a5bc549 100644
--- a/tox.ini
+++ b/tox.ini
@@ -1,12 +1,14 @@
1[tox] 1[tox]
2minversion = 1.6 2minversion = 2.0
3skipsdist = True 3skipsdist = True
4envlist = py34,py27,pep8,releasenotes 4envlist = py34,py27,pep8,releasenotes
5 5
6[testenv] 6[testenv]
7usedevelop = True 7usedevelop = True
8install_command = pip install -U {opts} {packages} 8install_command = {toxinidir}/tools/tox_install.sh {env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt} {opts} {packages}
9setenv = VIRTUAL_ENV={envdir} 9setenv = VIRTUAL_ENV={envdir}
10 BRANCH_NAME=master
11 CLIENT_NAME=keystonemiddleware
10 OS_STDOUT_NOCAPTURE=False 12 OS_STDOUT_NOCAPTURE=False
11 OS_STDERR_NOCAPTURE=False 13 OS_STDERR_NOCAPTURE=False
12 14