From 4f807b8c60f32f61003d5008ed715e802f0df039 Mon Sep 17 00:00:00 2001 From: Monty Taylor Date: Fri, 21 Apr 2017 09:57:09 -0500 Subject: [PATCH] Include two transitive dependencies to work around conflicts For people installing released shade from pip and then trying to use it somehow through entrypoints, 1.20.0 is currently broken because of some transitive dependencies, ordering issues and conflicting exclusion ranges. While this is by no means a comprehensive or sustainable solution to the problem, it does unbreak the end users currently broken and is not terribly onerous. Both of these additions are tracked in g-r and both can be removed when the dependencies that pull in conflicting ranges of things are removed. Change-Id: I6a4a1ab5ab109f0650873201868e0f1c4d09c564 --- .../workaround-transitive-deps-1e7a214f3256b77e.yaml | 9 +++++++++ requirements.txt | 7 +++++++ 2 files changed, 16 insertions(+) create mode 100644 releasenotes/notes/workaround-transitive-deps-1e7a214f3256b77e.yaml diff --git a/releasenotes/notes/workaround-transitive-deps-1e7a214f3256b77e.yaml b/releasenotes/notes/workaround-transitive-deps-1e7a214f3256b77e.yaml new file mode 100644 index 000000000..aa1b361dd --- /dev/null +++ b/releasenotes/notes/workaround-transitive-deps-1e7a214f3256b77e.yaml @@ -0,0 +1,9 @@ +--- +fixes: + - Added requests and Babel to the direct dependencies list to work around + issues with pip installation, entrypoints and transitive dependencies + with conflicting exclusion ranges. Packagers of shade do not need to + add these two new requirements to shade's dependency list - they are + transitive depends and should be satisfied by the other things in the + requirements list. Both will be removed from the list again once the + python client libraries that pull them in have been removed. diff --git a/requirements.txt b/requirements.txt index 30a7fdd6d..e4d049970 100644 --- a/requirements.txt +++ b/requirements.txt @@ -9,6 +9,13 @@ jmespath>=0.9.0 # MIT jsonpatch>=1.1 # BSD ipaddress>=1.0.7;python_version<'3.3' # PSF os-client-config>=1.22.0 # Apache-2.0 +# These two are here to prevent issues with version pin mismatches from our +# client library transitive depends. +# Babel can be removed when ironicclient is removed (because of openstackclient +# transitive depend) +Babel>=2.3.4,!=2.4.0 # BSD +# requests can be removed when designateclient is removed +requests>=2.10.0,!=2.12.2,!=2.13.0 # Apache-2.0 requestsexceptions>=1.2.0 # Apache-2.0 six>=1.9.0 # MIT futures>=3.0;python_version=='2.7' or python_version=='2.6' # BSD