Skip to content

Commit

Permalink
Merge pull request ceph#1063 from ceph/wip-pip-tools
Browse files Browse the repository at this point in the history
Use pip-tools to manage dependencies

Reviewed-by: Dan Mick <[email protected]>
  • Loading branch information
dmick authored Apr 17, 2017
2 parents 45cb089 + f3523d7 commit a09dd1e
Show file tree
Hide file tree
Showing 4 changed files with 119 additions and 14 deletions.
8 changes: 8 additions & 0 deletions bootstrap
Original file line number Diff line number Diff line change
Expand Up @@ -133,9 +133,17 @@ fi
# Upgrade pip first
./virtualenv/bin/pip install --upgrade pip

# Ensure setuptools is installed
./virtualenv/bin/pip install setuptools --upgrade

# Install all requirements
./virtualenv/bin/pip install --upgrade -r requirements.txt

# Invoke pip-sync
./virtualenv/bin/pip-sync requirements.txt

# Check to make sure requirements are met
./virtualenv/bin/pip check

# Remove leftover .pyc files
find teuthology -name '*.pyc' -exec rm {} \;
99 changes: 96 additions & 3 deletions requirements.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,96 @@
--index-url https://pypi.python.org/simple/

-e .
#
# This file is autogenerated by pip-compile
# To update, run:
#
# pip-compile --output-file requirements.txt setup.py
#
ansible==2.3.0.0
apache-libcloud==1.5.0
appdirs==1.4.3 # via os-client-config
argparse==1.4.0
asn1crypto==0.22.0 # via cryptography
babel==2.4.0 # via osc-lib, oslo.i18n, python-cinderclient, python-glanceclient, python-neutronclient, python-novaclient, python-openstackclient
backports.ssl-match-hostname==3.5.0.1
beanstalkc==0.4.0
boto==2.46.1
bunch==1.0.1
cffi==1.10.0 # via cryptography
click==6.7 # via pip-tools
cliff==2.5.0 # via osc-lib, python-neutronclient, python-openstackclient
cmd2==0.7.0 # via cliff
configobj==5.0.6
configparser==3.5.0
contextlib2==0.5.4 # via raven
cryptography==1.8.1 # via paramiko, pyopenssl
debtcollector==1.13.0 # via oslo.config, oslo.utils, python-keystoneclient, python-neutronclient
deprecation==1.0 # via openstacksdk
docopt==0.6.2
enum34==1.1.6 # via cryptography
first==2.0.1 # via pip-tools
funcsigs==1.0.2 # via debtcollector, oslo.utils
functools32==3.2.3.post2 # via jsonschema
gevent==1.2.1
greenlet==0.4.12 # via gevent
httplib2==0.10.3
idna==2.5 # via cryptography
ipaddress==1.0.18 # via cryptography
iso8601==0.1.11 # via keystoneauth1, oslo.utils, python-neutronclient, python-novaclient
jinja2==2.9.6 # via ansible
jsonpatch==1.15 # via warlock
jsonpointer==1.10 # via jsonpatch
jsonschema==2.6.0 # via warlock
keystoneauth1==2.19.0 # via openstacksdk, os-client-config, osc-lib, python-cinderclient, python-glanceclient, python-keystoneclient, python-neutronclient, python-novaclient, python-openstackclient
libvirt-python==3.2.0
manhole==1.3.0
markupsafe==1.0 # via jinja2
monotonic==1.3 # via oslo.utils
msgpack-python==0.4.8 # via oslo.serialization
mysql-python==1.2.3
ndg-httpsclient==0.4.2
netaddr==0.7.19 # via oslo.config, oslo.utils, python-neutronclient
netifaces==0.10.5 # via oslo.utils
openstacksdk==0.9.15 # via python-openstackclient
os-client-config==1.26.0 # via openstacksdk, osc-lib, python-neutronclient
osc-lib==1.3.0 # via python-neutronclient, python-openstackclient
oslo.config==3.24.0 # via python-keystoneclient
oslo.i18n==3.15.0 # via osc-lib, oslo.config, oslo.utils, python-cinderclient, python-glanceclient, python-keystoneclient, python-neutronclient, python-novaclient, python-openstackclient
oslo.serialization==2.18.0 # via python-keystoneclient, python-neutronclient, python-novaclient
oslo.utils==3.25.0 # via osc-lib, oslo.serialization, python-cinderclient, python-glanceclient, python-keystoneclient, python-neutronclient, python-novaclient, python-openstackclient
packaging==16.8 # via cryptography
paramiko==2.1.2
pbr==2.0.0 # via cliff, debtcollector, keystoneauth1, openstacksdk, osc-lib, oslo.i18n, oslo.serialization, oslo.utils, positional, python-cinderclient, python-glanceclient, python-keystoneclient, python-neutronclient, python-novaclient, python-openstackclient, requestsexceptions, stevedore
pexpect==4.2.1
pip-tools==1.9.0
pluggy==0.4.0 # via tox
positional==1.1.1 # via keystoneauth1, python-keystoneclient
prettytable==0.7.2
psutil==5.2.2
ptyprocess==0.5.1 # via pexpect
py==1.4.33 # via tox
pyasn1==0.2.3
pycparser==2.17 # via cffi
pycrypto==2.6.1 # via ansible
pyopenssl==16.2.0
pyparsing==2.2.0 # via cliff, cmd2, oslo.utils, packaging
python-cinderclient==2.0.1 # via python-openstackclient
python-dateutil==2.6.0
python-glanceclient==2.6.0 # via python-openstackclient
python-keystoneclient==3.10.0 # via python-neutronclient, python-openstackclient
python-neutronclient==6.2.0
python-novaclient==8.0.0
python-openstackclient==3.9.0
pytz==2017.2 # via babel, oslo.serialization, oslo.utils
pyyaml==3.12
raven==6.0.0
requests==2.12.5
requestsexceptions==1.2.0 # via os-client-config
rfc3986==0.4.1 # via oslo.config
simplejson==3.10.0 # via osc-lib, python-cinderclient, python-neutronclient, python-novaclient
six==1.10.0
stevedore==1.21.0 # via cliff, keystoneauth1, openstacksdk, osc-lib, oslo.config, python-keystoneclient
tox==2.7.0
unicodecsv==0.14.1 # via cliff
virtualenv==15.1.0 # via tox
warlock==1.2.0 # via python-glanceclient
web.py==0.38
wrapt==1.10.10 # via debtcollector, positional, python-glanceclient
10 changes: 2 additions & 8 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,8 @@
'Topic :: System :: Distributed Computing',
'Topic :: System :: Filesystems',
],
install_requires=['setuptools',
install_requires=['pip-tools',
'tox',
'gevent',
# For teuthology-coverage
'MySQL-python == 1.2.3',
Expand All @@ -68,10 +69,6 @@
'docopt',
'psutil >= 2.1.0',
'configparser',
'pytest',
'pytest-capturelog',
'mock',
'fudge',
'ansible>=2.0',
'pyopenssl>=0.13',
'ndg-httpsclient',
Expand All @@ -82,9 +79,6 @@
# python-novaclient 4.0.0
'python-novaclient',
'python-openstackclient',
# Copy the below from python-openstackclient's
# requirements to avoid a conflict
'openstacksdk!=0.9.11,!=0.9.12,>=0.9.10',
# with openstacklient >= 2.1.0, neutronclient no longer is
# a dependency but we need it anyway.
'python-neutronclient',
Expand Down
16 changes: 13 additions & 3 deletions tox.ini
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,11 @@ passenv = HOME
sitepackages=True
deps=
-r{toxinidir}/requirements.txt
pytest
pytest-capturelog
mock
fudge
nose
pytest-capturelog
pytest-cov==1.6
coverage==3.7.1

Expand All @@ -23,6 +24,8 @@ passenv = HOME OS_REGION_NAME OS_AUTH_URL OS_TENANT_ID OS_TENANT_NAME OS_PASSWOR
sitepackages=True
deps=
-r{toxinidir}/requirements.txt
pytest
pytest-capturelog
mock
fudge
nose
Expand All @@ -42,7 +45,12 @@ commands=flake8 --select=F,E9 {posargs:teuthology scripts}
install_command = pip install --upgrade {opts} {packages}
basepython=python
changedir=docs
deps=sphinx
deps=
-r{toxinidir}/requirements.txt
sphinx
pytest
pytest-capturelog
mock
commands=
sphinx-apidoc -f -o . ../teuthology ../teuthology/test ../teuthology/orchestra/test ../teuthology/task/test
sphinx-build -b html -d {envtmpdir}/doctrees . {envtmpdir}/html
Expand All @@ -53,8 +61,9 @@ passenv = HOME OS_REGION_NAME OS_AUTH_URL OS_TENANT_ID OS_TENANT_NAME OS_PASSWOR
sitepackages=True
deps=
-r{toxinidir}/requirements.txt
mock
pytest
pytest-capturelog
mock

commands=py.test -v {posargs:teuthology/openstack/test/test_openstack.py}
basepython=python2.7
Expand All @@ -64,6 +73,7 @@ passenv = HOME OS_REGION_NAME OS_AUTH_URL OS_TENANT_ID OS_TENANT_NAME OS_PASSWOR
basepython=python2
deps=
-r{toxinidir}/requirements.txt
pytest
mock

commands=
Expand Down

0 comments on commit a09dd1e

Please sign in to comment.