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