diff --git a/.zuul.d/cross-jobs.yaml b/.zuul.d/cross-jobs.yaml index 7ccd3520dc..977c1a3907 100644 --- a/.zuul.d/cross-jobs.yaml +++ b/.zuul.d/cross-jobs.yaml @@ -108,15 +108,6 @@ vars: tox_envlist: py36 -- job: - name: cross-nova-py37 - parent: requirements-cross-test - description: Run cross-project tests on nova with py37. - required-projects: openstack/nova - vars: - tox_envlist: py37 - python_version: 3.7 - - job: name: cross-octavia-py36 parent: requirements-cross-test @@ -125,15 +116,6 @@ vars: tox_envlist: py36 -- job: - name: cross-octavia-py37 - parent: requirements-cross-test - description: Run cross-project tests on octavia with py37. - required-projects: openstack/octavia - vars: - tox_envlist: py37 - python_version: 3.7 - - job: name: cross-swift-py27 parent: requirements-cross-test diff --git a/.zuul.d/jobs.yaml b/.zuul.d/jobs.yaml index 6a78b38c29..04c1a82db2 100644 --- a/.zuul.d/jobs.yaml +++ b/.zuul.d/jobs.yaml @@ -22,6 +22,16 @@ files: ^upper-constraints.*txt$ vars: tox_envlist: py36-check-uc +- job: + name: requirements-tox-py38-check-uc + parent: openstack-tox-py38 + description: | + Run test for requirements project. + + Uses tox with the ``py38-check-uc`` environment. + files: ^upper-constraints.*txt$ + vars: + tox_envlist: py38-check-uc - job: name: requirements-tox-validate-projects parent: openstack-tox diff --git a/.zuul.d/project.yaml b/.zuul.d/project.yaml index ef8ef61016..529c77a020 100644 --- a/.zuul.d/project.yaml +++ b/.zuul.d/project.yaml @@ -17,6 +17,7 @@ - requirements-tox-bindep: voting: false - requirements-tox-py36-check-uc + - requirements-tox-py38-check-uc - requirements-tox-validate-projects: voting: false - cross-cinder-py36 @@ -26,12 +27,9 @@ - cross-keystone-py36 - cross-neutron-py36 - cross-nova-py36 - - cross-nova-py37 - cross-nova-functional - cross-octavia-py36 - - cross-octavia-py37 - cross-osc-tox-docs - - cross-swift-py27 - cross-swift-py36 - openstack-tox-py36 - openstacksdk-functional-devstack @@ -61,6 +59,7 @@ - openstack-tox-validate - requirements-tox-babel - requirements-tox-py36-check-uc + - requirements-tox-py38-check-uc - cross-cinder-py36 - cross-glance-py36 - cross-horizon-py36 @@ -69,11 +68,8 @@ - cross-neutron-py36 - cross-nova-py36: files: ^upper-constraints.txt$ - - cross-nova-py37: - files: ^upper-constraints.txt$ - cross-nova-functional - cross-octavia-py36 - - cross-octavia-py37 - cross-osc-tox-docs - cross-swift-py27 - cross-swift-py36 diff --git a/global-requirements.txt b/global-requirements.txt index e646a5f24e..e5739a6bdf 100644 --- a/global-requirements.txt +++ b/global-requirements.txt @@ -22,30 +22,25 @@ castellan # Apache-2.0 ceilometermiddleware # Apache-2.0 cachetools # MIT License cffi # MIT -cliff!=2.9.0,!=2.17.0,<3.0.0;python_version=='2.7' # Apache-2.0 -cliff!=2.9.0,!=2.17.0;python_version>='3.6' # Apache-2.0 +cliff!=2.9.0,!=2.17.0 # Apache-2.0 # NOTE(mordred) python-openstackclient is broken due to bug 1810213 cmd2!=0.8.3,<0.9.0 # MIT confluent-kafka!=1.4.0 # Apache-2.0 cotyledon # Apache-2.0 -construct<2.10.55;python_version=='2.7' # MIT -construct;python_version>='3.6' # MIT +construct # MIT PuLP # MIT -contextlib2;python_version<'3.0' # PSF License croniter # MIT License cryptography!=2.0 # BSD/Apache-2.0 cursive # Apache-2.0 dataclasses;python_version=='3.6' # Apache-2.0 ddt # MIT -debtcollector<2.0.0;python_version<'3.0' # Apache-2.0 -debtcollector;python_version>='3.0' # Apache-2.0 +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 distro # Apache-2.0 -Django<2;python_version<'3.0' # BSD -Django<3.0;python_version>='3.0' # BSD +Django<3.0 # BSD django-compressor # MIT django-debreach # BSD django-formtools # BSD @@ -59,8 +54,7 @@ dogtag-pki # LGPLv3+ dulwich!=0.19.3,!=0.19.7 # Apache-2.0 edgegrid-python # Apache-2.0 elasticsearch<3.0.0 # Apache-2.0 -enmerkar;python_version>='3.0' # BSD -enum34;python_version=='2.7' or python_version=='2.6' or python_version=='3.3' # BSD +enmerkar # BSD # NOTE: New versions of eventlet should not be accepted lightly # as they have earned a reputation of frequently breaking things. eventlet!=0.18.3,!=0.20.1,!=0.21.0,!=0.23.0,!=0.25.0 # MIT @@ -69,19 +63,13 @@ extras # MIT falcon # Apache-2.0 Flask!=0.11 # BSD Flask-RESTful # BSD -futures!=0.17.0;python_version=='2.7' or python_version=='2.6' # PSF -futurist<2.0.0;python_version=='2.7' # Apache-2.0 -futurist;python_version>='3.6' # Apache-2.0 -funcsigs;python_version=='2.7' or python_version=='2.6' # Apache-2.0 +futurist # Apache-2.0 glance-store!=0.29.0 # Apache-2.0 google-api-python-client # Apache-2.0 graphviz!=0.5.0 # MIT License greenlet!=0.4.14 # MIT -GitPython<2.1.12;python_version<'3.0' # BSD License (3 clause) -GitPython;python_version>='3.0' # BSD License (3 clause) -gunicorn<20.0.0;python_version<'3.0' # MIT -gunicorn;python_version>='3.0' # MIT -happybase!=0.7,!=1.0.0;python_version=='2.7' # MIT +GitPython # BSD License (3 clause) +gunicorn # MIT heat-translator # Apache-2.0 horizon # Apache-2.0 httplib2 # MIT @@ -89,10 +77,8 @@ hvac # Apache-2.0 icalendar # BSD importlib-metadata # Apache-2.0 infinisdk # BSD-3 -influxdb!=5.2.0,!=5.2.1,!=5.2.2,!=5.2.3;python_version<'3.0' # MIT -influxdb!=5.3.0;python_version>='3.0' # MIT +influxdb!=5.3.0 # MIT ironic-lib # Apache-2.0 -ipaddress;python_version<'3.3' # PSF iso8601 # MIT jira # BSD License (2 clause) Jinja2 # BSD License (3 clause) @@ -115,8 +101,7 @@ django-pyscss # BSD License (2 clause) kombu!=4.0.2 # BSD ldap3 # LGPLv3 deprecation # Apache-2.0 -libvirt-python!=4.1.0,!=4.2.0,<6.0.0;python_version<'3.0' # LGPLv2+ -libvirt-python!=4.1.0,!=4.2.0;python_version>='3.0' # LGPLv2+ +libvirt-python!=4.1.0,!=4.2.0 # LGPLv2+ lxml!=3.7.0 # BSD Mako # MIT marathon!=0.9.1 # MIT @@ -125,12 +110,10 @@ microversion-parse # Apache-2.0 mistral-lib # Apache-2.0 monasca-common # Apache-2.0 monasca-statsd # Apache-2.0 -monotonic;python_version<'3.3' # 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 +mypy # MIT netaddr # BSD netifaces!=0.10.0,!=0.10.1 # MIT netmiko # MIT @@ -140,11 +123,9 @@ networking-l2gw # Apache-2.0 networking-odl # Apache-2.0 networking-sfc # Apache-2.0 # NOTE(fdegir): NetworkX 2.3 dropped support for Python 2 -networkx<2.3;python_version<'3.0' # BSD -networkx;python_version>='3.4' # BSD +networkx # BSD # NOTE(ralonsoh): neutron-lib 2.0.0 dropped support for Python 2 -neutron-lib<2.0.0;python_version=='2.7' # Apache-2.0 -neutron-lib;python_version>='3.6' # Apache-2.0 +neutron-lib # Apache-2.0 neutron-dynamic-routing # Apache-2.0 neutron-fwaas # Apache-2.0 neutron # Apache-2.0 @@ -155,42 +136,28 @@ octavia-lib # Apache-2.0 openstackdocstheme!=2.1.0 # Apache-2.0 osc-lib # Apache-2.0 osc-placement # Apache-2.0 -oslo.cache!=1.31.1,<2.0.0;python_version<'3.0' # Apache-2.0 -oslo.cache!=1.31.1,!=2.1.0;python_version>='3.0' # Apache-2.0 -oslo.config!=4.3.0,!=4.4.0,<8.0.0;python_version<'3.0' # Apache-2.0 -oslo.config!=4.3.0,!=4.4.0;python_version>='3.0' # Apache-2.0 -oslo.concurrency<4.0.0;python_version<'3.0' # Apache-2.0 -oslo.concurrency;python_version>='3.0' # Apache-2.0 -oslo.context<3.0.0;python_version<'3.0' # Apache-2.0 -oslo.context;python_version>='3.0' # Apache-2.0 +oslo.cache!=1.31.1,!=2.1.0 # Apache-2.0 +oslo.config!=4.3.0,!=4.4.0 # Apache-2.0 +oslo.concurrency # Apache-2.0 +oslo.context # Apache-2.0 oslo.db # Apache-2.0 -oslo.i18n<4.0.0;python_version=='2.7' # Apache-2.0 -oslo.i18n;python_version>='3.6' # Apache-2.0 -oslo.limit<1.0.0;python_version=='2.7' # Apache-2.0 -oslo.limit;python_version>='3.0' # Apache-2.0 -oslo.log<4.0.0;python_version<'3.0' # Apache-2.0 -oslo.log;python_version>='3.0' # Apache-2.0 +oslo.i18n # Apache-2.0 +oslo.limit # Apache-2.0 +oslo.log # Apache-2.0 oslo.messaging!=9.0.0 # Apache-2.0 oslo.middleware # Apache-2.0 -oslo.policy<3.0.0;python_version=='2.7' # Apache-2.0 -oslo.policy!=3.0.0;python_version>='3.6' # Apache-2.0 -oslo.privsep<2.0.0;python_version=='2.7' # Apache-2.0 -oslo.privsep;python_version>='3.6' # Apache-2.0 -oslo.reports<2.0.0;python_version<'3.0' # Apache-2.0 -oslo.reports;python_version>='3.6' # Apache-2.0 +oslo.policy!=3.0.0 # 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.19.1,<3.0.0;python_version<'3.0' # Apache-2.0 -oslo.serialization!=2.19.1;python_version>='3.0' # Apache-2.0 +oslo.serialization!=2.19.1 # Apache-2.0 oslo.service!=1.28.1 # Apache-2.0 -oslo.upgradecheck<0.4.0;python_version=='2.7' # Apache-2.0 -oslo.upgradecheck;python_version>='3.6' # Apache-2.0 +oslo.upgradecheck # Apache-2.0 # NOTE(lajoskatona): oslo.utils version between 3.39.1 and 3.40.1 excluded due to bug 1812922 -oslo.utils!=3.39.1,!=3.40.0,!=3.40.1,<4.0.0;python_version<'3.0' # Apache-2.0 -oslo.utils!=3.39.1,!=3.40.0,!=3.40.1;python_version>='3.0' # Apache-2.0 +oslo.utils!=3.39.1,!=3.40.0,!=3.40.1 # Apache-2.0 oslo.vmware # Apache-2.0 -oslo.versionedobjects<2.0.0;python_version=='2.7' # Apache-2.0 -oslo.versionedobjects;python_version>='3.6' # Apache-2.0 +oslo.versionedobjects # Apache-2.0 osprofiler # Apache-2.0 os-apply-config # Apache-2.0 os-brick!=2.8.0 # Apache-2.0 @@ -200,16 +167,12 @@ os-net-config # Apache-2.0 os-refresh-config # Apache-2.0 os-resource-classes # Apache-2.0 os-service-types # Apache-2.0 -os-testr<2.0.0;python_version=='2.7' # Apache-2.0 -os-testr;python_version>='3.6' # Apache-2.0 +os-testr # Apache-2.0 os-traits # Apache-2.0 -os-ken<1.0.0;python_version=='2.7' # Apache-2.0 -os-ken;python_version>='3.6' # Apache-2.0 -os-vif!=1.8.0,!=1.12.0,<2.0.0;python_version=='2.7' # Apache-2.0 -os-vif!=1.8.0,!=1.12.0;python_version>='3.6' # Apache-2.0 +os-ken # Apache-2.0 +os-vif!=1.8.0,!=1.12.0 # Apache-2.0 ovs # Apache-2.0 -os-win<5.0.0;python_version=='2.7' # Apache-2.0 -os-win;python_version>='3.6' # Apache-2.0 +os-win # Apache-2.0 os-xenapi # Apache-2.0 paramiko # LGPLv2.1+ pathlib2 # MIT @@ -223,8 +186,7 @@ pexpect!=3.3 # ISC License pifpaf # Apache-2.0 pika # BSD Pillow # PIL License -Pint<0.10;python_version<'3.6' # BSD -Pint;python_version>='3.6' # BSD +Pint # BSD pip # MIT prometheus-client # Apache-2.0 protobuf # BSD License (3 clause) @@ -232,8 +194,7 @@ PrettyTable<0.8 # BSD psutil # BSD pyasn1!=0.2.3 # BSD pyasn1-modules # BSD -pycadf!=2.0.0,<3.0.0;python_version=='2.7' # Apache-2.0 -pycadf!=2.0.0;python_version>='3.6' # Apache-2.0 +pycadf!=2.0.0 # Apache-2.0 PyECLib # BSD pyghmi!=1.4.0,!=1.5.11 # Apache-2.0 pyinotify;sys_platform!='win32' and sys_platform!='darwin' and sys_platform!='sunos5' # MIT @@ -249,7 +210,7 @@ pytest-django # BSD (3 clause) pytest-html #MPL-2.0 pywbem # LGPLv2.1+ pywinrm # MIT -salt!=2019.2.1,!=2019.2.2 # Apache-2.0 +salt!=2019.2.1,!=2019.2.2;python_version!='3.8' # Apache-2.0 storpool!=5.2.0,!=5.3.0 # Apache-2.0 storpool.spopenstack # Apache-2.0 dfs-sdk # Apache-2.0 @@ -263,7 +224,6 @@ pydotplus # MIT License crc16 # LGPLv3+ pyzabbix # LGPL statsd # MIT -weakrefmethod;python_version=='2.7' # PSF zVMCloudConnector;sys_platform!='win32' # Apache 2.0 License jaeger-client # Apache-2.0 @@ -280,61 +240,42 @@ 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,!=4.6. # as that has implications for testing in the gate. aodhclient # Apache-2.0 gnocchiclient # Apache-2.0 -tricircleclient<1.0.0;python_version=='2.7' # Apache-2.0 -tricircleclient;python_version>='3.6' # Apache-2.0 +tricircleclient # Apache-2.0 python-barbicanclient # Apache-2.0 -python-blazarclient<3.0.0;python_version=='2.7' # Apache-2.0 -python-blazarclient;python_version>='3.6' # Apache-2.0 +python-blazarclient # Apache-2.0 python-ceilometerclient # Apache-2.0 -python-cinderclient!=4.0.0,<6.0.0;python_version=='2.7' # Apache-2.0 -python-cinderclient!=4.0.0;python_version>='3.6' # Apache-2.0 -python-cloudkittyclient<4.0.0;python_version=='2.7' # Apache-2.0 -python-cloudkittyclient;python_version>='3.6' # Apache-2.0 -python-congressclient<2.0.0;python_version=='2.7' # Apache-2.0 -python-congressclient<2000;python_version>='3.6' # Apache-2.0 +python-cinderclient!=4.0.0 # Apache-2.0 +python-cloudkittyclient # Apache-2.0 +python-congressclient<2000 # Apache-2.0 python-designateclient # Apache-2.0 -python-freezerclient<3.0.0;python_version=='2.7' # Apache-2.0 -python-freezerclient;python_version>='3.6' # Apache-2.0 -python-heatclient<2.0.0;python_version=='2.7' # Apache-2.0 -python-heatclient;python_version>='3.6' # Apache-2.0 +python-freezerclient # Apache-2.0 +python-heatclient # Apache-2.0 python-glanceclient # Apache-2.0 python-glareclient # Apache-2.0 python-ironic-inspector-client # Apache-2.0 -python-ironicclient!=2.5.2,!=2.7.1,!=3.0.0,<4.0.0;python_version=='2.7' # Apache-2.0 -python-ironicclient!=2.5.2,!=2.7.1,!=3.0.0;python_version>='3.6' # Apache-2.0 +python-ironicclient!=2.5.2,!=2.7.1,!=3.0.0 # Apache-2.0 python-karborclient # Apache-2.0 python-keystoneclient!=2.1.0 # Apache-2.0 python-magnumclient # Apache-2.0 python-masakariclient # Apache-2.0 -python-manilaclient<2.0.0;python_version=='2.7' # Apache-2.0 -python-manilaclient;python_version>='3.6' # Apache-2.0 -python-mistralclient!=3.2.0,<4.0.0;python_version=='2.7' # Apache-2.0 -python-mistralclient!=3.2.0;python_version>='3.6' # Apache-2.0 -python-muranoclient<2.0.0;python_version=='2.7' # Apache-2.0 -python-muranoclient;python_version>='3.6' # Apache-2.0 -python-monascaclient<2.0.0;python_version=='2.7' # Apache-2.0 -python-monascaclient;python_version>='3.6' # 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-qinlingclient<5.0.0;python_version=='2.7' # Apache-2.0 -python-qinlingclient;python_version>='3.6' # Apache-2.0 +python-qinlingclient # Apache-2.0 python-rsdclient # Apache-2.0 -python-saharaclient<3.0.0;python_version=='2.7' # Apache-2.0 -python-saharaclient;python_version>='3.6' # Apache-2.0 -python-searchlightclient<2.0.0;python_version=='2.7' #Apache-2.0 -python-searchlightclient;python_version>='3.6' #Apache-2.0 -python-senlinclient<2.0.0;python_version=='2.7' # Apache-2.0 -python-senlinclient;python_version>='3.6' # Apache-2.0 -python-solumclient<3.0.0;python_version=='2.7' # Apache-2.0 -python-solumclient;python_version>='3.6' # Apache-2.0 +python-saharaclient # Apache-2.0 +python-searchlightclient #Apache-2.0 +python-senlinclient # Apache-2.0 +python-solumclient # Apache-2.0 python-swiftclient # Apache-2.0 -python-tackerclient<1.0.0;python_version=='2.7' # Apache-2.0 -python-tackerclient;python_version>='3.6' # Apache-2.0 +python-tackerclient # Apache-2.0 python-troveclient # Apache-2.0 -python-vitrageclient<4.0.0;python_version=='2.7' # Apache-2.0 -python-vitrageclient;python_version>='3.6' # Apache-2.0 +python-vitrageclient # Apache-2.0 python-watcherclient # Apache-2.0 python-zaqarclient # Apache-2.0 python-zunclient # Apache-2.0 @@ -346,9 +287,7 @@ python-dateutil # BSD pytz # MIT pyudev # LGPLv2.1+ PyYAML # MIT -qpid-python;python_version=='2.7' # Apache-2.0 -reno<3.0.0;python_version<'3.0' # Apache-2.0 -reno;python_version>='3.0' # Apache-2.0 +reno # Apache-2.0 requests!=2.20.0 # Apache-2.0 requests-aws # BSD License (3 clause) requests-kerberos # ISC @@ -364,8 +303,7 @@ scrypt # BSD simplejson # MIT six # MIT scipy # BSD -scikit-learn<=0.20.0;python_version<='3.4' # BSD -scikit-learn;python_version>='3.5' # BSD +scikit-learn # BSD setproctitle # BSD # NOTE(yamahata): # bug work around of sqlalchemy @@ -389,7 +327,6 @@ tosca-parser # Apache-2.0 tripleo-common!=11.3.0 # Apache-2.0 validations-libs # Apache-2.0 urllib3 # MIT -unicodecsv;python_version<'3.0' # BSD warlock<2 # Apache-2.0 WebOb # MIT websocket-client # LGPLv2+ @@ -441,13 +378,11 @@ XStatic-tv4 # MIT XStatic-Angular-FileUpload # MIT License yaql # Apache 2.0 License # NOTE(dtantsur): zeroconf dropped compatibility with Python 2 in version 0.20 -zeroconf<0.20;python_version=='2.7' # LGPL -zeroconf;python_version>='3.0' # LGPL +zeroconf # LGPL # Testing tools below, which are typically in test-requires.txt -bashate<1.0.0;python_version=='2.7' # Apache-2.0 -bashate;python_version>='3.6' # Apache-2.0 +bashate # Apache-2.0 couchdb # Apache-2.0 coverage!=4.4 # Apache-2.0 demjson # GLGPLv3+ @@ -459,8 +394,7 @@ fixtures # Apache-2.0/BSD freezegun # Apache-2.0 gabbi # Apache-2.0 kafka-python # Apache-2.0 -keyring<19.0.0;python_version=='2.7' # MIT/PSF -keyring;python_version>='3.4' # MIT/PSF +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. @@ -502,21 +436,15 @@ selenium # Apache-2.0 # 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!=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;python_version>='3.5' # 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,<45.0.0;python_version<='2.7' # PSF/ZPL -sphinx!=1.6.6,!=1.6.7,<2.0.0;python_version=='2.7' # BSD -sphinx!=1.6.6,!=1.6.7,!=2.1.0,!=3.0.0;python_version>='3.4' # 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,!=2.1.0,!=3.0.0 # BSD sphinx-testing # BSD License -sphinxcontrib-actdiag<2.0.0;python_version=='2.7' # BSD -sphinxcontrib-actdiag;python_version>='3.4' # BSD +sphinxcontrib-actdiag # BSD sphinxcontrib-apidoc # BSD -sphinxcontrib-blockdiag<2.0.0;python_version=='2.7' # BSD -sphinxcontrib-blockdiag;python_version>='3.4' # BSD +sphinxcontrib-blockdiag # BSD sphinxcontrib-httpdomain # BSD -sphinxcontrib-nwdiag<2.0.0;python_version=='2.7' # BSD -sphinxcontrib-nwdiag;python_version>='3.4' # BSD -sphinxcontrib-seqdiag<2.0.0;python_version=='2.7' # BSD -sphinxcontrib-seqdiag;python_version>='3.4' # BSD +sphinxcontrib-nwdiag # BSD +sphinxcontrib-seqdiag # BSD sphinxcontrib-pecanwsme # Apache-2.0 sphinx-feature-classification # Apache-2.0 sphinxmark # Apache-2.0 @@ -524,14 +452,12 @@ sphinxcontrib.datatemplates # BSD License sphinxcontrib-programoutput # BSD license sphinxcontrib-svg2pdfconverter # BSD License stestr!=2.3.0,!=3.0.0 # Apache-2.0 -sushy!=1.9.0<3.0.0;python_version=='2.7' # Apache-2.0 -sushy!=1.9.0;python_version>='3.6' # Apache-2.0 +sushy!=1.9.0 # Apache-2.0 tabulate # MIT 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 @@ -569,11 +495,8 @@ skydive-client # Apache-2.0 Yappi!=0.98,!=0.99 # MIT # NOTE(yoctozepto): To avoid repeated breakage (this is a dep of deps) -zipp<2;python_version<'3.6' # MIT -zipp;python_version>='3.6' # MIT +zipp # MIT # NOTE(prometheanfire): python3 caps, are not approved for use in OpenStack -gitdb<4.0.0;python_version=='2.7' # BSD -gitdb;python_version>='3.4' # BSD -gitdb2<3.0.0;python_version=='2.7' # BSD -gitdb2;python_version>='3.4' # BSD +gitdb # BSD +gitdb2 # BSD diff --git a/openstack_requirements/cmds/update.py b/openstack_requirements/cmds/update.py index a441172ad3..8469e7d8ff 100644 --- a/openstack_requirements/cmds/update.py +++ b/openstack_requirements/cmds/update.py @@ -54,14 +54,6 @@ _setup_py_text = """# Copyright (c) 2013 Hewlett-Packard Development Company, L. # THIS FILE IS MANAGED BY THE GLOBAL REQUIREMENTS REPO - DO NOT EDIT import setuptools -# In python < 2.7.4, a lazy loading of package `pbr` will break -# setuptools if some other modules registered functions in `atexit`. -# solution from: http://bugs.python.org/issue15881#msg170215 -try: - import multiprocessing # noqa -except ImportError: - pass - setuptools.setup( setup_requires=['pbr>=2.0.0'], pbr=True) diff --git a/setup.py b/setup.py index 566d84432e..f63cc23c52 100644 --- a/setup.py +++ b/setup.py @@ -16,14 +16,6 @@ # THIS FILE IS MANAGED BY THE GLOBAL REQUIREMENTS REPO - DO NOT EDIT import setuptools -# In python < 2.7.4, a lazy loading of package `pbr` will break -# setuptools if some other modules registered functions in `atexit`. -# solution from: http://bugs.python.org/issue15881#msg170215 -try: - import multiprocessing # noqa -except ImportError: - pass - setuptools.setup( setup_requires=['pbr>=2.0.0'], pbr=True) diff --git a/tox.ini b/tox.ini index 5d8fa5fdbf..2b82ccf7c9 100644 --- a/tox.ini +++ b/tox.ini @@ -1,7 +1,7 @@ [tox] minversion = 3.2.0 skipsdist = True -envlist = validate,py37,pep8,pip-install +envlist = validate,py36,py38,pep8,pip-install ignore_basepython_conflict=true [testenv] @@ -18,6 +18,11 @@ basepython = python3.6 deps = -r{toxinidir}/upper-constraints.txt commands = check-conflicts {toxinidir}/upper-constraints.txt {toxinidir}/upper-constraints-xfails.txt +[testenv:py38-check-uc] +basepython = python3.8 +deps = -r{toxinidir}/upper-constraints.txt +commands = check-conflicts {toxinidir}/upper-constraints.txt {toxinidir}/upper-constraints-xfails.txt + [testenv:venv] commands = {posargs} diff --git a/upper-constraints.txt b/upper-constraints.txt index 7ccbcfb6e4..a9cbf37a00 100644 --- a/upper-constraints.txt +++ b/upper-constraints.txt @@ -7,113 +7,56 @@ restructuredtext-lint===1.3.0 netmiko===3.1.0 PasteDeploy===2.1.0 typing===3.7.4.1 -python-saharaclient===2.3.0;python_version=='2.7' -python-saharaclient===3.1.0;python_version=='3.6' -python-saharaclient===3.1.0;python_version=='3.7' -python-saharaclient===3.1.0;python_version=='3.8' +python-saharaclient===3.1.0 Routes===2.4.1 rtslib-fb===2.1.72 -oslo.limit===0.3.0;python_version=='2.7' -oslo.limit===1.0.2;python_version=='3.6' -oslo.limit===1.0.2;python_version=='3.7' -oslo.limit===1.0.2;python_version=='3.8' +oslo.limit===1.0.2 smmap===3.0.4 confget===2.3.4 XStatic-Angular-Bootstrap===2.5.0.0 paunch===6.0.2 WebOb===1.8.6 -sphinxcontrib-actdiag===0.8.5;python_version=='2.7' -sphinxcontrib-actdiag===2.0.0;python_version=='3.6' -sphinxcontrib-actdiag===2.0.0;python_version=='3.7' -sphinxcontrib-actdiag===2.0.0;python_version=='3.8' +sphinxcontrib-actdiag===2.0.0 pecan===1.3.3 ryu===4.32 -os-api-ref===1.6.2;python_version=='2.7' -os-api-ref===2.0.1;python_version=='3.6' -os-api-ref===2.0.1;python_version=='3.7' -os-api-ref===2.0.1;python_version=='3.8' +os-api-ref===2.0.1 python-ldap===3.2.0 -oslo.concurrency===3.31.0;python_version=='2.7' -oslo.concurrency===4.0.2;python_version=='3.6' -oslo.concurrency===4.0.2;python_version=='3.7' -oslo.concurrency===4.0.2;python_version=='3.8' +oslo.concurrency===4.0.2 websocket-client===0.57.0 -osprofiler===2.9.0;python_version=='2.7' -osprofiler===3.1.0;python_version=='3.6' -osprofiler===3.1.0;python_version=='3.7' -osprofiler===3.1.0;python_version=='3.8' -os-resource-classes===0.5.0;python_version=='2.7' -os-resource-classes===1.0.0;python_version=='3.6' -os-resource-classes===1.0.0;python_version=='3.7' -os-resource-classes===1.0.0;python_version=='3.8' +osprofiler===3.1.0 +os-resource-classes===1.0.0 tabulate===0.8.7 -python-ironic-inspector-client===4.0.0;python_version=='2.7' -python-ironic-inspector-client===4.1.0;python_version=='3.6' -python-ironic-inspector-client===4.1.0;python_version=='3.7' -python-ironic-inspector-client===4.1.0;python_version=='3.8' +python-ironic-inspector-client===4.1.0 lxml===4.5.0 vintage===0.4.1 setproctitle===1.1.10 -pytest===4.6.10;python_version=='2.7' -pytest===5.4.2;python_version=='3.6' -pytest===5.4.2;python_version=='3.7' -pytest===5.4.2;python_version=='3.8' +pytest===5.4.2 cursive===0.2.2 -oslo.service===1.41.1;python_version=='2.7' -oslo.service===2.1.1;python_version=='3.6' -oslo.service===2.1.1;python_version=='3.7' -oslo.service===2.1.1;python_version=='3.8' +oslo.service===2.1.1 django-appconf===1.0.4 pykerberos===1.2.1 certifi===2020.4.5.1 -sphinxcontrib-nwdiag===0.9.5;python_version=='2.7' -sphinxcontrib-nwdiag===2.0.0;python_version=='3.6' -sphinxcontrib-nwdiag===2.0.0;python_version=='3.7' -sphinxcontrib-nwdiag===2.0.0;python_version=='3.8' +sphinxcontrib-nwdiag===2.0.0 requests-aws===0.1.8 alabaster===0.7.12 pbr===5.4.5 munch===2.5.0 waiting===1.4.1 attrs===19.3.0 -microversion-parse===0.2.1;python_version=='2.7' -microversion-parse===1.0.1;python_version=='3.6' -microversion-parse===1.0.1;python_version=='3.7' -microversion-parse===1.0.1;python_version=='3.8' -Pint===0.11;python_version=='3.6' -Pint===0.11;python_version=='3.7' -Pint===0.11;python_version=='3.8' -Pint===0.9;python_version=='2.7' -oslo.i18n===3.25.1;python_version=='2.7' -oslo.i18n===4.0.1;python_version=='3.6' -oslo.i18n===4.0.1;python_version=='3.7' -oslo.i18n===4.0.1;python_version=='3.8' +microversion-parse===1.0.1 +Pint===0.11 +oslo.i18n===4.0.1 jsonpath-rw-ext===1.2.2 -python-mistralclient===3.10.0;python_version=='2.7' -python-mistralclient===4.0.1;python_version=='3.6' -python-mistralclient===4.0.1;python_version=='3.7' -python-mistralclient===4.0.1;python_version=='3.8' -oslo.context===2.23.0;python_version=='2.7' -oslo.context===3.0.2;python_version=='3.6' -oslo.context===3.0.2;python_version=='3.7' -oslo.context===3.0.2;python_version=='3.8' -python-senlinclient===1.11.0;python_version=='2.7' -python-senlinclient===2.0.1;python_version=='3.6' -python-senlinclient===2.0.1;python_version=='3.7' -python-senlinclient===2.0.1;python_version=='3.8' +python-mistralclient===4.0.1 +oslo.context===3.0.2 +python-senlinclient===2.0.1 rcssmin===1.0.6 -pycadf===2.10.0;python_version=='2.7' -pycadf===3.0.0;python_version=='3.6' -pycadf===3.0.0;python_version=='3.7' -pycadf===3.0.0;python_version=='3.8' +pycadf===3.0.0 grpcio===1.28.1 skydive-client===0.7.0 pysendfile===2.0.1 fixtures===3.0.0 -neutron-lib===1.31.0;python_version=='2.7' -neutron-lib===2.3.0;python_version=='3.6' -neutron-lib===2.3.0;python_version=='3.7' -neutron-lib===2.3.0;python_version=='3.8' +neutron-lib===2.3.0 XStatic-FileSaver===1.3.2.0 storage-interfaces===1.0.3 persist-queue===0.5.0 @@ -124,46 +67,26 @@ nosehtmloutput===0.0.7 waitress===1.4.3 os-refresh-config===10.4.0 pysnmp===4.4.12 -sphinxcontrib-websupport===1.1.2;python_version=='2.7' Mako===1.1.2 pyScss===1.3.7 -thriftpy2===0.4.11;python_version=='2.7' -sphinxcontrib-htmlhelp===1.0.3;python_version=='3.6' -sphinxcontrib-htmlhelp===1.0.3;python_version=='3.7' -sphinxcontrib-htmlhelp===1.0.3;python_version=='3.8' +sphinxcontrib-htmlhelp===1.0.3 XStatic-jQuery===1.12.4.1 jsonmodels===2.4 ddt===1.3.1 XStatic-Graphlib===2.1.7.0 pyserial===3.4 -ipaddress===1.0.23;python_version=='2.7' infi.dtypes.wwn===0.1.1 -python-freezerclient===2.2.0;python_version=='2.7' -python-freezerclient===3.0.1;python_version=='3.6' -python-freezerclient===3.0.1;python_version=='3.7' -python-freezerclient===3.0.1;python_version=='3.8' +python-freezerclient===3.0.1 os-xenapi===0.3.4 -python-vitrageclient===3.0.0;python_version=='2.7' -python-vitrageclient===4.0.1;python_version=='3.6' -python-vitrageclient===4.0.1;python_version=='3.7' -python-vitrageclient===4.0.1;python_version=='3.8' +python-vitrageclient===4.0.1 nosexcover===1.0.11 krest===1.3.1 psycopg2===2.8.5 -networkx===2.2;python_version=='2.7' -networkx===2.4;python_version=='3.6' -networkx===2.4;python_version=='3.7' -networkx===2.4;python_version=='3.8' -bashate===0.6.0;python_version=='2.7' -bashate===2.0.0;python_version=='3.6' -bashate===2.0.0;python_version=='3.7' -bashate===2.0.0;python_version=='3.8' +networkx===2.4 +bashate===2.0.0 XStatic-Angular===1.5.8.0 pyngus===2.3.1 -Pillow===6.2.2;python_version=='2.7' -Pillow===7.1.2;python_version=='3.6' -Pillow===7.1.2;python_version=='3.7' -Pillow===7.1.2;python_version=='3.8' +Pillow===7.1.2 zuul-sphinx===0.5.0 python-mimeparse===1.6.0 tripleo-common===12.3.0 @@ -176,64 +99,32 @@ suds-jurko===0.6 python-swiftclient===3.9.0 pyOpenSSL===19.1.0 monasca-common===3.1.0 -zeroconf===0.19.1;python_version=='2.7' -zeroconf===0.26.1;python_version=='3.6' -zeroconf===0.26.1;python_version=='3.7' -zeroconf===0.26.1;python_version=='3.8' -scipy===1.2.3;python_version=='2.7' -scipy===1.4.1;python_version=='3.6' -scipy===1.4.1;python_version=='3.7' -scipy===1.4.1;python_version=='3.8' -mypy-extensions===0.4.3;python_version=='3.6' -mypy-extensions===0.4.3;python_version=='3.7' -mypy-extensions===0.4.3;python_version=='3.8' +zeroconf===0.26.1 +scipy===1.4.1 +mypy-extensions===0.4.3 rsd-lib===1.2.0 XStatic-Jasmine===2.4.1.2 googleapis-common-protos===1.51.0 -python-glanceclient===3.0.0;python_version=='2.7' -python-glanceclient===3.1.1;python_version=='3.6' -python-glanceclient===3.1.1;python_version=='3.7' -python-glanceclient===3.1.1;python_version=='3.8' +python-glanceclient===3.1.1 pyinotify===0.9.6 -debtcollector===1.22.0;python_version=='2.7' -debtcollector===2.0.1;python_version=='3.6' -debtcollector===2.0.1;python_version=='3.7' -debtcollector===2.0.1;python_version=='3.8' +debtcollector===2.0.1 requests-unixsocket===0.2.0 croniter===0.3.31 -octavia-lib===1.5.0;python_version=='2.7' -octavia-lib===2.0.0;python_version=='3.6' -octavia-lib===2.0.0;python_version=='3.7' -octavia-lib===2.0.0;python_version=='3.8' -python-watcherclient===2.5.0;python_version=='2.7' -python-watcherclient===3.0.0;python_version=='3.6' -python-watcherclient===3.0.0;python_version=='3.7' -python-watcherclient===3.0.0;python_version=='3.8' +octavia-lib===2.0.0 +python-watcherclient===3.0.0 MarkupSafe===1.1.1 pypowervm===1.1.24 doc8===0.8.0 pymongo===3.10.1 -python-cloudkittyclient===3.1.0;python_version=='2.7' -python-cloudkittyclient===4.0.0;python_version=='3.6' -python-cloudkittyclient===4.0.0;python_version=='3.7' -python-cloudkittyclient===4.0.0;python_version=='3.8' -soupsieve===1.9.5;python_version=='2.7' -soupsieve===2.0;python_version=='3.6' -soupsieve===2.0;python_version=='3.7' -soupsieve===2.0;python_version=='3.8' +python-cloudkittyclient===4.0.0 +soupsieve===2.0 sqlparse===0.3.1 -oslotest===3.9.0;python_version=='2.7' -oslotest===4.2.0;python_version=='3.6' -oslotest===4.2.0;python_version=='3.7' -oslotest===4.2.0;python_version=='3.8' +oslotest===4.2.0 jsonpointer===2.0 defusedxml===0.6.0 netaddr===0.7.19 pyghmi===1.5.14 -sphinxcontrib-blockdiag===1.5.5;python_version=='2.7' -sphinxcontrib-blockdiag===2.0.0;python_version=='3.6' -sphinxcontrib-blockdiag===2.0.0;python_version=='3.7' -sphinxcontrib-blockdiag===2.0.0;python_version=='3.8' +sphinxcontrib-blockdiag===2.0.0 thrift===0.13.0 gnocchiclient===7.0.6 wcwidth===0.1.9 @@ -241,17 +132,11 @@ sphinxcontrib.datatemplates===0.6.1 jsonpath-rw===1.4.0 prettytable===0.7.2 vine===1.3.0 -taskflow===3.8.0;python_version=='2.7' -taskflow===4.1.0;python_version=='3.6' -taskflow===4.1.0;python_version=='3.7' -taskflow===4.1.0;python_version=='3.8' +taskflow===4.1.0 traceback2===1.4.0 arrow===0.15.6 semantic-version===2.8.5 -virtualbmc===2.0.0;python_version=='2.7' -virtualbmc===2.1.0;python_version=='3.6' -virtualbmc===2.1.0;python_version=='3.7' -virtualbmc===2.1.0;python_version=='3.8' +virtualbmc===2.1.0 deprecation===2.1.0 SQLAlchemy===1.3.17 pyroute2===0.5.12 @@ -260,42 +145,26 @@ kazoo===2.7.0 XStatic-roboto-fontface===0.5.0.0 pyudev===0.22.0 eventlet===0.25.2 -openstack-doc-tools===2.0.0;python_version=='2.7' -openstack-doc-tools===3.0.0;python_version=='3.6' -openstack-doc-tools===3.0.0;python_version=='3.7' -openstack-doc-tools===3.0.0;python_version=='3.8' +openstack-doc-tools===3.0.0 frozendict===1.2 -oslo.messaging===10.5.0;python_version=='2.7' -oslo.messaging===12.1.0;python_version=='3.6' -oslo.messaging===12.1.0;python_version=='3.7' -oslo.messaging===12.1.0;python_version=='3.8' +oslo.messaging===12.1.0 jira===2.0.0 extras===1.0.0 PyJWT===1.7.1 XStatic-lodash===4.16.4.1 zVMCloudConnector===1.4.1 paramiko===2.7.1 -ifaddr===0.1.6;python_version=='3.6' -ifaddr===0.1.6;python_version=='3.7' -ifaddr===0.1.6;python_version=='3.8' -reno===2.11.3;python_version=='2.7' -reno===3.1.0;python_version=='3.6' -reno===3.1.0;python_version=='3.7' -reno===3.1.0;python_version=='3.8' -unicodecsv===0.14.1;python_version=='2.7' +ifaddr===0.1.6 +reno===3.1.0 imagesize===1.2.0 pydot===1.4.1 -pathlib===1.0.1;python_version=='2.7' urllib3===1.25.9 graphviz===0.14 PyKMIP===0.10.0 whereto===0.4.0 pywbem===0.17.2 python-subunit===1.4.0 -tornado===5.1.1;python_version=='2.7' -tornado===6.0.4;python_version=='3.6' -tornado===6.0.4;python_version=='3.7' -tornado===6.0.4;python_version=='3.8' +tornado===6.0.4 pycparser===2.20 mock===3.0.5 PyYAML===5.3.1 @@ -305,7 +174,6 @@ ovs===2.13.0 cryptography===2.9.2 URLObject===2.4.3 psycopg2-binary===2.8.5 -backports.ssl-match-hostname===3.7.0.1;python_version=='2.7' openstack-release-test===3.0.1 validations-libs===1.0.0 pylxd===2.2.10 @@ -315,55 +183,28 @@ requests-mock===1.8.0 os-apply-config===11.1.0 prometheus-client===0.7.1 oslosphinx===4.18.0 -mox3===0.28.0;python_version=='2.7' -mox3===1.0.0;python_version=='3.6' -mox3===1.0.0;python_version=='3.7' -mox3===1.0.0;python_version=='3.8' -gunicorn===19.10.0;python_version=='2.7' -gunicorn===20.0.4;python_version=='3.6' -gunicorn===20.0.4;python_version=='3.7' -gunicorn===20.0.4;python_version=='3.8' +mox3===1.0.0 +gunicorn===20.0.4 storpool===5.4.0 textfsm===1.1.0 python-3parclient===4.2.11 unittest2===1.1.0 django-compressor===2.4 -libvirt-python===5.10.0;python_version=='2.7' -libvirt-python===6.3.0;python_version=='3.6' -libvirt-python===6.3.0;python_version=='3.7' -libvirt-python===6.3.0;python_version=='3.8' -python-zunclient===3.6.0;python_version=='2.7' -python-zunclient===4.0.1;python_version=='3.6' -python-zunclient===4.0.1;python_version=='3.7' -python-zunclient===4.0.1;python_version=='3.8' -asyncio===3.4.3;python_version=='3.6' -asyncio===3.4.3;python_version=='3.7' -asyncio===3.4.3;python_version=='3.8' +libvirt-python===6.3.0 +python-zunclient===4.0.1 +asyncio===3.4.3 tzlocal===2.1 -sphinxcontrib-jsmath===1.0.1;python_version=='3.6' -sphinxcontrib-jsmath===1.0.1;python_version=='3.7' -sphinxcontrib-jsmath===1.0.1;python_version=='3.8' -python-novaclient===16.0.0;python_version=='2.7' -python-novaclient===17.0.0;python_version=='3.6' -python-novaclient===17.0.0;python_version=='3.7' -python-novaclient===17.0.0;python_version=='3.8' +sphinxcontrib-jsmath===1.0.1 +python-novaclient===17.0.0 pact===1.12.0 bcrypt===3.1.7 os-client-config===2.1.0 XStatic-Angular-Gettext===2.4.1.0 -Pygments===2.5.2;python_version=='2.7' -Pygments===2.6.1;python_version=='3.6' -Pygments===2.6.1;python_version=='3.7' -Pygments===2.6.1;python_version=='3.8' +Pygments===2.6.1 XStatic-Hogan===2.0.0.3 XStatic-objectpath===1.2.1.0 -python-manilaclient===1.29.0;python_version=='2.7' -python-manilaclient===2.1.0;python_version=='3.6' -python-manilaclient===2.1.0;python_version=='3.7' -python-manilaclient===2.1.0;python_version=='3.8' -sphinxcontrib-serializinghtml===1.1.4;python_version=='3.6' -sphinxcontrib-serializinghtml===1.1.4;python_version=='3.7' -sphinxcontrib-serializinghtml===1.1.4;python_version=='3.8' +python-manilaclient===2.1.0 +sphinxcontrib-serializinghtml===1.1.4 requests===2.23.0 snowballstemmer===2.0.0 Jinja2===2.11.2 @@ -376,66 +217,34 @@ websockify===0.9.0 XStatic-JQuery.quicksearch===2.0.3.2 mpmath===1.1.0 django-debreach===2.0.1 -sphinx-feature-classification===1.0.0;python_version=='2.7' -sphinx-feature-classification===1.0.1;python_version=='3.6' -sphinx-feature-classification===1.0.1;python_version=='3.7' -sphinx-feature-classification===1.0.1;python_version=='3.8' +sphinx-feature-classification===1.0.1 XStatic-JQuery-Migrate===1.2.1.2 -pytest-html===1.22.1;python_version=='2.7' -pytest-html===2.1.1;python_version=='3.6' -pytest-html===2.1.1;python_version=='3.7' -pytest-html===2.1.1;python_version=='3.8' +pytest-html===2.1.1 appdirs===1.4.4 tinyrpc===1.0.4 -M2Crypto===0.35.2;python_version=='2.7' google-auth-httplib2===0.0.3 daiquiri===2.1.1 -influxdb===5.2.3;python_version=='3.6' -influxdb===5.2.3;python_version=='3.7' -influxdb===5.2.3;python_version=='3.8' -influxdb===5.3.0;python_version=='2.7' +influxdb===5.2.3 funcparserlib===0.3.6 passlib===1.7.2 dib-utils===0.0.11 -cliff===2.18.0;python_version=='2.7' -cliff===3.1.0;python_version=='3.6' -cliff===3.1.0;python_version=='3.7' -cliff===3.1.0;python_version=='3.8' +cliff===3.1.0 os-brick===3.0.1 ansible-runner===1.4.6 -trollius===2.2.post1;python_version=='2.7' scp===0.13.2 python-zaqarclient===1.13.1 -funcsigs===1.0.2;python_version=='2.7' lockfile===0.12.2 ldappool===2.4.1 termcolor===1.1.0 -joblib===0.14.1;python_version=='3.6' -joblib===0.14.1;python_version=='3.7' -joblib===0.14.1;python_version=='3.8' +joblib===0.14.1 hiredis===1.0.1 google-api-python-client===1.8.0 -castellan===1.4.0;python_version=='2.7' -castellan===3.0.1;python_version=='3.6' -castellan===3.0.1;python_version=='3.7' -castellan===3.0.1;python_version=='3.8' -oslo.versionedobjects===1.37.0;python_version=='2.7' -oslo.versionedobjects===2.0.2;python_version=='3.6' -oslo.versionedobjects===2.0.2;python_version=='3.7' -oslo.versionedobjects===2.0.2;python_version=='3.8' +castellan===3.0.1 +oslo.versionedobjects===2.0.2 enmerkar===0.7.1 -webcolors===1.10;python_version=='2.7' -webcolors===1.11.1;python_version=='3.6' -webcolors===1.11.1;python_version=='3.7' -webcolors===1.11.1;python_version=='3.8' -aodhclient===2.0.0;python_version=='2.7' -aodhclient===2.0.1;python_version=='3.6' -aodhclient===2.0.1;python_version=='3.7' -aodhclient===2.0.1;python_version=='3.8' -autobahn===19.11.2;python_version=='2.7' -autobahn===20.4.3;python_version=='3.6' -autobahn===20.4.3;python_version=='3.7' -autobahn===20.4.3;python_version=='3.8' +webcolors===1.11.1 +aodhclient===2.0.1 +autobahn===20.4.3 SQLAlchemy-Utils===0.36.5 retryz===0.1.9 pluggy===0.13.1 @@ -451,55 +260,30 @@ nwdiag===2.0.0 XStatic-bootswatch===3.3.7.0 XStatic-JS-Yaml===3.8.1.0 XStatic-term.js===0.0.7.0 -oslo.log===3.45.2;python_version=='2.7' -oslo.log===4.1.1;python_version=='3.6' -oslo.log===4.1.1;python_version=='3.7' -oslo.log===4.1.1;python_version=='3.8' +oslo.log===4.1.1 nodeenv===1.3.5 gossip===2.4.0 importlib-metadata===1.6.0 -python-searchlightclient===1.6.0;python_version=='2.7' -python-searchlightclient===2.0.1;python_version=='3.6' -python-searchlightclient===2.0.1;python_version=='3.7' -python-searchlightclient===2.0.1;python_version=='3.8' -oslo.middleware===3.38.1;python_version=='2.7' -oslo.middleware===4.0.2;python_version=='3.6' -oslo.middleware===4.0.2;python_version=='3.7' -oslo.middleware===4.0.2;python_version=='3.8' +python-searchlightclient===2.0.1 +oslo.middleware===4.0.2 XStatic-mdi===1.6.50.2 django-pyscss===2.0.2 uritemplate===3.0.1 docutils===0.15.2 -threadpoolctl===2.0.0;python_version=='3.6' -threadpoolctl===2.0.0;python_version=='3.7' -threadpoolctl===2.0.0;python_version=='3.8' +threadpoolctl===2.0.0 notifier===1.0.3 -os-ken===0.4.1;python_version=='2.7' -os-ken===1.0.0;python_version=='3.6' -os-ken===1.0.0;python_version=='3.7' -os-ken===1.0.0;python_version=='3.8' +os-ken===1.0.0 pycrypto===2.6.1 ujson===2.0.3 selenium===3.141.0 python-glareclient===0.5.3 -mypy===0.770;python_version=='3.6' -mypy===0.770;python_version=='3.7' -mypy===0.770;python_version=='3.8' -mistral-lib===1.4.0;python_version=='2.7' -mistral-lib===2.1.0;python_version=='3.6' -mistral-lib===2.1.0;python_version=='3.7' -mistral-lib===2.1.0;python_version=='3.8' +mypy===0.770 +mistral-lib===2.1.0 dogtag-pki===10.7.4.1 XStatic-Angular-UUID===0.0.4.0 purestorage===1.18.1 -sphinxcontrib-seqdiag===0.8.5;python_version=='2.7' -sphinxcontrib-seqdiag===2.0.0;python_version=='3.6' -sphinxcontrib-seqdiag===2.0.0;python_version=='3.7' -sphinxcontrib-seqdiag===2.0.0;python_version=='3.8' -os-win===4.3.2;python_version=='2.7' -os-win===5.0.1;python_version=='3.6' -os-win===5.0.1;python_version=='3.7' -os-win===5.0.1;python_version=='3.8' +sphinxcontrib-seqdiag===2.0.0 +os-win===5.0.1 capacity===1.3.14 retrying===1.3.3 shade===1.33.0 @@ -507,141 +291,79 @@ XStatic-Dagre===0.6.4.0 pathlib2===2.3.5 pydotplus===2.0.2 boto3===1.13.9 -jeepney===0.4.3;python_version=='3.6' -jeepney===0.4.3;python_version=='3.7' -jeepney===0.4.3;python_version=='3.8' -stestr===2.6.0;python_version=='2.7' -stestr===3.0.1;python_version=='3.6' -stestr===3.0.1;python_version=='3.7' -stestr===3.0.1;python_version=='3.8' -singledispatch===3.4.0.3;python_version=='2.7' -oslo.serialization===2.29.2;python_version=='2.7' -oslo.serialization===3.1.1;python_version=='3.6' -oslo.serialization===3.1.1;python_version=='3.7' -oslo.serialization===3.1.1;python_version=='3.8' +jeepney===0.4.3 +stestr===3.0.1 +oslo.serialization===3.1.1 warlock===1.3.3 exabgp===4.2.6 sphinxcontrib-httpdomain===1.7.0 metalsmith===1.0.0 s3transfer===0.3.3 -sphinxcontrib-svg2pdfconverter===0.1.0;python_version=='2.7' -sphinxcontrib-svg2pdfconverter===1.0.1;python_version=='3.6' -sphinxcontrib-svg2pdfconverter===1.0.1;python_version=='3.7' -sphinxcontrib-svg2pdfconverter===1.0.1;python_version=='3.8' +sphinxcontrib-svg2pdfconverter===1.0.1 murano-pkg-check===0.3.0 -oslo.vmware===2.35.0;python_version=='2.7' -oslo.vmware===3.3.1;python_version=='3.6' -oslo.vmware===3.3.1;python_version=='3.7' -oslo.vmware===3.3.1;python_version=='3.8' +oslo.vmware===3.3.1 XStatic-moment===2.8.4.2 sqlalchemy-migrate===0.13.0 -gitdb===0.6.4;python_version=='2.7' -gitdb===4.0.5;python_version=='3.6' -gitdb===4.0.5;python_version=='3.7' -gitdb===4.0.5;python_version=='3.8' -python-monascaclient===1.16.0;python_version=='2.7' -python-monascaclient===2.1.0;python_version=='3.6' -python-monascaclient===2.1.0;python_version=='3.7' -python-monascaclient===2.1.0;python_version=='3.8' +gitdb===4.0.5 +python-monascaclient===2.1.0 ldap3===2.7 requests-ntlm===1.1.0 -automaton===1.17.0;python_version=='2.7' -automaton===2.0.1;python_version=='3.6' -automaton===2.0.1;python_version=='3.7' -automaton===2.0.1;python_version=='3.8' +automaton===2.0.1 os-service-types===1.7.0 -keyring===18.0.1;python_version=='2.7' -keyring===21.2.1;python_version=='3.6' -keyring===21.2.1;python_version=='3.7' -keyring===21.2.1;python_version=='3.8' +keyring===21.2.1 testscenarios===0.5.0 sphinxcontrib-pecanwsme===0.10.0 sadisplay===0.4.9 -enum34===1.1.10;python_version=='2.7' infinisdk===151.1.1 packaging===20.3 XStatic-Dagre-D3===0.4.17.0 nose-exclude===0.5.0 psutil===5.7.0 py===1.8.1 -txaio===18.8.1;python_version=='2.7' -txaio===20.4.1;python_version=='3.6' -txaio===20.4.1;python_version=='3.7' -txaio===20.4.1;python_version=='3.8' -python-qinlingclient===4.0.0;python_version=='2.7' -python-qinlingclient===5.0.1;python_version=='3.6' -python-qinlingclient===5.0.1;python_version=='3.7' -python-qinlingclient===5.0.1;python_version=='3.8' +txaio===20.4.1 +python-qinlingclient===5.0.1 elasticsearch===2.4.1 django-nose===1.4.6 XStatic-JQuery.TableSorter===2.14.5.2 pifpaf===2.4.0 pysmi===0.3.4 -blockdiag===1.5.4;python_version=='2.7' -blockdiag===2.0.1;python_version=='3.6' -blockdiag===2.0.1;python_version=='3.7' -blockdiag===2.0.1;python_version=='3.8' +blockdiag===2.0.1 testtools===2.4.0 infi.dtypes.iqn===0.4.0 XStatic-tv4===1.2.7.0 XStatic-JSEncrypt===2.3.1.1 -python-cinderclient===5.0.1;python_version=='2.7' -python-cinderclient===7.0.0;python_version=='3.6' -python-cinderclient===7.0.0;python_version=='3.7' -python-cinderclient===7.0.0;python_version=='3.8' +python-cinderclient===7.0.0 keystonemiddleware===9.0.0 django-formtools===2.2 python-ceilometerclient===2.9.0 XStatic-Spin===1.2.5.3 tap-as-a-service===3.0.0 -os-traits===2.2.0;python_version=='2.7' -os-traits===2.3.0;python_version=='3.6' -os-traits===2.3.0;python_version=='3.7' -os-traits===2.3.0;python_version=='3.8' -SecretStorage===2.3.1;python_version=='2.7' -SecretStorage===3.1.2;python_version=='3.6' -SecretStorage===3.1.2;python_version=='3.7' -SecretStorage===3.1.2;python_version=='3.8' +os-traits===2.3.0 +SecretStorage===3.1.2 opentracing===2.3.0 XStatic-Rickshaw===1.5.1.0 iso8601===0.1.12 -tooz===1.67.2;python_version=='2.7' -tooz===2.3.0;python_version=='3.6' -tooz===2.3.0;python_version=='3.7' -tooz===2.3.0;python_version=='3.8' +tooz===2.3.0 linecache2===1.0.0 oauth2client===4.1.3 idna===2.9 python-karborclient===2.0.0 -weakrefmethod===1.0.3;python_version=='2.7' PuLP===2.1 crc16===0.1.1 protobuf===3.11.3 sushy===3.2.0 -python-neutronclient===7.1.0;python_version=='2.7' -python-neutronclient===7.1.1;python_version=='3.6' -python-neutronclient===7.1.1;python_version=='3.7' -python-neutronclient===7.1.1;python_version=='3.8' +python-neutronclient===7.1.1 pika===1.1.0 -oslo.cache===1.38.1;python_version=='2.7' -oslo.cache===2.3.0;python_version=='3.6' -oslo.cache===2.3.0;python_version=='3.7' -oslo.cache===2.3.0;python_version=='3.8' +oslo.cache===2.3.0 WebTest===2.0.35 openstack.nose-plugin===0.11 os-collect-config===11.0.0 edgegrid-python===1.1.1 python-qpid-proton===0.31.0 -python-octaviaclient===2.0.0;python_version=='2.7' -python-octaviaclient===2.0.1;python_version=='3.6' -python-octaviaclient===2.0.1;python_version=='3.7' -python-octaviaclient===2.0.1;python_version=='3.8' +python-octaviaclient===2.0.1 pysaml2===5.0.0 requests-oauthlib===1.3.0 -oslo.reports===1.31.1;python_version=='2.7' -oslo.reports===2.0.1;python_version=='3.6' -oslo.reports===2.0.1;python_version=='3.7' -oslo.reports===2.0.1;python_version=='3.8' +oslo.reports===2.0.1 bitmath===1.3.3.1 ceilometermiddleware===2.0.0 python-nss===1.0.1 @@ -652,52 +374,25 @@ Logbook===1.5.3 PyNaCl===1.3.0 osc-lib===2.0.0 python-consul===1.1.0 -more-itertools===5.0.0;python_version=='2.7' -more-itertools===8.2.0;python_version=='3.6' -more-itertools===8.2.0;python_version=='3.7' -more-itertools===8.2.0;python_version=='3.8' -seqdiag===0.9.6;python_version=='2.7' -seqdiag===2.0.0;python_version=='3.6' -seqdiag===2.0.0;python_version=='3.7' -seqdiag===2.0.0;python_version=='3.8' -numpy===1.16.6;python_version=='2.7' -numpy===1.18.4;python_version=='3.6' -numpy===1.18.4;python_version=='3.7' -numpy===1.18.4;python_version=='3.8' +more-itertools===8.2.0 +seqdiag===2.0.0 +numpy===1.18.4 msgpack===0.6.1 -Sphinx===1.8.5;python_version=='2.7' -Sphinx===3.0.3;python_version=='3.6' -Sphinx===3.0.3;python_version=='3.7' -Sphinx===3.0.3;python_version=='3.8' -oslo.config===7.0.0;python_version=='2.7' -oslo.config===8.0.2;python_version=='3.6' -oslo.config===8.0.2;python_version=='3.7' -oslo.config===8.0.2;python_version=='3.8' -tempest===23.0.0;python_version=='2.7' -tempest===24.0.0;python_version=='3.6' -tempest===24.0.0;python_version=='3.7' -tempest===24.0.0;python_version=='3.8' -openstackdocstheme===1.31.2;python_version=='2.7' -openstackdocstheme===2.1.2;python_version=='3.6' -openstackdocstheme===2.1.2;python_version=='3.7' -openstackdocstheme===2.1.2;python_version=='3.8' +Sphinx===3.0.3 +oslo.config===8.0.2 +tempest===24.0.0 +openstackdocstheme===2.1.2 osc-placement===2.0.0 zake===0.2.2 python-rsdclient===1.0.2 flux===1.3.5 -python-solumclient===2.9.0;python_version=='2.7' -python-solumclient===3.1.0;python_version=='3.6' -python-solumclient===3.1.0;python_version=='3.7' -python-solumclient===3.1.0;python_version=='3.8' +python-solumclient===3.1.0 PyMySQL===0.9.3 kubernetes===11.0.0 httplib2===0.17.3 bottle===0.12.18 betamax===0.8.1 -construct===2.10.54;python_version=='2.7' -construct===2.10.56;python_version=='3.6' -construct===2.10.56;python_version=='3.7' -construct===2.10.56;python_version=='3.8' +construct===2.10.56 pytest-metadata===1.9.0 pyparsing===2.4.7 geomet===0.1.2 @@ -705,58 +400,37 @@ distlib===0.3.0 XStatic-Moment-Timezone===0.5.22.0 dogpile.cache===0.9.2 python-barbicanclient===4.10.0 -salt===3000.3 +salt===3000.3;python_version=='3.6' api-object-schema===2.0.0 -tricircleclient===0.6.0;python_version=='2.7' -tricircleclient===1.0.0;python_version=='3.6' -tricircleclient===1.0.0;python_version=='3.7' -tricircleclient===1.0.0;python_version=='3.8' +tricircleclient===1.0.0 WSME===0.10.0 proboscis===1.2.6.0 -oslo.upgradecheck===0.3.2;python_version=='2.7' -oslo.upgradecheck===1.0.1;python_version=='3.6' -oslo.upgradecheck===1.0.1;python_version=='3.7' -oslo.upgradecheck===1.0.1;python_version=='3.8' +oslo.upgradecheck===1.0.1 stevedore===1.32.0 pywinrm===0.4.1 botocore===1.16.9 xmltodict===0.12.0 pyasn1===0.4.8 -oslo.rootwrap===5.17.1;python_version=='2.7' -oslo.rootwrap===6.0.2;python_version=='3.6' -oslo.rootwrap===6.0.2;python_version=='3.7' -oslo.rootwrap===6.0.2;python_version=='3.8' -Django===1.11.29;python_version=='2.7' -Django===2.2.12;python_version=='3.6' -Django===2.2.12;python_version=='3.7' -Django===2.2.12;python_version=='3.8' +oslo.rootwrap===6.0.2 +Django===2.2.12 pexpect===4.8.0 cmd2===0.8.9 python-json-logger===0.1.11 redis===3.5.1 jmespath===0.10.0 click===7.1.2 -atomicwrites===1.4.0;python_version=='2.7' XStatic-smart-table===1.4.13.2 kuryr-lib===2.0.0 scrypt===0.8.13 jsonpatch===1.25 python-daemon===2.2.4 -typed-ast===1.4.1;python_version=='3.6' -typed-ast===1.4.1;python_version=='3.7' -typed-ast===1.4.1;python_version=='3.8' -os-testr===1.1.0;python_version=='2.7' -os-testr===2.0.0;python_version=='3.6' -os-testr===2.0.0;python_version=='3.7' -os-testr===2.0.0;python_version=='3.8' +typed-ast===1.4.1 +os-testr===2.0.0 cotyledon===1.7.3 xattr===0.9.7 systemd-python===234 python-memcached===1.59 -openstacksdk===0.45.0;python_version=='2.7' -openstacksdk===0.46.0;python_version=='3.6' -openstacksdk===0.46.0;python_version=='3.7' -openstacksdk===0.46.0;python_version=='3.8' +openstacksdk===0.46.0 six===1.14.0 dulwich===0.19.16 dfs-sdk===1.2.26 @@ -767,47 +441,26 @@ yaql===1.1.3 requestsexceptions===1.4.0 testresources===2.0.1 falcon===2.0.0 -subprocess32===3.5.4;python_version=='2.7' etcd3gw===0.2.5 Flask-RESTful===0.3.8 -GitPython===2.1.11;python_version=='2.7' -GitPython===3.1.2;python_version=='3.6' -GitPython===3.1.2;python_version=='3.7' -GitPython===3.1.2;python_version=='3.8' -python-ironicclient===3.1.1;python_version=='2.7' -python-ironicclient===4.1.0;python_version=='3.6' -python-ironicclient===4.1.0;python_version=='3.7' -python-ironicclient===4.1.0;python_version=='3.8' +GitPython===3.1.2 +python-ironicclient===4.1.0 XStatic===1.0.2 XStatic-Angular-FileUpload===12.0.4.0 python-openstackclient===5.2.0 pyzmq===19.0.1 -oslo.db===6.0.0;python_version=='2.7' -oslo.db===8.1.0;python_version=='3.6' -oslo.db===8.1.0;python_version=='3.7' -oslo.db===8.1.0;python_version=='3.8' +oslo.db===8.1.0 simplegeneric===0.8.1 python-pcre===0.7 yappi===1.2.5 dataclasses===0.7;python_version=='3.6' -dataclasses===0.7;python_version=='3.7' -dataclasses===0.7;python_version=='3.8' abclient===0.2.3 pymemcache===3.1.1 wrapt===1.12.1 -oslo.privsep===1.34.0;python_version=='2.7' -oslo.privsep===2.1.1;python_version=='3.6' -oslo.privsep===2.1.1;python_version=='3.7' -oslo.privsep===2.1.1;python_version=='3.8' +oslo.privsep===2.1.1 sphinxcontrib-apidoc===0.3.0 -oslo.policy===2.4.1;python_version=='2.7' -oslo.policy===3.1.0;python_version=='3.6' -oslo.policy===3.1.0;python_version=='3.7' -oslo.policy===3.1.0;python_version=='3.8' -python-muranoclient===1.3.0;python_version=='2.7' -python-muranoclient===2.0.1;python_version=='3.6' -python-muranoclient===2.0.1;python_version=='3.7' -python-muranoclient===2.0.1;python_version=='3.8' +oslo.policy===3.1.0 +python-muranoclient===2.0.1 hvac===0.10.1 pyeclib===1.6.0 wsgi-intercept===1.9.2 @@ -816,30 +469,18 @@ pyrsistent===0.16.0 repoze.lru===0.7 rfc3986===1.4.0 tenacity===6.2.0 -python-designateclient===3.1.0;python_version=='2.7' -python-designateclient===4.0.0;python_version=='3.6' -python-designateclient===4.0.0;python_version=='3.7' -python-designateclient===4.0.0;python_version=='3.8' +python-designateclient===4.0.0 future===0.18.2 Paste===3.4.0 pytest-django===3.9.0 jaeger-client===4.3.0 XStatic-Json2yaml===0.1.1.0 boto===2.49.0 -functools32===3.2.3.post2;python_version=='2.7' -os-vif===1.17.0;python_version=='2.7' -os-vif===2.0.0;python_version=='3.6' -os-vif===2.0.0;python_version=='3.7' -os-vif===2.0.0;python_version=='3.8' +os-vif===2.0.0 mitba===1.1.1 -python-masakariclient===5.6.0;python_version=='2.7' -python-masakariclient===6.0.0;python_version=='3.6' -python-masakariclient===6.0.0;python_version=='3.7' -python-masakariclient===6.0.0;python_version=='3.8' +python-masakariclient===6.0.0 Werkzeug===1.0.1 -backports.functools-lru-cache===1.6.1;python_version=='2.7' pyasn1-modules===0.2.8 -entrypoints===0.3;python_version=='2.7' APScheduler===3.6.3 monotonic===1.5 python-troveclient===3.3.1 @@ -848,65 +489,33 @@ cachez===0.1.2 XStatic-Bootstrap-Datepicker===1.4.0.0 CouchDB===1.2 netifaces===0.10.9 -cachetools===3.1.1;python_version=='2.7' -cachetools===4.1.0;python_version=='3.6' -cachetools===4.1.0;python_version=='3.7' -cachetools===4.1.0;python_version=='3.8' +cachetools===4.1.0 ws4py===0.5.1 -backports-abc===0.5;python_version=='2.7' -sphinxcontrib-qthelp===1.0.3;python_version=='3.6' -sphinxcontrib-qthelp===1.0.3;python_version=='3.7' -sphinxcontrib-qthelp===1.0.3;python_version=='3.8' +sphinxcontrib-qthelp===1.0.3 keystoneauth1===4.0.0 statsd===3.3.0 XenAPI===2.14 importlib-resources===1.5.0 -python-keystoneclient===3.22.0;python_version=='2.7' -python-keystoneclient===4.0.0;python_version=='3.6' -python-keystoneclient===4.0.0;python_version=='3.7' -python-keystoneclient===4.0.0;python_version=='3.8' -ceilometer===13.1.0;python_version=='2.7' -ceilometer===14.0.0;python_version=='3.6' -ceilometer===14.0.0;python_version=='3.7' -ceilometer===14.0.0;python_version=='3.8' +python-keystoneclient===4.0.0 +ceilometer===14.0.0 demjson===2.2.4 diskimage-builder===2.36.0 -heat-translator===1.5.0;python_version=='2.7' -heat-translator===2.0.0;python_version=='3.6' -heat-translator===2.0.0;python_version=='3.7' -heat-translator===2.0.0;python_version=='3.8' +heat-translator===2.0.0 python-magnumclient===3.0.0 docker===4.2.0 storops===1.2.4 -qpid-python===1.36.0.post1;python_version=='2.7' -contextlib2===0.6.0.post1;python_version=='2.7' XStatic-Angular-lrdragndrop===1.0.2.4 -python-congressclient===1.13.0;python_version=='2.7' -python-congressclient===2.0.1;python_version=='3.6' -python-congressclient===2.0.1;python_version=='3.7' -python-congressclient===2.0.1;python_version=='3.8' -ovsdbapp===0.18.0;python_version=='2.7' -ovsdbapp===1.1.0;python_version=='3.6' -ovsdbapp===1.1.0;python_version=='3.7' -ovsdbapp===1.1.0;python_version=='3.8' +python-congressclient===2.0.1 +ovsdbapp===1.1.0 aniso8601===8.0.0 rjsmin===1.1.0 icalendar===4.0.6 -configparser===4.0.2;python_version=='2.7' decorator===4.4.2 cffi===1.14.0 -futurist===1.10.0;python_version=='2.7' -futurist===2.1.1;python_version=='3.6' -futurist===2.1.1;python_version=='3.7' -futurist===2.1.1;python_version=='3.8' +futurist===2.1.1 jsonschema===3.2.0 -sphinxcontrib-devhelp===1.0.2;python_version=='3.6' -sphinxcontrib-devhelp===1.0.2;python_version=='3.7' -sphinxcontrib-devhelp===1.0.2;python_version=='3.8' -python-blazarclient===2.2.1;python_version=='2.7' -python-blazarclient===3.0.1;python_version=='3.6' -python-blazarclient===3.0.1;python_version=='3.7' -python-blazarclient===3.0.1;python_version=='3.8' +sphinxcontrib-devhelp===1.0.2 +python-blazarclient===3.0.1 alembic===1.4.2 glance-store===2.0.0 sphinxcontrib-programoutput===0.16 @@ -916,69 +525,37 @@ dnspython===1.16.0 oauthlib===3.1.0 Babel===2.8.0 logutils===0.3.5 -scandir===1.10.0;python_version=='2.7' -zipp===1.2.0;python_version=='2.7' -zipp===3.1.0;python_version=='3.6' -zipp===3.1.0;python_version=='3.7' -zipp===3.1.0;python_version=='3.8' -smmap2===3.0.1;python_version=='2.7' +zipp===3.1.0 greenlet===0.4.15 XStatic-Angular-Vis===4.16.0.0 confluent-kafka===1.4.1 xvfbwrapper===0.2.9 -futures===3.3.0;python_version=='2.7' -tosca-parser===1.7.0;python_version=='2.7' -tosca-parser===2.0.0;python_version=='3.6' -tosca-parser===2.0.0;python_version=='3.7' -tosca-parser===2.0.0;python_version=='3.8' +tosca-parser===2.0.0 Flask===1.1.2 -happybase===1.2.0;python_version=='2.7' sqlalchemy-filters===0.12.0 marathon===0.12.0 fasteners===0.14.1 sortedcontainers===2.1.0 filelock===3.0.12 -python-tackerclient===0.16.1;python_version=='2.7' -python-tackerclient===1.1.0;python_version=='3.6' -python-tackerclient===1.1.0;python_version=='3.7' -python-tackerclient===1.1.0;python_version=='3.8' -python-heatclient===1.18.0;python_version=='2.7' -python-heatclient===2.1.0;python_version=='3.6' -python-heatclient===2.1.0;python_version=='3.7' -python-heatclient===2.1.0;python_version=='3.8' +python-tackerclient===1.1.0 +python-heatclient===2.1.0 kafka-python===2.0.1 -oslo.utils===3.42.1;python_version=='2.7' -oslo.utils===4.1.1;python_version=='3.6' -oslo.utils===4.1.1;python_version=='3.7' -oslo.utils===4.1.1;python_version=='3.8' +oslo.utils===4.1.1 python-editor===1.0.4 -gitdb2===2.0.6;python_version=='2.7' -gitdb2===4.0.2;python_version=='3.6' -gitdb2===4.0.2;python_version=='3.7' -gitdb2===4.0.2;python_version=='3.8' +gitdb2===4.0.2 requests-kerberos===0.12.0 itsdangerous===1.1.0 XStatic-jquery-ui===1.12.1.1 monasca-statsd===2.0.0 python-dateutil===2.8.1 -typing-extensions===3.7.4.2;python_version=='3.6' -typing-extensions===3.7.4.2;python_version=='3.7' -typing-extensions===3.7.4.2;python_version=='3.8' +typing-extensions===3.7.4.2 virtualenv===20.0.20 colorama===0.4.3 confetti===2.5.3 ironic-lib===4.2.0 pytz===2020.1 XStatic-D3===3.5.17.0 -actdiag===0.5.4;python_version=='2.7' -actdiag===2.0.0;python_version=='3.6' -actdiag===2.0.0;python_version=='3.7' -actdiag===2.0.0;python_version=='3.8' +actdiag===2.0.0 sysv-ipc===1.0.1 -sphinxcontrib-applehelp===1.0.2;python_version=='3.6' -sphinxcontrib-applehelp===1.0.2;python_version=='3.7' -sphinxcontrib-applehelp===1.0.2;python_version=='3.8' -scikit-learn===0.20.0;python_version=='2.7' -scikit-learn===0.23.0;python_version=='3.6' -scikit-learn===0.23.0;python_version=='3.7' -scikit-learn===0.23.0;python_version=='3.8' +sphinxcontrib-applehelp===1.0.2 +scikit-learn===0.23.0