From 63663cfc1c4fb5f24d08be761e1877e6277e16ba Mon Sep 17 00:00:00 2001 From: Pedro Algarvio Date: Wed, 8 May 2019 11:15:06 +0100 Subject: [PATCH] We no longer test againt Ubuntu 14.04 which reached EOL --- .ci/kitchen-ubuntu1404-py2 | 118 ----------------- .../static/py2.7/raet-ubuntu-14.04.txt | 122 ------------------ .../static/py2.7/tcp-ubuntu-14.04.txt | 119 ----------------- .../static/py2.7/zeromq-ubuntu-14.04.txt | 122 ------------------ requirements/static/ubuntu-14.04.in | 39 ------ 5 files changed, 520 deletions(-) delete mode 100644 .ci/kitchen-ubuntu1404-py2 delete mode 100644 requirements/static/py2.7/raet-ubuntu-14.04.txt delete mode 100644 requirements/static/py2.7/tcp-ubuntu-14.04.txt delete mode 100644 requirements/static/py2.7/zeromq-ubuntu-14.04.txt delete mode 100644 requirements/static/ubuntu-14.04.in diff --git a/.ci/kitchen-ubuntu1404-py2 b/.ci/kitchen-ubuntu1404-py2 deleted file mode 100644 index a258f91c76c..00000000000 --- a/.ci/kitchen-ubuntu1404-py2 +++ /dev/null @@ -1,118 +0,0 @@ -properties([ - [ - $class: 'ScannerJobProperty', doNotScan: false - ], - [ - $class: 'RebuildSettings', autoRebuild: false, rebuildDisabled: false - ], - parameters([ - booleanParam(defaultValue: false, description: 'Run full test suite', name: 'runFull') - ]) -]) -timeout(time: 6, unit: 'HOURS') { - node('kitchen-slave') { - timestamps { - ansiColor('xterm') { - withEnv([ - 'SALT_KITCHEN_PLATFORMS=/var/jenkins/workspace/nox-platforms.yml', - 'SALT_KITCHEN_VERIFIER=/var/jenkins/workspace/nox-verifier.yml', - 'SALT_KITCHEN_DRIVER=/var/jenkins/workspace/driver.yml', - 'NOX_ENV_NAME=runtests-zeromq', - 'NOX_PASSTHROUGH_OPTS=--ssh-tests', - 'NOX_ENABLE_FROM_FILENAMES=true', - 'GOLDEN_IMAGES_CI_BRANCH=2018.3', - 'CODECOV_FLAGS=ubuntu1404,py2', - 'PATH=/usr/local/rbenv/shims/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/root/bin', - 'RBENV_VERSION=2.4.2', - 'TEST_SUITE=py2', - 'TEST_PLATFORM=ubuntu-1404', - 'PY_COLORS=1', - "FORCE_FULL=${params.runFull}", - ]) { - stage('checkout-scm') { - cleanWs notFailBuild: true - checkout scm - } - try { - stage('github-pending') { - githubNotify credentialsId: 'test-jenkins-credentials', - description: "running ${TEST_SUITE}-${TEST_PLATFORM}...", - status: 'PENDING', - context: "jenkins/pr/${TEST_SUITE}-${TEST_PLATFORM}" - } - stage('setup-bundle') { - sh 'bundle install --with ec2 windows --without opennebula docker' - } - try { - stage('run kitchen') { - withCredentials([ - [$class: 'AmazonWebServicesCredentialsBinding', accessKeyVariable: 'AWS_ACCESS_KEY_ID', credentialsId: 'AWS_ACCESS_KEY_ID', secretKeyVariable: 'AWS_SECRET_ACCESS_KEY'] - ]) { - sshagent(credentials: ['jenkins-testing-ssh-key']) { - sh 'ssh-add ~/.ssh/jenkins-testing.pem' - sh 'bundle exec kitchen converge $TEST_SUITE-$TEST_PLATFORM || bundle exec kitchen converge $TEST_SUITE-$TEST_PLATFORM' - sh 'bundle exec kitchen verify $TEST_SUITE-$TEST_PLATFORM' - } - } - } - } finally { - stage('cleanup kitchen') { - script { - withCredentials([ - [$class: 'AmazonWebServicesCredentialsBinding', accessKeyVariable: 'AWS_ACCESS_KEY_ID', credentialsId: 'AWS_ACCESS_KEY_ID', secretKeyVariable: 'AWS_SECRET_ACCESS_KEY'] - ]) { - sshagent(credentials: ['jenkins-testing-ssh-key']) { - sh 'ssh-add ~/.ssh/jenkins-testing.pem' - sh 'bundle exec kitchen destroy $TEST_SUITE-$TEST_PLATFORM' - } - } - } - archiveArtifacts artifacts: 'artifacts/*,artifacts/**/*' - } - stage('report code coverage') { - script { - withCredentials([[$class: 'StringBinding', credentialsId: 'codecov-upload-token-salt', variable: 'CODECOV_TOKEN']]) { - sh ''' - if [ -n "${FORCE_FULL}" -a "${FORCE_FULL}" = "true" -a -f artifacts/coverage/coverage.xml ]; then - curl -L https://codecov.io/bash | /bin/sh -s -- -R $(pwd) -s artifacts/coverage/ -F "${CODECOV_FLAGS}" - fi - ''' - } - } - } - } - } catch (Exception e) { - currentBuild.result = 'FAILURE' - } finally { - try { - junit 'artifacts/xml-unittests-output/*.xml' - } finally { - cleanWs notFailBuild: true - def currentResult = currentBuild.result ?: 'SUCCESS' - if (currentResult == 'SUCCESS') { - githubNotify credentialsId: 'test-jenkins-credentials', - description: "The ${TEST_SUITE}-${TEST_PLATFORM} job has passed", - status: 'SUCCESS', - context: "jenkins/pr/${TEST_SUITE}-${TEST_PLATFORM}" - } else { - githubNotify credentialsId: 'test-jenkins-credentials', - description: "The ${TEST_SUITE}-${TEST_PLATFORM} job has failed", - status: 'FAILURE', - context: "jenkins/pr/${TEST_SUITE}-${TEST_PLATFORM}" - try { - slackSend channel: "#jenkins-prod-pr", - color: '#FF0000', - message: "FAILED: PR-Job: '${env.JOB_NAME} [${env.BUILD_NUMBER}]' (${env.BUILD_URL})" - } catch (Exception e) { - sh 'echo Failed to send the Slack notification' - } - } - } - } - } - } - } - } -} - -// vi: ft=groovy diff --git a/requirements/static/py2.7/raet-ubuntu-14.04.txt b/requirements/static/py2.7/raet-ubuntu-14.04.txt deleted file mode 100644 index e9731ba31b9..00000000000 --- a/requirements/static/py2.7/raet-ubuntu-14.04.txt +++ /dev/null @@ -1,122 +0,0 @@ -# -# This file is autogenerated by pip-compile -# To update, run: -# -# pip-compile -o requirements/static/py2.7/raet-ubuntu-14.04.txt -v requirements/base.txt requirements/raet.txt requirements/pytest.txt requirements/static/ubuntu-14.04.in -# -apache-libcloud==2.0.0 -asn1crypto==0.24.0 # via cryptography -atomicwrites==1.3.0 # via pytest -attrs==19.1.0 # via pytest -aws-xray-sdk==0.95 # via moto -backports-abc==0.5 # via tornado -backports.functools-lru-cache==1.5 # via cheroot, jaraco.functools -backports.ssl-match-hostname==3.7.0.1 # via docker, websocket-client -backports.tempfile==1.0 # via moto -backports.weakref==1.0.post1 # via backports.tempfile -boto3==1.9.132 -boto==2.49.0 -botocore==1.12.132 # via boto3, moto, s3transfer -cachetools==3.1.0 # via google-auth -certifi==2019.3.9 # via kubernetes, requests, tornado -cffi==1.12.2 -chardet==3.0.4 # via requests -cheroot==6.5.4 # via cherrypy -cherrypy==17.3.0 -contextlib2==0.5.5 # via cherrypy -cookies==2.2.1 # via responses -coverage==4.5.3 # via pytest-cov -croniter==0.3.29 -cryptography==2.6.1 # via moto, paramiko, pyopenssl -dnspython==1.16.0 -docker-pycreds==0.4.0 # via docker -docker==3.7.2 -docutils==0.14 # via botocore -ecdsa==0.13.2 # via python-jose -enum34==1.1.6 # via cryptography, raet -funcsigs==1.0.2 # via mock, pytest -functools32==3.2.3.post2 # via jsonschema -future==0.17.1 # via python-jose -futures==3.2.0 ; python_version < "3.0" -gitdb2==2.0.5 # via gitpython -gitpython==2.1.11 -google-auth==1.6.3 # via kubernetes -idna==2.8 # via requests -ioflo==1.7.5 -ipaddress==1.0.22 # via cryptography, docker, kubernetes -jaraco.functools==2.0 # via tempora -jinja2==2.10.1 -jmespath==0.9.4 # via boto3, botocore -jsondiff==1.1.1 # via moto -jsonpickle==1.1 # via aws-xray-sdk -jsonschema==2.6.0 -junos-eznc==2.2.0 -jxmlease==1.0.1 -keyring==5.7.1 -kubernetes==3.0.0 -libnacl==1.6.1 -lxml==4.3.3 # via junos-eznc, ncclient -markupsafe==1.1.1 -meld3==1.0.2 # via supervisor -mock==2.0.0 ; python_version < "3.6" -more-itertools==5.0.0 -moto==1.3.7 -msgpack-python==0.5.6 -msgpack==0.6.1 -ncclient==0.6.4 # via junos-eznc -netaddr==0.7.19 # via junos-eznc -paramiko==2.1.2 -pathlib2==2.3.3 # via pytest -pbr==5.1.3 # via mock -pluggy==0.9.0 # via pytest -portend==2.4 # via cherrypy -psutil==5.6.1 -py==1.8.0 # via pytest -pyaml==19.4.1 # via moto -pyasn1-modules==0.2.4 # via google-auth -pyasn1==0.4.5 # via paramiko, pyasn1-modules, rsa -pycparser==2.19 # via cffi -pycryptodome==3.8.1 -pyinotify==0.9.6 -pyopenssl==19.0.0 -pyserial==3.4 # via junos-eznc -pytest-cov==2.6.1 -pytest-helpers-namespace==2019.1.8 -pytest-salt-runtests-bridge==2019.1.30 -pytest-salt==2018.12.8 -pytest-tempdir==2018.8.11 -pytest-timeout==1.3.3 -pytest==4.4.1 -python-dateutil==2.8.0 # via botocore, croniter, kubernetes, moto -python-etcd==0.4.5 -python-gnupg==0.4.4 -python-jose==2.0.2 # via moto -pytz==2019.1 # via moto, tempora -pyvmomi==6.7.1.2018.12 -pyyaml==3.13 -raet==0.6.8 -requests==2.21.0 -responses==0.10.6 # via moto -rfc3987==1.3.8 -rsa==4.0 # via google-auth -s3transfer==0.2.0 # via boto3 -salttesting==2017.6.1 -scandir==1.10.0 # via pathlib2 -scp==0.13.2 # via junos-eznc -selectors2==2.0.1 # via ncclient -setproctitle==1.1.10 -singledispatch==3.4.0.3 # via tornado -six==1.12.0 # via cheroot, cherrypy, cryptography, docker, docker-pycreds, google-auth, junos-eznc, kubernetes, mock, more-itertools, moto, ncclient, pathlib2, pyopenssl, pytest, python-dateutil, python-jose, pyvmomi, raet, responses, salttesting, singledispatch, tempora, websocket-client -smmap2==2.0.5 # via gitdb2 -strict-rfc3339==0.7 -supervisor==3.3.5 ; python_version < "3" -tempora==1.14.1 # via portend -timelib==0.2.4 -tornado==4.5.3 ; python_version < "3" -urllib3==1.24.2 # via botocore, kubernetes, python-etcd, requests -virtualenv==16.4.3 -websocket-client==0.40.0 # via docker, kubernetes -werkzeug==0.15.2 # via moto -wrapt==1.11.1 # via aws-xray-sdk -xmltodict==0.12.0 # via moto -zc.lockfile==1.4 # via cherrypy diff --git a/requirements/static/py2.7/tcp-ubuntu-14.04.txt b/requirements/static/py2.7/tcp-ubuntu-14.04.txt deleted file mode 100644 index f2f5323ca89..00000000000 --- a/requirements/static/py2.7/tcp-ubuntu-14.04.txt +++ /dev/null @@ -1,119 +0,0 @@ -# -# This file is autogenerated by pip-compile -# To update, run: -# -# pip-compile -o requirements/static/py2.7/tcp-ubuntu-14.04.txt -v requirements/base.txt requirements/pytest.txt requirements/static/ubuntu-14.04.in -# -apache-libcloud==2.0.0 -asn1crypto==0.24.0 # via cryptography -atomicwrites==1.3.0 # via pytest -attrs==19.1.0 # via pytest -aws-xray-sdk==0.95 # via moto -backports-abc==0.5 # via tornado -backports.functools-lru-cache==1.5 # via cheroot, jaraco.functools -backports.ssl-match-hostname==3.7.0.1 # via docker, websocket-client -backports.tempfile==1.0 # via moto -backports.weakref==1.0.post1 # via backports.tempfile -boto3==1.9.132 -boto==2.49.0 -botocore==1.12.132 # via boto3, moto, s3transfer -cachetools==3.1.0 # via google-auth -certifi==2019.3.9 # via kubernetes, requests, tornado -cffi==1.12.2 -chardet==3.0.4 # via requests -cheroot==6.5.4 # via cherrypy -cherrypy==17.3.0 -contextlib2==0.5.5 # via cherrypy -cookies==2.2.1 # via responses -coverage==4.5.3 # via pytest-cov -croniter==0.3.29 -cryptography==2.6.1 # via moto, paramiko, pyopenssl -dnspython==1.16.0 -docker-pycreds==0.4.0 # via docker -docker==3.7.2 -docutils==0.14 # via botocore -ecdsa==0.13.2 # via python-jose -enum34==1.1.6 # via cryptography -funcsigs==1.0.2 # via mock, pytest -functools32==3.2.3.post2 # via jsonschema -future==0.17.1 # via python-jose -futures==3.2.0 ; python_version < "3.0" -gitdb2==2.0.5 # via gitpython -gitpython==2.1.11 -google-auth==1.6.3 # via kubernetes -idna==2.8 # via requests -ipaddress==1.0.22 # via cryptography, docker, kubernetes -jaraco.functools==2.0 # via tempora -jinja2==2.10.1 -jmespath==0.9.4 # via boto3, botocore -jsondiff==1.1.1 # via moto -jsonpickle==1.1 # via aws-xray-sdk -jsonschema==2.6.0 -junos-eznc==2.2.0 -jxmlease==1.0.1 -keyring==5.7.1 -kubernetes==3.0.0 -lxml==4.3.3 # via junos-eznc, ncclient -markupsafe==1.1.1 -meld3==1.0.2 # via supervisor -mock==2.0.0 ; python_version < "3.6" -more-itertools==5.0.0 -moto==1.3.7 -msgpack-python==0.5.6 -msgpack==0.6.1 -ncclient==0.6.4 # via junos-eznc -netaddr==0.7.19 # via junos-eznc -paramiko==2.1.2 -pathlib2==2.3.3 # via pytest -pbr==5.1.3 # via mock -pluggy==0.9.0 # via pytest -portend==2.4 # via cherrypy -psutil==5.6.1 -py==1.8.0 # via pytest -pyaml==19.4.1 # via moto -pyasn1-modules==0.2.4 # via google-auth -pyasn1==0.4.5 # via paramiko, pyasn1-modules, rsa -pycparser==2.19 # via cffi -pycryptodome==3.8.1 -pyinotify==0.9.6 -pyopenssl==19.0.0 -pyserial==3.4 # via junos-eznc -pytest-cov==2.6.1 -pytest-helpers-namespace==2019.1.8 -pytest-salt-runtests-bridge==2019.1.30 -pytest-salt==2018.12.8 -pytest-tempdir==2018.8.11 -pytest-timeout==1.3.3 -pytest==4.4.1 -python-dateutil==2.8.0 # via botocore, croniter, kubernetes, moto -python-etcd==0.4.5 -python-gnupg==0.4.4 -python-jose==2.0.2 # via moto -pytz==2019.1 # via moto, tempora -pyvmomi==6.7.1.2018.12 -pyyaml==3.13 -requests==2.21.0 -responses==0.10.6 # via moto -rfc3987==1.3.8 -rsa==4.0 # via google-auth -s3transfer==0.2.0 # via boto3 -salttesting==2017.6.1 -scandir==1.10.0 # via pathlib2 -scp==0.13.2 # via junos-eznc -selectors2==2.0.1 # via ncclient -setproctitle==1.1.10 -singledispatch==3.4.0.3 # via tornado -six==1.12.0 # via cheroot, cherrypy, cryptography, docker, docker-pycreds, google-auth, junos-eznc, kubernetes, mock, more-itertools, moto, ncclient, pathlib2, pyopenssl, pytest, python-dateutil, python-jose, pyvmomi, responses, salttesting, singledispatch, tempora, websocket-client -smmap2==2.0.5 # via gitdb2 -strict-rfc3339==0.7 -supervisor==3.3.5 ; python_version < "3" -tempora==1.14.1 # via portend -timelib==0.2.4 -tornado==4.5.3 ; python_version < "3" -urllib3==1.24.2 # via botocore, kubernetes, python-etcd, requests -virtualenv==16.4.3 -websocket-client==0.40.0 # via docker, kubernetes -werkzeug==0.15.2 # via moto -wrapt==1.11.1 # via aws-xray-sdk -xmltodict==0.12.0 # via moto -zc.lockfile==1.4 # via cherrypy diff --git a/requirements/static/py2.7/zeromq-ubuntu-14.04.txt b/requirements/static/py2.7/zeromq-ubuntu-14.04.txt deleted file mode 100644 index 7ccdf1304bc..00000000000 --- a/requirements/static/py2.7/zeromq-ubuntu-14.04.txt +++ /dev/null @@ -1,122 +0,0 @@ -# -# This file is autogenerated by pip-compile -# To update, run: -# -# pip-compile -o requirements/static/py2.7/zeromq-ubuntu-14.04.txt -v requirements/base.txt requirements/zeromq.txt requirements/pytest.txt requirements/static/ubuntu-14.04.in -# -apache-libcloud==2.0.0 -asn1crypto==0.24.0 # via cryptography -atomicwrites==1.3.0 # via pytest -attrs==19.1.0 # via pytest -aws-xray-sdk==0.95 # via moto -backports-abc==0.5 # via tornado -backports.functools-lru-cache==1.5 # via cheroot, jaraco.functools -backports.ssl-match-hostname==3.7.0.1 # via docker, websocket-client -backports.tempfile==1.0 # via moto -backports.weakref==1.0.post1 # via backports.tempfile -boto3==1.9.132 -boto==2.49.0 -botocore==1.12.132 # via boto3, moto, s3transfer -cachetools==3.1.0 # via google-auth -certifi==2019.3.9 # via kubernetes, requests, tornado -cffi==1.12.2 -chardet==3.0.4 # via requests -cheroot==6.5.4 # via cherrypy -cherrypy==17.3.0 -contextlib2==0.5.5 # via cherrypy -cookies==2.2.1 # via responses -coverage==4.5.3 # via pytest-cov -croniter==0.3.29 -cryptography==2.6.1 # via moto, paramiko, pyopenssl -dnspython==1.16.0 -docker-pycreds==0.4.0 # via docker -docker==3.7.2 -docutils==0.14 # via botocore -ecdsa==0.13.2 # via python-jose -enum34==1.1.6 # via cryptography -funcsigs==1.0.2 # via mock, pytest -functools32==3.2.3.post2 # via jsonschema -future==0.17.1 # via python-jose -futures==3.2.0 ; python_version < "3.0" -gitdb2==2.0.5 # via gitpython -gitpython==2.1.11 -google-auth==1.6.3 # via kubernetes -idna==2.8 # via requests -ipaddress==1.0.22 # via cryptography, docker, kubernetes -jaraco.functools==2.0 # via tempora -jinja2==2.10.1 -jmespath==0.9.4 # via boto3, botocore -jsondiff==1.1.1 # via moto -jsonpickle==1.1 # via aws-xray-sdk -jsonschema==2.6.0 -junos-eznc==2.2.0 -jxmlease==1.0.1 -keyring==5.7.1 -kubernetes==3.0.0 -lxml==4.3.3 # via junos-eznc, ncclient -markupsafe==1.1.1 -meld3==1.0.2 # via supervisor -mock==2.0.0 ; python_version < "3.6" -more-itertools==5.0.0 -moto==1.3.7 -msgpack-python==0.5.6 -msgpack==0.6.1 -ncclient==0.6.4 # via junos-eznc -netaddr==0.7.19 # via junos-eznc -paramiko==2.1.2 -pathlib2==2.3.3 # via pytest -pbr==5.1.3 # via mock -pluggy==0.9.0 # via pytest -portend==2.4 # via cherrypy -psutil==5.6.1 -py==1.8.0 # via pytest -pyaml==19.4.1 # via moto -pyasn1-modules==0.2.4 # via google-auth -pyasn1==0.4.5 # via paramiko, pyasn1-modules, rsa -pycparser==2.19 # via cffi -# Next line explicitly commented out by pip-tools-compile because of the following regex: '^pycrypto==(.*)$' -# pycrypto==2.6.1 ; sys_platform != "win32" -pycryptodome==3.8.1 -pyinotify==0.9.6 -pyopenssl==19.0.0 -pyserial==3.4 # via junos-eznc -pytest-cov==2.6.1 -pytest-helpers-namespace==2019.1.8 -pytest-salt-runtests-bridge==2019.1.30 -pytest-salt==2018.12.8 -pytest-tempdir==2018.8.11 -pytest-timeout==1.3.3 -pytest==4.4.1 -python-dateutil==2.8.0 # via botocore, croniter, kubernetes, moto -python-etcd==0.4.5 -python-gnupg==0.4.4 -python-jose==2.0.2 # via moto -pytz==2019.1 # via moto, tempora -pyvmomi==6.7.1.2018.12 -pyyaml==3.13 -pyzmq==18.0.1 ; python_version != "3.4" -requests==2.21.0 -responses==0.10.6 # via moto -rfc3987==1.3.8 -rsa==4.0 # via google-auth -s3transfer==0.2.0 # via boto3 -salttesting==2017.6.1 -scandir==1.10.0 # via pathlib2 -scp==0.13.2 # via junos-eznc -selectors2==2.0.1 # via ncclient -setproctitle==1.1.10 -singledispatch==3.4.0.3 # via tornado -six==1.12.0 # via cheroot, cherrypy, cryptography, docker, docker-pycreds, google-auth, junos-eznc, kubernetes, mock, more-itertools, moto, ncclient, pathlib2, pyopenssl, pytest, python-dateutil, python-jose, pyvmomi, responses, salttesting, singledispatch, tempora, websocket-client -smmap2==2.0.5 # via gitdb2 -strict-rfc3339==0.7 -supervisor==3.3.5 ; python_version < "3" -tempora==1.14.1 # via portend -timelib==0.2.4 -tornado==4.5.3 ; python_version < "3" -urllib3==1.24.2 # via botocore, kubernetes, python-etcd, requests -virtualenv==16.4.3 -websocket-client==0.40.0 # via docker, kubernetes -werkzeug==0.15.2 # via moto -wrapt==1.11.1 # via aws-xray-sdk -xmltodict==0.12.0 # via moto -zc.lockfile==1.4 # via cherrypy diff --git a/requirements/static/ubuntu-14.04.in b/requirements/static/ubuntu-14.04.in deleted file mode 100644 index a7061108f2c..00000000000 --- a/requirements/static/ubuntu-14.04.in +++ /dev/null @@ -1,39 +0,0 @@ -# This is a compilation of requirements installed on salt-jenkins git.salt state run -apache-libcloud==2.0.0 -boto3 -boto>=2.46.0 -cffi -cherrypy==17.3.0 -croniter>=0.3.0,!=0.3.22 -dnspython -docker -futures>=2.0; python_version < '3.0' -GitPython -jsonschema<=2.6.0 -junos-eznc -jxmlease -keyring==5.7.1 -kubernetes<4.0 -mock>=2.0.0; python_version < '3.6' -more-itertools==5.0.0 -moto -msgpack-python >= 0.4.2, != 0.5.5 -paramiko==2.1.2 -psutil -# Let's install cryptodome instead of pycrypto because of pycrypto's outstanding security issues -# PyCrypto, if pulled, will be removed from the generated static requirements -pycryptodome -pyinotify -pyopenssl -python-etcd>0.4.2 -python-gnupg -pyvmomi -requests -rfc3987 -salttesting==2017.6.1 -setproctitle -strict_rfc3339 -supervisor==3.3.5; python_version < '3' -timelib -tornado<5.0 -virtualenv