Fixes bug #1194807
Firstly, we update the oslo.config dep to 1.2.0a3 because of the issue
with namespace packages (bug #1194742).
But the main issue here is that when we previously depended on 1.2.0a3
we found that if you did:
$> pip install -r nova/requirements.txt
then you end up with the oslo.config 1.1.1 code installed. This is
because oslo.config>=1.1.0 gets pulled in as a transitive dep and pip
gets confused.
See I977700d73342e81ee962019b76238d2cb2b1fff4
You can reproduce with e.g.
$> pip install \
http://.../oslo.config-1.2.0a3.tar.gz#egg=oslo.config-1.2.0a3 \
python-keystoneclient
$> pip freeze | grep oslo.config
oslo.config-1.2.0a3
$> python -c 'from oslo.config.cfg import DeprecatedOpt'
Traceback (most recent call last):
File "<string>", line 1, in <module>
ImportError: cannot import name DeprecatedOpt
This is because of a bug with pip where it sees oslo.config-1.2.0a3 and
oslo.config as two unrelated things. It should strip the version part of
the egg= fragment before using it as a package name, but it doesn't.
However, we can simply use the -f/--find-links pip option in our
requirements.txt to add the tarball URL to the list of URLs considered
and also add the oslo.config>=1.2.0a3 dependency:
$> pip install \
-f http://.../oslo.config-1.2.0a3.tar.gz#egg=oslo.config-1.2.0a3 \
'oslo.config>=1.2.0a3' \
python-keystoneclient
$> pip freeze | grep oslo.config
oslo.config-1.2.0a3
$> python -c 'from oslo.config.cfg import DeprecatedOpt'
This is actually exactly the semantics we want and we go to great
lengths in pbr to get these semantics while using a single tarball URL.
The only downside to this --find-links strategy is that we gain an extra
line in our requirements.txt ... but it does work around the pip bug.
Change-Id: I6f3eb5fd2c75615d9a1cae172aed859b36b27d4c
The version of cliff we are using depends on pyparsing>=1.5.7 but
python-quantumclient pulls 1.5.6 because it appears first in the
requirements processing.
The requirements change is in
https://review.openstack.org/#/c/33406/
Fixes bug #1191866
Change-Id: Ib1c11b53813ff96b750f5ffe4997ad01907d32c3
This partially reverts commit:
43b7f22b30.
The oslo.config change in that patch seems to break running unit
tests with tox. This reverts just that part of the change.
Change-Id: I977700d73342e81ee962019b76238d2cb2b1fff4
Rename tools/pip-requires to requirements.txt and tools/test-requires
to test-requirements.txt. These are standard files, and tools in the
general world are growing intelligence about them.
Change-Id: I68ece8406fb1d4e082a42db8e76e17b1aaa7e775
Fixes: bug #1179008