remove lower bounds from global requirements

Now that we allow projects to diverge in their lower bounds, it no
longer makes sense for us to track "global" lower bounds values. We
need to retain the exclusion specifiers (using the "!=" operator) so
that the automatic constraint update calculation continues to produce
a set of values that we expect to work.

In addition to updating the data, this patch updates the validation
rules so that if a lower bound is included an error is reported.

Change-Id: If9da4636755fc089b2ec5f075e03767f84c34a67
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
This commit is contained in:
Doug Hellmann 2018-04-11 10:03:51 -04:00
parent 1f98eb3e62
commit 8a4fa891e7
3 changed files with 430 additions and 444 deletions

View File

@ -1,465 +1,465 @@
abclient>=0.2.3 # Apache-2.0 abclient # Apache-2.0
alembic>=0.8.10 # MIT alembic # MIT
amqp>=2.1.1,!=2.1.4 # BSD amqp!=2.1.4 # BSD
anyjson>=0.3.3 # BSD anyjson # BSD
appdirs>=1.3.0 # MIT License appdirs # MIT License
apscheduler>=3.0.5 # MIT License apscheduler # MIT License
autobahn>=0.17.1 # MIT License autobahn # MIT License
automaton>=1.9.0 # Apache-2.0 automaton # Apache-2.0
beautifulsoup4>=4.6.0 # MIT beautifulsoup4 # MIT
Babel>=2.3.4,!=2.4.0 # BSD Babel!=2.4.0 # BSD
bcrypt>=3.1.3 # Apache-2.0 bcrypt # Apache-2.0
betamax>=0.7.0 # Apache-2.0 betamax # Apache-2.0
betamax-matchers>=0.4.0 # Apache-2.0 betamax-matchers # Apache-2.0
boto>=2.32.1 # MIT boto # MIT
botocore>=1.5.1 # Apache-2.0 botocore # Apache-2.0
cassandra-driver>=2.1.4,!=3.6.0 # Apache-2.0 cassandra-driver!=3.6.0 # Apache-2.0
castellan>=0.16.0 # Apache-2.0 castellan # Apache-2.0
ceilometermiddleware>=1.1.0 # Apache-2.0 ceilometermiddleware # Apache-2.0
cachetools>=2.0.0 # MIT License cachetools # MIT License
cffi>=1.7.0 # MIT cffi # MIT
cliff>=2.8.0,!=2.9.0 # Apache-2.0 cliff!=2.9.0 # Apache-2.0
cmd2>=0.8.0,!=0.8.3 # MIT cmd2!=0.8.3 # MIT
cotyledon>=1.3.0 # Apache-2.0 cotyledon # Apache-2.0
construct>=2.8.10,<2.9 # MIT construct<2.9 # MIT
PuLP>=1.4.1 # MIT PuLP # MIT
contextlib2>=0.4.0 # PSF License contextlib2 # PSF License
croniter>=0.3.4 # MIT License croniter # MIT License
cryptography>=2.1 # BSD/Apache-2.0 cryptography # BSD/Apache-2.0
cursive>=0.2.1 # Apache-2.0 cursive # Apache-2.0
ddt>=1.0.1 # MIT ddt # MIT
debtcollector>=1.2.0 # Apache-2.0 debtcollector # Apache-2.0
decorator>=3.4.0 # BSD decorator # BSD
defusedxml>=0.5.0 # PSF defusedxml # PSF
dib-utils>=0.0.8 # Apache-2.0 dib-utils # Apache-2.0
diskimage-builder>=1.1.2,!=1.6.0,!=1.7.0,!=1.7.1 # Apache-2.0 diskimage-builder!=1.6.0,!=1.7.0,!=1.7.1 # Apache-2.0
Django>=1.11,<2.0 # BSD Django<2.0 # BSD
django-babel>=0.6.2 # BSD django-babel # BSD
django-compressor>=2.0 # MIT django-compressor # MIT
django-floppyforms>=1.0,<2 # BSD django-floppyforms<2 # BSD
django-formtools>=1.0 # BSD django-formtools # BSD
dnspython>=1.14.0;python_version=='2.7' # http://www.dnspython.org/LICENSE dnspython;python_version=='2.7' # http://www.dnspython.org/LICENSE
dnspython3>=1.12.0,!=1.13.0,!=1.14.0;python_version>='3.0' # http://www.dnspython.org/LICENSE dnspython3!=1.13.0,!=1.14.0;python_version>='3.0' # http://www.dnspython.org/LICENSE
# Note(tonyb): We don't actually directly depend on docutils but we pull it in # Note(tonyb): We don't actually directly depend on docutils but we pull it in
# indirectly and we needed to blacklist 0.13.1 for problems with # indirectly and we needed to blacklist 0.13.1 for problems with
# Sphinx 1.3. This can be now removed once all projects removed it. # Sphinx 1.3. This can be now removed once all projects removed it.
docutils>=0.11 # OSI-Approved Open Source, Public Domain docutils # OSI-Approved Open Source, Public Domain
dogpile.cache>=0.6.2 # BSD dogpile.cache # BSD
dogtag-pki>=10.3.5.1 # LGPLv3+ dogtag-pki # LGPLv3+
dulwich>=0.15.0 # Apache-2.0 dulwich # Apache-2.0
elasticsearch>=2.0.0,<=3.0.0 # Apache-2.0 elasticsearch<=3.0.0 # Apache-2.0
enum34>=1.0.4;python_version=='2.7' or python_version=='2.6' or python_version=='3.3' # BSD enum34;python_version=='2.7' or python_version=='2.6' or python_version=='3.3' # BSD
# NOTE: New versions of eventlet should not be accepted lightly # NOTE: New versions of eventlet should not be accepted lightly
# as they have earned a reputation of frequently breaking things. # as they have earned a reputation of frequently breaking things.
eventlet>=0.18.2,!=0.18.3,!=0.20.1 # MIT eventlet!=0.18.3,!=0.20.1 # MIT
exabgp>=4.0.4 # BSD exabgp # BSD
extras>=1.0.0 # MIT extras # MIT
falcon>=1.0.0 # Apache-2.0 falcon # Apache-2.0
Flask>=0.10,!=0.11,<1.0 # BSD Flask!=0.11,<1.0 # BSD
flask-keystone>=0.2 # Apache-2.0 flask-keystone # Apache-2.0
flask-oslolog>=0.1 # Apache-2.0 flask-oslolog # Apache-2.0
Flask-RESTful>=0.3.5 # BSD Flask-RESTful # BSD
Flask-SQLAlchemy>=2.0 # BSD Flask-SQLAlchemy # BSD
fortiosclient>=0.0.2 # Apache-2.0 fortiosclient # Apache-2.0
futures>=3.0.0;python_version=='2.7' or python_version=='2.6' # BSD futures;python_version=='2.7' or python_version=='2.6' # BSD
futurist>=1.2.0 # Apache-2.0 futurist # Apache-2.0
funcsigs>=1.0.0;python_version=='2.7' or python_version=='2.6' # Apache-2.0 funcsigs;python_version=='2.7' or python_version=='2.6' # Apache-2.0
glance-store>=0.22.0 # Apache-2.0 glance-store # Apache-2.0
google-api-python-client>=1.4.2 # Apache-2.0 google-api-python-client # Apache-2.0
graphviz>=0.4,!=0.5.0 # MIT License graphviz!=0.5.0 # MIT License
greenlet>=0.4.10 # MIT greenlet # MIT
GitPython>=1.0.1 # BSD License (3 clause) GitPython # BSD License (3 clause)
gunicorn>=19.0.0 # MIT gunicorn # MIT
happybase>=0.5,!=0.7,!=1.0.0;python_version=='2.7' # MIT happybase!=0.7,!=1.0.0;python_version=='2.7' # MIT
heat-translator>=0.4.0 # Apache-2.0 heat-translator # Apache-2.0
horizon>=13.0.0 # Apache-2.0 horizon # Apache-2.0
httplib2>=0.9.1 # MIT httplib2 # MIT
icalendar>=3.10 # BSD icalendar # BSD
influxdb>=2.9.2 # MIT influxdb # MIT
instack-undercloud>=7.0.0 # Apache-2.0 instack-undercloud # Apache-2.0
ironic-lib>=2.5.0 # Apache-2.0 ironic-lib # Apache-2.0
ipaddress>=1.0.17;python_version<'3.3' # PSF ipaddress;python_version<'3.3' # PSF
iso8601>=0.1.11 # MIT iso8601 # MIT
Jinja2>=2.10 # BSD License (3 clause) Jinja2 # BSD License (3 clause)
jmespath>=0.9.0 # MIT jmespath # MIT
jsonmodels>=2.1.3 # BSD License (3 clause) jsonmodels # BSD License (3 clause)
jsonpatch>=1.16,!=1.20 # BSD jsonpatch!=1.20 # BSD
jsonpath-rw>=1.2.0,<2.0 # Apache-2.0 jsonpath-rw<2.0 # Apache-2.0
jsonpath-rw-ext>=1.1.2 # Apache-2.0 jsonpath-rw-ext # Apache-2.0
jsonschema>=2.6.0,<3.0.0 # MIT jsonschema<3.0.0 # MIT
kazoo>=2.2 # Apache-2.0 kazoo # Apache-2.0
keystoneauth1>=3.4.0 # Apache-2.0 keystoneauth1 # Apache-2.0
keystonemiddleware>=4.17.0 # Apache-2.0 keystonemiddleware # Apache-2.0
krest>=1.3.1 # Apache-2.0 krest # Apache-2.0
kubernetes>=5.0.0 # Apache-2.0 kubernetes # Apache-2.0
kuryr-lib>=0.5.0 # Apache-2.0 kuryr-lib # Apache-2.0
packaging>=16.5 # Apache-2.0 packaging # Apache-2.0
pylev>=1.3.0 # BSD pylev # BSD
pypowervm>=1.1.13 # Apache-2.0 pypowervm # Apache-2.0
pyScss>=1.3.4,!=1.3.5 # MIT License pyScss!=1.3.5 # MIT License
django-pyscss>=2.0.2 # BSD License (2 clause) django-pyscss # BSD License (2 clause)
kombu>=4.0.0,!=4.0.2 # BSD kombu!=4.0.2 # BSD
ldap3>=1.0.2 # LGPLv3 ldap3 # LGPLv3
deprecation>=1.0 # Apache-2.0 deprecation # Apache-2.0
libvirt-python>=3.5.0,!=4.1.0 # LGPLv2+ libvirt-python!=4.1.0 # LGPLv2+
lxml>=3.4.1,!=3.7.0 # BSD lxml!=3.7.0 # BSD
Mako>=0.4.0 # MIT Mako # MIT
marathon>=0.8.6,!=0.9.1 # MIT marathon!=0.9.1 # MIT
microversion-parse>=0.2.1 # Apache-2.0 microversion-parse # Apache-2.0
mistral-lib>=0.3.0 # Apache-2.0 mistral-lib # Apache-2.0
mistral-extra>=5.2.0 # Apache-2.0 mistral-extra # Apache-2.0
monasca-common>=2.7.0 # Apache-2.0 monasca-common # Apache-2.0
monasca-statsd>=1.1.0 # Apache-2.0 monasca-statsd # Apache-2.0
monotonic>=0.6 # Apache-2.0 monotonic # Apache-2.0
msgpack>=0.4.0 # Apache-2.0 msgpack # Apache-2.0
munch>=2.1.0 # MIT munch # MIT
murano-pkg-check>=0.3.0 # Apache-2.0 murano-pkg-check # Apache-2.0
mypy>=0.560;python_version>='3.4' # MIT mypy;python_version>='3.4' # MIT
ndg-httpsclient>=0.4.2;python_version<'3.0' # BSD ndg-httpsclient;python_version<'3.0' # BSD
netaddr>=0.7.18 # BSD netaddr # BSD
netifaces>=0.10.4 # MIT netifaces # MIT
netmiko>=2.0.2 # MIT netmiko # MIT
networking-bagpipe>=8.0.0 # Apache-2.0 networking-bagpipe # Apache-2.0
networking-bgpvpn>=8.0.0 # Apache-2.0 networking-bgpvpn # Apache-2.0
networking-l2gw>=12.0.0 # Apache-2.0 networking-l2gw # Apache-2.0
networking-odl>=12.0.0 # Apache-2.0 networking-odl # Apache-2.0
networking-sfc>=6.0.0 # Apache-2.0 networking-sfc # Apache-2.0
# Pinned to 1.0 branch until projects update, see: # Pinned to 1.0 branch until projects update, see:
# https://bugs.launchpad.net/openstack-requirements/+bug/1718576 # https://bugs.launchpad.net/openstack-requirements/+bug/1718576
networkx>=1.10,<2.0 # BSD networkx<2.0 # BSD
neutron-lib>=1.13.0 # Apache-2.0 neutron-lib # Apache-2.0
neutron-dynamic-routing>=12.0.0 # Apache-2.0 neutron-dynamic-routing # Apache-2.0
neutron-fwaas>=12.0.0 # Apache-2.0 neutron-fwaas # Apache-2.0
neutron-lbaas>=12.0.0 # Apache-2.0 neutron-lbaas # Apache-2.0
neutron-vpnaas>=12.0.0 # Apache-2.0 neutron-vpnaas # Apache-2.0
neutron>=12.0.0 # Apache-2.0 neutron # Apache-2.0
notifier>=1.0.3 # Apache-2.0 notifier # Apache-2.0
oauth2client>=1.5.0,!=4.0.0 # Apache-2.0 oauth2client!=4.0.0 # Apache-2.0
oauthlib>=0.6.2 # BSD oauthlib # BSD
openstackdocstheme>=1.18.1 # Apache-2.0 openstackdocstheme # Apache-2.0
osc-lib>=1.10.0 # Apache-2.0 osc-lib # Apache-2.0
osc-placement>=1.0.0 # Apache-2.0 osc-placement # Apache-2.0
oslo.cache>=1.26.0 # Apache-2.0 oslo.cache # Apache-2.0
oslo.config>=5.2.0 # Apache-2.0 oslo.config # Apache-2.0
oslo.concurrency>=3.26.0 # Apache-2.0 oslo.concurrency # Apache-2.0
oslo.context>=2.19.2 # Apache-2.0 oslo.context # Apache-2.0
oslo.db>=4.27.0 # Apache-2.0 oslo.db # Apache-2.0
oslo.i18n>=3.15.3 # Apache-2.0 oslo.i18n # Apache-2.0
oslo.log>=3.36.0 # Apache-2.0 oslo.log # Apache-2.0
oslo.messaging>=5.29.0 # Apache-2.0 oslo.messaging # Apache-2.0
oslo.middleware>=3.31.0 # Apache-2.0 oslo.middleware # Apache-2.0
oslo.policy>=1.30.0 # Apache-2.0 oslo.policy # Apache-2.0
oslo.privsep>=1.23.0 # Apache-2.0 oslo.privsep # Apache-2.0
oslo.reports>=1.18.0 # Apache-2.0 oslo.reports # Apache-2.0
oslo.rootwrap>=5.8.0 # Apache-2.0 oslo.rootwrap # Apache-2.0
# NOTE(mriedem): oslo.serialization 2.19.1 is blocked for bug 1593641 # NOTE(mriedem): oslo.serialization 2.19.1 is blocked for bug 1593641
oslo.serialization>=2.18.0,!=2.19.1 # Apache-2.0 oslo.serialization!=2.19.1 # Apache-2.0
oslo.service>=1.24.0,!=1.28.1 # Apache-2.0 oslo.service!=1.28.1 # Apache-2.0
oslo.utils>=3.33.0 # Apache-2.0 oslo.utils # Apache-2.0
oslo.vmware>=2.17.0 # Apache-2.0 oslo.vmware # Apache-2.0
oslo.versionedobjects>=1.31.2 # Apache-2.0 oslo.versionedobjects # Apache-2.0
osprofiler>=1.4.0 # Apache-2.0 osprofiler # Apache-2.0
os-apply-config>=5.0.0 # Apache-2.0 os-apply-config # Apache-2.0
os-brick>=2.4.0 # Apache-2.0 os-brick # Apache-2.0
os-client-config>=1.28.0 # Apache-2.0 os-client-config # Apache-2.0
os-collect-config>=5.0.0 # Apache-2.0 os-collect-config # Apache-2.0
os-dpm>=1.0.0 # Apache-2.0 os-dpm # Apache-2.0
os-net-config>=7.1.0 # Apache-2.0 os-net-config # Apache-2.0
os-refresh-config>=6.0.0 # Apache-2.0 os-refresh-config # Apache-2.0
os-service-types>=1.2.0 # Apache-2.0 os-service-types # Apache-2.0
os-testr>=1.0.0 # Apache-2.0 os-testr # Apache-2.0
os-traits>=0.4.0 # Apache-2.0 os-traits # Apache-2.0
os-vif>=1.7.0,!=1.8.0 # Apache-2.0 os-vif!=1.8.0 # Apache-2.0
ovs>=2.8.0 # Apache-2.0 ovs # Apache-2.0
os-win>=3.0.0 # Apache-2.0 os-win # Apache-2.0
os-xenapi>=0.3.1 # Apache-2.0 os-xenapi # Apache-2.0
paramiko>=2.0.0 # LGPLv2.1+ paramiko # LGPLv2.1+
Parsley>=1.2 # MIT Parsley # MIT
pathlib2>=2.1.0 # MIT pathlib2 # MIT
passlib>=1.7.0 # BSD passlib # BSD
Paste>=2.0.2 # MIT Paste # MIT
PasteDeploy>=1.5.0 # MIT PasteDeploy # MIT
paunch>=1.0.0 # Apache-2.0 paunch # Apache-2.0
pbr>=2.0.0,!=2.1.0 # Apache-2.0 pbr!=2.1.0 # Apache-2.0
pecan>=1.0.0,!=1.0.2,!=1.0.3,!=1.0.4,!=1.2 # BSD pecan!=1.0.2,!=1.0.3,!=1.0.4,!=1.2 # BSD
pexpect>=3.1,!=3.3 # ISC License pexpect!=3.3 # ISC License
pifpaf>=0.10.0 # Apache-2.0 pifpaf # Apache-2.0
pika>=0.10.0 # BSD pika # BSD
pika-pool>=0.1.3 # BSD pika-pool # BSD
Pillow>=2.4.0 # PIL License Pillow # PIL License
Pint>=0.5 # BSD Pint # BSD
pip>=8.0.2 # MIT pip # MIT
PrettyTable>=0.7.1,<0.8 # BSD PrettyTable<0.8 # BSD
psutil>=3.2.2 # BSD psutil # BSD
pyasn1>=0.1.8,!=0.2.3 # BSD pyasn1!=0.2.3 # BSD
pyasn1-modules>=0.0.6 # BSD pyasn1-modules # BSD
pycadf>=1.1.0,!=2.0.0 # Apache-2.0 pycadf!=2.0.0 # Apache-2.0
pycrypto>=2.6 # Public Domain pycrypto # Public Domain
PyECLib>=1.3.1 # BSD PyECLib # BSD
pyghmi>=1.0.22 # Apache-2.0 pyghmi # Apache-2.0
pyinotify>=0.9.6;sys_platform!='win32' and sys_platform!='darwin' and sys_platform!='sunos5' # MIT pyinotify;sys_platform!='win32' and sys_platform!='darwin' and sys_platform!='sunos5' # MIT
PyJWT>=1.0.1 # MIT PyJWT # MIT
pykafka>=2.5.0 # Apache 2.0 License pykafka # Apache 2.0 License
pykmip>=0.7.0 # Apache 2.0 License pykmip # Apache 2.0 License
pyldap>=2.4.20 # PSF pyldap # PSF
pylxd>=2.2.5 # Apache-2.0 pylxd # Apache-2.0
pymemcache>=1.2.9,!=1.3.0 # Apache 2.0 License pymemcache!=1.3.0 # Apache 2.0 License
pymongo>=3.0.2,!=3.1 # Apache-2.0 pymongo!=3.1 # Apache-2.0
PyMySQL>=0.7.6 # MIT License PyMySQL # MIT License
python-etcd>=0.4.3 # MIT License python-etcd # MIT License
etcd3>=0.5.2 # Apache-2.0 etcd3 # Apache-2.0
etcd3gw>=0.2.0 # Apache-2.0 etcd3gw # Apache-2.0
typing>=3.5.2.2 # PSF typing # PSF
voluptuous>=0.8.9 # BSD License voluptuous # BSD License
pydot3>=1.0.8 # MIT License pydot3 # MIT License
pydotplus>=2.0.2 # MIT License pydotplus # MIT License
crc16>=0.1.1 # LGPLv3+ crc16 # LGPLv3+
pyzabbix>=0.7.4 # LGPL pyzabbix # LGPL
statsd>=3.2.1 # MIT statsd # MIT
weakrefmethod>=1.0.2;python_version=='2.7' # PSF weakrefmethod;python_version=='2.7' # PSF
zVMCloudConnector>=0.3.2;sys_platform!='win32' # Apache 2.0 License zVMCloudConnector;sys_platform!='win32' # Apache 2.0 License
# NOTE(flaper87): This added 2 packages to `integration.sh` # NOTE(flaper87): This added 2 packages to `integration.sh`
# uuid-dev and swig # uuid-dev and swig
pyngus>=2.2.0 # Apache-2.0 pyngus # Apache-2.0
pyOpenSSL>=17.1.0 # Apache-2.0 pyOpenSSL # Apache-2.0
pyparsing>=2.1.0 # MIT pyparsing # MIT
pyroute2>=0.4.21;sys_platform!='win32' # Apache-2.0 (+ dual licensed GPL2) pyroute2;sys_platform!='win32' # Apache-2.0 (+ dual licensed GPL2)
pysnmp>=4.2.3 # BSD pysnmp # BSD
pystache>=0.5.4 # MIT pystache # MIT
pysaml2>=4.0.2,!=4.0.3,!=4.0.4,!=4.0.5,!=4.0.5rc1,!=4.1.0,!=4.2.0,!=4.3.0,!=4.4.0 # Apache-2.0 pysaml2!=4.0.3,!=4.0.4,!=4.0.5,!=4.0.5rc1,!=4.1.0,!=4.2.0,!=4.3.0,!=4.4.0 # Apache-2.0
# OpenStack clients. None of these should have an upper bound # OpenStack clients. None of these should have an upper bound
# as that has implications for testing in the gate. # as that has implications for testing in the gate.
aodhclient>=0.9.0 # Apache-2.0 aodhclient # Apache-2.0
gnocchiclient>=3.3.1 # Apache-2.0 gnocchiclient # Apache-2.0
tricircleclient>=0.1.1 # Apache-2.0 tricircleclient # Apache-2.0
python-barbicanclient>=4.5.2 # Apache-2.0 python-barbicanclient # Apache-2.0
python-blazarclient>=1.0.0 # Apache-2.0 python-blazarclient # Apache-2.0
python-ceilometerclient>=2.5.0 # Apache-2.0 python-ceilometerclient # Apache-2.0
python-cinderclient>=3.3.0 # Apache-2.0 python-cinderclient # Apache-2.0
python-congressclient>=1.9.0,<2000 # Apache-2.0 python-congressclient<2000 # Apache-2.0
python-designateclient>=2.7.0 # Apache-2.0 python-designateclient # Apache-2.0
python-freezerclient>=1.3.0 # Apache-2.0 python-freezerclient # Apache-2.0
python-heatclient>=1.10.0 # Apache-2.0 python-heatclient # Apache-2.0
python-hnvclient>=0.1.0 # Apache-2.0 python-hnvclient # Apache-2.0
python-glanceclient>=2.8.0 # Apache-2.0 python-glanceclient # Apache-2.0
python-glareclient>=0.3.0 # Apache-2.0 python-glareclient # Apache-2.0
python-ironic-inspector-client>=1.5.0 # Apache-2.0 python-ironic-inspector-client # Apache-2.0
python-ironicclient>=2.3.0 # Apache-2.0 python-ironicclient # Apache-2.0
python-karborclient>=0.6.0 # Apache-2.0 python-karborclient # Apache-2.0
python-keystoneclient>=3.8.0 # Apache-2.0 python-keystoneclient # Apache-2.0
python-kingbirdclient>=0.1.0 # Apache-2.0 python-kingbirdclient # Apache-2.0
python-magnumclient>=2.1.0 # Apache-2.0 python-magnumclient # Apache-2.0
python-masakariclient>=3.0.1 # Apache-2.0 python-masakariclient # Apache-2.0
python-manilaclient>=1.16.0 # Apache-2.0 python-manilaclient # Apache-2.0
python-mistralclient>=3.1.0,!=3.2.0 # Apache-2.0 python-mistralclient!=3.2.0 # Apache-2.0
python-muranoclient>=0.8.2 # Apache-2.0 python-muranoclient # Apache-2.0
python-monascaclient>=1.7.0 # Apache-2.0 python-monascaclient # Apache-2.0
python-neutronclient>=6.7.0 # Apache-2.0 python-neutronclient # Apache-2.0
python-novaclient>=9.1.0 # Apache-2.0 python-novaclient # Apache-2.0
python-octaviaclient>=1.3.0 # Apache-2.0 python-octaviaclient # Apache-2.0
python-openstackclient>=3.12.0 # Apache-2.0 python-openstackclient # Apache-2.0
python-rsdclient>=0.1.0 # Apache-2.0 python-rsdclient # Apache-2.0
python-saharaclient>=1.4.0 # Apache-2.0 python-saharaclient # Apache-2.0
python-searchlightclient>=1.0.0 #Apache-2.0 python-searchlightclient #Apache-2.0
python-senlinclient>=1.1.0 # Apache-2.0 python-senlinclient # Apache-2.0
python-smaugclient>=0.0.5 # Apache-2.0 python-smaugclient # Apache-2.0
python-solumclient>=1.2.7 # Apache-2.0 python-solumclient # Apache-2.0
python-swiftclient>=3.2.0 # Apache-2.0 python-swiftclient # Apache-2.0
python-tackerclient>=0.8.0 # Apache-2.0 python-tackerclient # Apache-2.0
python-troveclient>=2.2.0 # Apache-2.0 python-troveclient # Apache-2.0
python-vitrageclient>=2.0.0 # Apache-2.0 python-vitrageclient # Apache-2.0
python-watcherclient>=1.1.0 # Apache-2.0 python-watcherclient # Apache-2.0
python-zaqarclient>=1.0.0 # Apache-2.0 python-zaqarclient # Apache-2.0
python-zunclient>=1.3.0 # Apache-2.0 python-zunclient # Apache-2.0
python-magic>=0.4.13 # MIT python-magic # MIT
python-memcached>=1.56 # PSF python-memcached # PSF
python-dateutil>=2.5.3 # BSD python-dateutil # BSD
# 2013.6 is the first version of pytz that is PEP 440 compatible. # 2013.6 is the first version of pytz that is PEP 440 compatible.
pytz>=2013.6 # MIT pytz # MIT
pyudev>=0.16.1 # LGPLv2.1+ pyudev # LGPLv2.1+
PyYAML>=3.12 # MIT PyYAML # MIT
qpid-python>=0.26;python_version=='2.7' # Apache-2.0 qpid-python;python_version=='2.7' # Apache-2.0
raven>=6.0.0 # BSD raven # BSD
reno>=2.5.0 # Apache-2.0 reno # Apache-2.0
requests>=2.14.2 # Apache-2.0 requests # Apache-2.0
requests-aws>=0.1.4 # BSD License (3 clause) requests-aws # BSD License (3 clause)
requests-kerberos>=0.6 # ISC requests-kerberos # ISC
requestsexceptions>=1.2.0 # Apache-2.0 requestsexceptions # Apache-2.0
rfc3986>=0.3.1 # Apache-2.0 rfc3986 # Apache-2.0
Routes>=2.3.1 # MIT Routes # MIT
rtslib-fb>=2.1.43,!=2.1.60,!=2.1.61,!=2.1.64 # Apache-2.0 rtslib-fb!=2.1.60,!=2.1.61,!=2.1.64 # Apache-2.0
ryu>=4.24 # Apache-2.0 ryu # Apache-2.0
semantic-version>=2.3.1 # BSD semantic-version # BSD
fasteners>=0.7.0 # Apache-2.0 fasteners # Apache-2.0
scrypt>=0.8.0 # BSD scrypt # BSD
simplejson>=3.5.1 # MIT simplejson # MIT
six>=1.10.0 # MIT six # MIT
scipy>=0.17.1 # BSD scipy # BSD
scikit-learn>=0.17.1 # BSD scikit-learn # BSD
# NOTE(yamahata): # NOTE(yamahata):
# bug work around of sqlalchemy # bug work around of sqlalchemy
# https://bitbucket.org/zzzeek/sqlalchemy/issues/3952/ # https://bitbucket.org/zzzeek/sqlalchemy/issues/3952/
# The fix which is in git master branch is planned for 1.1.9 # The fix which is in git master branch is planned for 1.1.9
SQLAlchemy>=1.0.10,!=1.1.5,!=1.1.6,!=1.1.7,!=1.1.8 # MIT SQLAlchemy!=1.1.5,!=1.1.6,!=1.1.7,!=1.1.8 # MIT
SQLAlchemy-Utils>=0.30.11 # BSD License SQLAlchemy-Utils # BSD License
sqlalchemy-migrate>=0.11.0 # Apache-2.0 sqlalchemy-migrate # Apache-2.0
sqlparse>=0.2.2 # BSD sqlparse # BSD
stevedore>=1.20.0 # Apache-2.0 stevedore # Apache-2.0
systemd-python>=234 # LGPLv2+ systemd-python # LGPLv2+
sysv-ipc>=0.6.8 # BSD License sysv-ipc # BSD License
suds-jurko>=0.6 # LGPLv3+ suds-jurko # LGPLv3+
sympy>=0.7.6 # BSD sympy # BSD
taskflow>=2.16.0 # Apache-2.0 taskflow # Apache-2.0
tempest>=17.1.0 # Apache-2.0 tempest # Apache-2.0
tooz>=1.58.0 # Apache-2.0 tooz # Apache-2.0
tosca-parser>=0.8.1 # Apache-2.0 tosca-parser # Apache-2.0
tripleo-common>=7.1.0 # Apache-2.0 tripleo-common # Apache-2.0
urllib3>=1.21.1 # MIT urllib3 # MIT
unicodecsv>=0.8.0;python_version<'3.0' # BSD unicodecsv;python_version<'3.0' # BSD
warlock>=1.2.0,<2 # Apache-2.0 warlock<2 # Apache-2.0
WebOb>=1.7.1 # MIT WebOb # MIT
websocket-client>=0.44.0 # LGPLv2+ websocket-client # LGPLv2+
websockify>=0.8.0 # LGPLv3 websockify # LGPLv3
wheel>=0.24.0 # MIT wheel # MIT
PyMI>=1.0.0;sys_platform=='win32' # Apache 2.0 License PyMI;sys_platform=='win32' # Apache 2.0 License
wmi>=0.5;sys_platform=='win32' # MIT wmi;sys_platform=='win32' # MIT
WSME>=0.8.0 # MIT WSME # MIT
xattr>=0.9.2 # MIT xattr # MIT
XenAPI>=1.2 # LGPL XenAPI # LGPL
XStatic>=1.0.0 # MIT License XStatic # MIT License
XStatic-Angular>=1.5.8.0 # MIT License XStatic-Angular # MIT License
XStatic-Angular-Bootstrap>=2.2.0.0 # MIT License XStatic-Angular-Bootstrap # MIT License
XStatic-Angular-Gettext>=2.3.8.0 # MIT License XStatic-Angular-Gettext # MIT License
XStatic-Angular-lrdragndrop>=1.0.2.2 # MIT License XStatic-Angular-lrdragndrop # MIT License
XStatic-Angular-Schema-Form>=0.8.13.0 # MIT XStatic-Angular-Schema-Form # MIT
XStatic-angular-ui-router>=0.3.1.2 # MIT XStatic-angular-ui-router # MIT
XStatic-Bootstrap-Datepicker>=1.3.1.0 # Apache 2.0 License XStatic-Bootstrap-Datepicker # Apache 2.0 License
XStatic-Bootstrap-SCSS>=3.3.7.1 # Apache 2.0 License XStatic-Bootstrap-SCSS # Apache 2.0 License
XStatic-bootswatch>=3.3.7.0 # MIT License XStatic-bootswatch # MIT License
XStatic-D3>=3.5.17.0 # BSD License (3 clause) XStatic-D3 # BSD License (3 clause)
XStatic-Font-Awesome>=4.7.0.0 # SIL OFL 1.1 License, MIT License XStatic-Font-Awesome # SIL OFL 1.1 License, MIT License
XStatic-Hogan>=2.0.0.2 # Apache 2.0 License XStatic-Hogan # Apache 2.0 License
XStatic-Jasmine>=2.4.1.1 # MIT License XStatic-Jasmine # MIT License
XStatic-jQuery>=1.8.2.1 # MIT License XStatic-jQuery # MIT License
XStatic-JQuery-Migrate>=1.2.1.1 # MIT License XStatic-JQuery-Migrate # MIT License
XStatic-JQuery.quicksearch>=2.0.3.1 # MIT License XStatic-JQuery.quicksearch # MIT License
XStatic-JQuery.TableSorter>=2.14.5.1 # MIT License XStatic-JQuery.TableSorter # MIT License
XStatic-jquery-ui>=1.10.4.1 # MIT License XStatic-jquery-ui # MIT License
XStatic-JSEncrypt>=2.3.1.1 # MIT License XStatic-JSEncrypt # MIT License
XStatic-mdi>=1.4.57.0 # SIL OPEN FONT LICENSE Version 1.1 XStatic-mdi # SIL OPEN FONT LICENSE Version 1.1
XStatic-objectpath>=1.2.1.0 # MIT XStatic-objectpath # MIT
XStatic-Rickshaw>=1.5.0.0 # BSD License (prior) XStatic-Rickshaw # BSD License (prior)
XStatic-roboto-fontface>=0.5.0.0 # Apache 2.0 License XStatic-roboto-fontface # Apache 2.0 License
XStatic-smart-table>=1.4.13.2 # MIT License XStatic-smart-table # MIT License
XStatic-Spin>=1.2.5.2 # MIT License XStatic-Spin # MIT License
XStatic-term.js>=0.0.7.0 # MIT License XStatic-term.js # MIT License
XStatic-tv4>=1.2.7.0 # MIT XStatic-tv4 # MIT
XStatic-Angular-FileUpload>=12.0.4.0 # MIT License XStatic-Angular-FileUpload # MIT License
yaql>=1.1.3 # Apache 2.0 License yaql # Apache 2.0 License
zhmcclient>=0.9.0 # Apache 2.0 License zhmcclient # Apache 2.0 License
# Testing tools below, which are typically in test-requires.txt # Testing tools below, which are typically in test-requires.txt
bashate>=0.5.1 # Apache-2.0 bashate # Apache-2.0
couchdb>=0.8 # Apache-2.0 couchdb # Apache-2.0
coverage>=4.0,!=4.4 # Apache-2.0 coverage!=4.4 # Apache-2.0
demjson>=2.2.2 # GLGPLv3+ demjson # GLGPLv3+
docker>=2.4.2 # Apache-2.0 docker # Apache-2.0
django-nose>=1.4.4 # BSD django-nose # BSD
doc8>=0.6.0 # Apache-2.0 doc8 # Apache-2.0
fixtures>=3.0.0 # Apache-2.0/BSD fixtures # Apache-2.0/BSD
freezegun>=0.3.6 # Apache-2.0 freezegun # Apache-2.0
gabbi>=1.35.0 # Apache-2.0 gabbi # Apache-2.0
kafka-python>=1.3.1 # Apache-2.0 kafka-python # Apache-2.0
keyring>=5.5.1 # MIT/PSF keyring # MIT/PSF
ldappool>=2.0.0 # MPL ldappool # MPL
# Do not make mock conditional on Python version: we depend on newer code than # Do not make mock conditional on Python version: we depend on newer code than
# in [most] releases of the Python std library. # in [most] releases of the Python std library.
mock>=2.0.0 # BSD mock # BSD
mox>=0.5.3 # Apache-2.0 mox # Apache-2.0
mox3>=0.20.0 # Apache-2.0 mox3 # Apache-2.0
nodeenv>=0.9.4 # BSD nodeenv # BSD
nose>=1.3.7 # LGPL nose # LGPL
nose-exclude>=0.3.0 # LGPL nose-exclude # LGPL
nosehtmloutput>=0.0.3 # Apache-2.0 nosehtmloutput # Apache-2.0
nosexcover>=1.0.10 # BSD nosexcover # BSD
openstack-doc-tools>=1.5.0 # Apache-2.0 openstack-doc-tools # Apache-2.0
openstack.nose-plugin>=0.7 # Apache-2.0 openstack.nose-plugin # Apache-2.0
openstacksdk>=0.11.2 # Apache-2.0 openstacksdk # Apache-2.0
os-api-ref>=1.4.0 # Apache-2.0 os-api-ref # Apache-2.0
oslosphinx>=4.7.0 # Apache-2.0 oslosphinx # Apache-2.0
oslotest>=3.2.0 # Apache-2.0 oslotest # Apache-2.0
ovsdbapp>=0.10.0 # Apache-2.0 ovsdbapp # Apache-2.0
proboscis>=1.2.5.3 # Apache-2.0 proboscis # Apache-2.0
psycopg2>=2.6.2 # LGPL/ZPL psycopg2 # LGPL/ZPL
pysendfile>=2.0.0 # MIT pysendfile # MIT
python-consul>=0.4.7 # MIT License python-consul # MIT License
python-subunit>=1.0.0 # Apache-2.0/BSD python-subunit # Apache-2.0/BSD
python-pytun>=2.2.1 # MIT python-pytun # MIT
pyzmq>=14.3.1 # LGPL+BSD pyzmq # LGPL+BSD
redis>=2.10.0 # MIT redis # MIT
hiredis>=0.2.0 # BSD hiredis # BSD
requests-mock>=1.2.0 # Apache-2.0 requests-mock # Apache-2.0
tenacity>=4.4.0 # Apache-2.0 tenacity # Apache-2.0
retrying>=1.2.3,!=1.3.0 # Apache-2.0 retrying!=1.3.0 # Apache-2.0
spec-cleaner>=0.8.2,!=0.9.3 # BSD spec-cleaner!=0.9.3 # BSD
selenium>=2.50.1 # Apache-2.0 selenium # Apache-2.0
# While setuptools cannot deal with pre-installed incompatible versions, # While setuptools cannot deal with pre-installed incompatible versions,
# setting a lower bound is not harmful - it makes error messages cleaner. DO # setting a lower bound is not harmful - it makes error messages cleaner. DO
# NOT set an upper bound on setuptools, as that will lead to uninstallable # NOT set an upper bound on setuptools, as that will lead to uninstallable
# situations as progressive releases of projects are done. # situations as progressive releases of projects are done.
# Blacklist setuptools 34.0.0-34.3.2 due to https://github.com/pypa/setuptools/issues/951 # Blacklist setuptools 34.0.0-34.3.2 due to https://github.com/pypa/setuptools/issues/951
# Blacklist setuptools 36.2.0 due to https://github.com/pypa/setuptools/issues/1086 # Blacklist setuptools 36.2.0 due to https://github.com/pypa/setuptools/issues/1086
setuptools>=21.0.0,!=24.0.0,!=34.0.0,!=34.0.1,!=34.0.2,!=34.0.3,!=34.1.0,!=34.1.1,!=34.2.0,!=34.3.0,!=34.3.1,!=34.3.2,!=36.2.0 # PSF/ZPL setuptools!=24.0.0,!=34.0.0,!=34.0.1,!=34.0.2,!=34.0.3,!=34.1.0,!=34.1.1,!=34.2.0,!=34.3.0,!=34.3.1,!=34.3.2,!=36.2.0 # PSF/ZPL
sphinx>=1.6.2,!=1.6.6,!=1.6.7 # BSD sphinx!=1.6.6,!=1.6.7 # BSD
sphinx-testing>=0.7.2 # BSD License sphinx-testing # BSD License
sphinxcontrib-actdiag>=0.8.5 # BSD sphinxcontrib-actdiag # BSD
sphinxcontrib-apidoc>=0.2.0 # BSD sphinxcontrib-apidoc # BSD
sphinxcontrib-blockdiag>=1.5.4 # BSD sphinxcontrib-blockdiag # BSD
sphinxcontrib-httpdomain>=1.3.0 # BSD sphinxcontrib-httpdomain # BSD
sphinxcontrib-nwdiag>=0.9.5 # BSD sphinxcontrib-nwdiag # BSD
sphinxcontrib-seqdiag>=0.8.4 # BSD sphinxcontrib-seqdiag # BSD
sphinxcontrib-pecanwsme>=0.8.0 # Apache-2.0 sphinxcontrib-pecanwsme # Apache-2.0
sphinxcontrib-fulltoc>=1.2.0 # Apache-2.0 sphinxcontrib-fulltoc # Apache-2.0
sphinx-feature-classification>=0.1.0 # Apache-2.0 sphinx-feature-classification # Apache-2.0
sphinxmark>=0.1.14 # Apache-2.0 sphinxmark # Apache-2.0
sphinxcontrib.datatemplates>=0.1.0 # BSD License sphinxcontrib.datatemplates # BSD License
stestr>=1.0.0 # Apache-2.0 stestr # Apache-2.0
sushy>=0.1.0 # Apache-2.0 sushy # Apache-2.0
testrepository>=0.0.18 # Apache-2.0/BSD testrepository # Apache-2.0/BSD
testresources>=2.0.0 # Apache-2.0/BSD testresources # Apache-2.0/BSD
testscenarios>=0.4 # Apache-2.0/BSD testscenarios # Apache-2.0/BSD
testtools>=2.2.0 # MIT testtools # MIT
trollius>=2.1;python_version=='2.7' # Apache-2.0 trollius;python_version=='2.7' # Apache-2.0
ujson>=1.35 # BSD ujson # BSD
unittest2>=1.1.0 # BSD unittest2 # BSD
virtualbmc>=1.0.0 # Apache-2.0 virtualbmc # Apache-2.0
virtualenv>=14.0.6 # MIT virtualenv # MIT
vmware-nsxlib>=12.0.0 # Apache-2.0 vmware-nsxlib # Apache-2.0
wrapt>=1.7.0 # BSD License wrapt # BSD License
WebTest>=2.0.27 # MIT WebTest # MIT
Werkzeug>=0.9 # BSD License Werkzeug # BSD License
whereto>=0.3.0 # Apache-2.0 whereto # Apache-2.0
xmltodict>=0.10.1 # MIT xmltodict # MIT
wsgi-intercept>=1.4.1 # MIT License wsgi-intercept # MIT License
xvfbwrapper>=0.1.3 #license: MIT xvfbwrapper #license: MIT
zake>=0.1.6 # Apache-2.0 zake # Apache-2.0
zuul-sphinx>=0.1.2 # Apache-2.0 zuul-sphinx # Apache-2.0
shade>=1.17.0 # Apache-2.0 shade # Apache-2.0
sadisplay>=0.4.8 # BSD sadisplay # BSD
# Indirect dependencies that need blocking # Indirect dependencies that need blocking
daiquiri>=1.2.1 daiquiri
# NOTE(dhellmann): We need to include this package for testing the # NOTE(dhellmann): We need to include this package for testing the
# release jobs that propose constraint updates, even though it is not # release jobs that propose constraint updates, even though it is not
# a real requirement of any of our software. # a real requirement of any of our software.
openstack-release-test>=0.8.0 openstack-release-test
# NOTE(snapiri): This is required for Dragonflow topology visualization # NOTE(snapiri): This is required for Dragonflow topology visualization
skydive-client>=0.4.2 # Apache-2.0 skydive-client # Apache-2.0

View File

@ -215,18 +215,6 @@ def check_reqs_bounds_policy(global_reqs):
for spec in _specifiers: for spec in _specifiers:
if spec.operator == '>=': if spec.operator == '>=':
lower_bound.add(spec) lower_bound.add(spec)
if len(lower_bound) < 1: if len(lower_bound):
yield ('Requirement %s needs a >= specifier' % req.package) yield ('Requirement %s should not include a >= specifier' %
elif len(lower_bound) > 1:
yield ('Requirement %s has multiple >= specifier' %
req.package) req.package)
else:
lower_bound = lower_bound.pop()
for spec in _specifiers:
if spec.operator == '!=':
if not lower_bound.contains(spec.version,
prereleases=True):
yield('Requirement %s has a !=%s specifier '
'that is not >=%s' % (req.package,
spec.version,
lower_bound.version))

View File

@ -200,8 +200,8 @@ class TestReqPolicy(testtools.TestCase):
def test_requirements_policy_pass(self): def test_requirements_policy_pass(self):
content = textwrap.dedent("""\ content = textwrap.dedent("""\
cffi>=1.1.1,!=1.1.2 cffi!=1.1.2
other>=1.1.1 other
""") """)
reqs = requirement.parse(content) reqs = requirement.parse(content)
policy_check = [x for x in requirement.check_reqs_bounds_policy(reqs)] policy_check = [x for x in requirement.check_reqs_bounds_policy(reqs)]
@ -211,11 +211,9 @@ class TestReqPolicy(testtools.TestCase):
content = textwrap.dedent("""\ content = textwrap.dedent("""\
cffi>=1.1.1,!=1.1.0 cffi>=1.1.1,!=1.1.0
other>=1,>=2,!=1.1.0 other>=1,>=2,!=1.1.0
no_lower_bound
""") """)
reqs = requirement.parse(content) reqs = requirement.parse(content)
self.assertEqual([ self.assertEqual([
'Requirement cffi has a !=1.1.0 specifier that is not >=1.1.1', 'Requirement cffi should not include a >= specifier',
'Requirement no-lower-bound needs a >= specifier', 'Requirement other should not include a >= specifier'],
'Requirement other has multiple >= specifier'],
sorted([x for x in requirement.check_reqs_bounds_policy(reqs)])) sorted([x for x in requirement.check_reqs_bounds_policy(reqs)]))