From 6cfea2521d4562ca4ec48115eac4d98b0ab00948 Mon Sep 17 00:00:00 2001 From: Paulo Viadanna Date: Wed, 18 May 2022 11:10:57 -0300 Subject: [PATCH 1/8] Add Maple support --- instance/migrations/0151_studio_oauth.py | 25 +++++ instance/models/mixins/domain_names.py | 7 ++ instance/models/mixins/openedx_config.py | 67 ++++++++++- .../models/mixins/openedx_studio_oauth.py | 46 ++++++++ instance/models/openedx_instance.py | 2 + .../test_openedx_studio_oauth_mixins.py | 104 ++++++++++++++++++ opencraft/settings.py | 4 + 7 files changed, 254 insertions(+), 1 deletion(-) create mode 100644 instance/migrations/0151_studio_oauth.py create mode 100644 instance/models/mixins/openedx_studio_oauth.py create mode 100644 instance/tests/models/test_openedx_studio_oauth_mixins.py diff --git a/instance/migrations/0151_studio_oauth.py b/instance/migrations/0151_studio_oauth.py new file mode 100644 index 000000000..9b375dbe0 --- /dev/null +++ b/instance/migrations/0151_studio_oauth.py @@ -0,0 +1,25 @@ +# Generated by Django 2.2.24 on 2022-05-18 14:02 + +from django.db import migrations, models +import django.utils.crypto +import functools + + +class Migration(migrations.Migration): + + dependencies = [ + ('instance', '0150_auto_20220309_1120'), + ] + + operations = [ + migrations.AddField( + model_name='openedxinstance', + name='studio_oauth_key', + field=models.CharField(blank=True, default=functools.partial(django.utils.crypto.get_random_string, *(), **{'allowed_chars': 'abcdefghijklmnopqrstuvwxyz', 'length': 6}), max_length=6), + ), + migrations.AddField( + model_name='openedxinstance', + name='studio_oauth_secret', + field=models.CharField(blank=True, default=functools.partial(django.utils.crypto.get_random_string, *(), **{'length': 32}), max_length=32), + ), + ] diff --git a/instance/models/mixins/domain_names.py b/instance/models/mixins/domain_names.py index 8d1a62fea..904de810b 100644 --- a/instance/models/mixins/domain_names.py +++ b/instance/models/mixins/domain_names.py @@ -242,6 +242,13 @@ def url(self): """ return u'https://{}/'.format(self.domain) + @property + def mfe_url(self): + """ + MFE URL. + """ + return u'https://{}/'.format(self.mfe_domain) + @property def studio_url(self): """ diff --git a/instance/models/mixins/openedx_config.py b/instance/models/mixins/openedx_config.py index 7029db5e9..4d9daf9c9 100644 --- a/instance/models/mixins/openedx_config.py +++ b/instance/models/mixins/openedx_config.py @@ -98,6 +98,12 @@ def _get_configuration_variables(self): # EDXAPP_ENV_EXTRA as the other two overwrite this. "EDXAPP_CMS_ENV_EXTRA": { **extra_config, + # BB-6228 Studio Oauth login on Maple + 'SOCIAL_AUTH_EDX_OAUTH2_KEY': self.instance.studio_oauth_key, + 'SOCIAL_AUTH_EDX_OAUTH2_SECRET': self.instance.studio_oauth_secret, + 'SOCIAL_AUTH_EDX_OAUTH2_URL_ROOT': self.instance.url, + 'SOCIAL_AUTH_EDX_OAUTH2_PUBLIC_URL_ROOT': self.instance.url, + 'SESSION_COOKIE_NAME': settings.STUDIO_SESSION_COOKIE_NAME, }, "EDXAPP_LMS_ENV_EXTRA": { **extra_config, @@ -115,6 +121,10 @@ def _get_configuration_variables(self): # Explicitly set TOS_AND_HONOR link to '#' so that they are not combined. "TOS_AND_HONOR": "#" }, + # BB-6228 Studio Oauth login on Maple + 'IDA_LOGOUT_URI_LIST': [ + '{}/logout/'.format(self.instance.studio_domain) + ] }, "EDXAPP_MKTG_URL_LINK_MAP": { # set the tos and honor pages separately. Required for koa and above. @@ -439,6 +449,11 @@ def _get_configuration_variables(self): "FUNCTION": "retirement_lms_retire", }, ], + # BB-6228 Studio Oauth login on Maple + 'EDXAPP_CMS_SOCIAL_AUTH_EDX_OAUTH2_KEY': self.instance.studio_oauth_key, + 'EDXAPP_CMS_SOCIAL_AUTH_EDX_OAUTH2_SECRET': self.instance.studio_oauth_secret, + 'EDXAPP_CMS_URL_ROOT': self.instance.studio_url, + 'EDXAPP_CMS_LOGOUT_URL': '{}/logout/'.format(self.instance.studio_url), } if self.smtp_relay_settings: @@ -542,7 +557,57 @@ def _get_configuration_variables(self): "EDXAPP_LMS_WRITABLE_GRADEBOOK_URL": "https://{}/gradebook".format(self.instance.mfe_domain), "EDXAPP_PROFILE_MICROFRONTEND_URL": "https://{}/profile/u/".format(self.instance.mfe_domain), }) - + if self._is_openedx_release_in(['maple']): + template.update({ + 'EDXAPP_VIDEO_IMAGE_SETTINGS': { + 'VIDEO_IMAGE_MAX_BYTES': 2097152, + 'VIDEO_IMAGE_MIN_BYTES': 2048, + 'STORAGE_KWARGS': { + 'location': 'video-images/', + 'bucket': '{{ EDXAPP_AWS_STORAGE_BUCKET_NAME }}' + } + }, + 'EDXAPP_VIDEO_TRANSCRIPTS_SETTINGS': { + 'VIDEO_TRANSCRIPTS_MAX_BYTES': 3145728, + 'STORAGE_KWARGS': { + 'location': 'video-transcripts/', + 'bucket': '{{ EDXAPP_AWS_STORAGE_BUCKET_NAME }}' + } + }, + 'EDXAPP_CELERY_BROKER_TRANSPORT': 'amqp', + 'MFE_BASE': self.instance.mfe_domain, + 'MFE_SITE_NAME': self.instance.name, + 'MFE_BASE_SCHEMA': 'https', + 'MFE_DEPLOY_NGINX_PORT': 80, + 'MFE_DEPLOY_COMMON_HOSTNAME': self.instance.mfe_domain, + 'MFE_DEPLOY_VERSION': self.openedx_release, + 'MFES': [ + { + 'name': 'gradebook', + 'repo': 'frontend-app-gradebook', + 'public_path': '/gradebook/' + } + ], + 'EDXAPP_CSRF_COOKIE_SECURE': True, + 'EDXAPP_SESSION_COOKIE_SECURE': True, + 'EDXAPP_ENABLE_CORS_HEADERS': True, + 'EDXAPP_ENABLE_CROSS_DOMAIN_CSRF_COOKIE': True, + 'EDXAPP_CROSS_DOMAIN_CSRF_COOKIE_DOMAIN': '.{}'.format(self.instance.domain), + 'EDXAPP_CROSS_DOMAIN_CSRF_COOKIE_NAME': 'cross-domain-cookie-mfe', + 'EDXAPP_CORS_ORIGIN_WHITELIST': [ + self.instance.url, + self.instance.lms_preview_url, + self.instance.studio_url, + self.instance.mfe_url, + ], + 'EDXAPP_LMS_WRITABLE_GRADEBOOK_URL': '{}/gradebook'.format(self.instance.mfe_url), + 'MFE_FLAGS_SETUP_FLAGS_LIST': [ + 'grades.writable_gradebook', + 'course_home.course_home_use_legacy_frontend', + 'courseware.use_legacy_frontend' + ], + 'EDXAPP_SESSION_COOKIE_DOMAIN': '.{}'.format(self.instance.domain), + }) if settings.OPENEDX_ORACLEJDK_URL: template["oraclejdk_url"] = settings.OPENEDX_ORACLEJDK_URL diff --git a/instance/models/mixins/openedx_studio_oauth.py b/instance/models/mixins/openedx_studio_oauth.py new file mode 100644 index 000000000..5fc9c4d91 --- /dev/null +++ b/instance/models/mixins/openedx_studio_oauth.py @@ -0,0 +1,46 @@ +# -*- coding: utf-8 -*- +# +# OpenCraft -- tools to aid developing and hosting free software projects +# Copyright (C) 2015-2019 OpenCraft +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +""" +Open edX studio oauth sso mixin +""" +import functools +import string + +from django.db import models +from django.utils.crypto import get_random_string + + +class OpenEdXStudioOauthMixin(models.Model): + """ + An instance that configures Studio OAuth2 SSO + """ + + studio_oauth_key = models.CharField( + max_length=6, + default=functools.partial(get_random_string, length=6, allowed_chars=string.ascii_lowercase), + blank=True, + ) + studio_oauth_secret = models.CharField( + max_length=32, + blank=True, + default=functools.partial(get_random_string, length=32), + ) + + class Meta: + abstract = True diff --git a/instance/models/openedx_instance.py b/instance/models/openedx_instance.py index 8f4347521..c35b769e2 100644 --- a/instance/models/openedx_instance.py +++ b/instance/models/openedx_instance.py @@ -45,6 +45,7 @@ from instance.models.mixins.openedx_periodic_builds import OpenEdXPeriodicBuildsMixin from instance.models.mixins.openedx_site_configuration import OpenEdXSiteConfigurationMixin from instance.models.mixins.openedx_storage import OpenEdXStorageMixin +from instance.models.mixins.openedx_studio_oauth import OpenEdXStudioOauthMixin from instance.models.mixins.openedx_theme import OpenEdXThemeMixin from instance.models.mixins.secret_keys import SecretKeyInstanceMixin from instance.models.openedx_appserver import OpenEdXAppConfiguration @@ -65,6 +66,7 @@ class OpenEdXInstance( OpenEdXDatabaseMixin, OpenEdXMonitoringMixin, OpenEdXStorageMixin, + OpenEdXStudioOauthMixin, OpenEdXThemeMixin, OpenEdXPeriodicBuildsMixin, OpenEdXSiteConfigurationMixin, diff --git a/instance/tests/models/test_openedx_studio_oauth_mixins.py b/instance/tests/models/test_openedx_studio_oauth_mixins.py new file mode 100644 index 000000000..33c605e36 --- /dev/null +++ b/instance/tests/models/test_openedx_studio_oauth_mixins.py @@ -0,0 +1,104 @@ +# -*- coding: utf-8 -*- +# +# OpenCraft -- tools to aid developing and hosting free software projects +# Copyright (C) 2015-2019 OpenCraft +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +""" +OpenEdXInstance Studio Oauth Mixins - Tests +""" + +# Imports ##################################################################### + +from django.conf import settings + +import yaml +from botocore.session import get_session + +from instance.tests.base import TestCase +from instance.tests.models.factories.openedx_appserver import make_test_appserver +from instance.tests.models.factories.openedx_instance import OpenEdXInstanceFactory + + +# Clients ##################################################################### +iam_client = get_session().create_client('iam') +s3_client = get_session().create_client('s3') + +# Tests ####################################################################### + + +class OpenEdXStudioOauthMixinTestCase(TestCase): + """ + Tests for OpenEdXStudioOauthMixin + """ + + def test_studio_oauth_settings(self): + """ + Test that Studio Oauth key and secret are generated for instance + """ + instance = OpenEdXInstanceFactory() + self.assertIsNot(instance.studio_oauth_key, None) + self.assertIsNot(instance.studio_oauth_secret, None) + + def _check_generated_settings(self, instance): + """ + Check required settings are rendered on the appserver + """ + appserver = make_test_appserver(instance) + parsed_vars = yaml.load(appserver.configuration_settings, Loader=yaml.SafeLoader) + self.assertEqual( + parsed_vars['EDXAPP_CMS_ENV_EXTRA']['SOCIAL_AUTH_EDX_OAUTH2_KEY'], + instance.studio_oauth_key) + self.assertEqual( + parsed_vars['EDXAPP_CMS_ENV_EXTRA']['SOCIAL_AUTH_EDX_OAUTH2_SECRET'], + instance.studio_oauth_secret) + self.assertEqual( + parsed_vars['EDXAPP_CMS_ENV_EXTRA']['SOCIAL_AUTH_EDX_OAUTH2_URL_ROOT'], + instance.url) + self.assertEqual( + parsed_vars['EDXAPP_CMS_ENV_EXTRA']['SOCIAL_AUTH_EDX_OAUTH2_PUBLIC_URL_ROOT'], + instance.url) + self.assertEqual( + parsed_vars['EDXAPP_CMS_ENV_EXTRA']['SESSION_COOKIE_NAME'], + settings.STUDIO_SESSION_COOKIE_NAME) + self.assertIn( + '{}/logout/'.format(instance.studio_domain), + parsed_vars['EDXAPP_LMS_ENV_EXTRA']['IDA_LOGOUT_URI_LIST']) + self.assertEqual( + parsed_vars['EDXAPP_CMS_SOCIAL_AUTH_EDX_OAUTH2_KEY'], + instance.studio_oauth_key) + self.assertEqual( + parsed_vars['EDXAPP_CMS_SOCIAL_AUTH_EDX_OAUTH2_SECRET'], + instance.studio_oauth_secret) + self.assertEqual( + parsed_vars['EDXAPP_CMS_URL_ROOT'], + instance.studio_url) + self.assertEqual( + parsed_vars['EDXAPP_CMS_LOGOUT_URL'], + '{}/logout/'.format(instance.studio_url)) + + def test_studio_oauth_master_settings(self): + """ + Test that Studio Oauth key and secret are passed to the appserver on master + """ + instance = OpenEdXInstanceFactory() + self._check_generated_settings(instance) + + def test_studio_oauth_maple_settings(self): + """ + Test that Studio Oauth key and secret are passed to the appserver on Maple + """ + instance = OpenEdXInstanceFactory(openedx_release='opencraft-release/maple.3') + self._check_generated_settings(instance) diff --git a/opencraft/settings.py b/opencraft/settings.py index 00019fd54..fb5c3e293 100644 --- a/opencraft/settings.py +++ b/opencraft/settings.py @@ -1024,3 +1024,7 @@ GROVE_DEFAULT_REPOSITORY_TRIGGER_TOKEN = env.str('GROVE_DEFAULT_REPOSITORY_TRIGGER_TOKEN', default=GITLAB_API_TOKEN) DEFAULT_GITLAB_USER = env.str('DEFAULT_GITLAB_USER') DEFAULT_GITLAB_PERSONAL_ACCESS_TOKEN = env.str('DEFAULT_GITLAB_PERSONAL_ACCESS_TOKEN', default=GITLAB_API_TOKEN) + +# Studio Oauth SSO + +STUDIO_SESSION_COOKIE_NAME = 'studio_sessionid' From 0ce1647f8c9fc7f1ba44e0483cbb6c84068a0c88 Mon Sep 17 00:00:00 2001 From: Paulo Viadanna Date: Wed, 18 May 2022 11:32:46 -0300 Subject: [PATCH 2/8] Stable version defaults to maple.3 --- instance/tests/integration/factories/instance.py | 4 ++-- instance/tests/models/test_openedx_studio_oauth_mixins.py | 4 ++-- opencraft/settings.py | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/instance/tests/integration/factories/instance.py b/instance/tests/integration/factories/instance.py index 67fe0c3f3..4336c7f6a 100644 --- a/instance/tests/integration/factories/instance.py +++ b/instance/tests/integration/factories/instance.py @@ -79,8 +79,8 @@ def create(cls, *args, **kwargs): # pylint: disable=arguments-differ # or a release candidate tag will work. We point both the edx-platform and the configuration # versions to the branch "integration" in our own forks. These branches are based on the # corresponding openedx_release versions from upstream, but can contain custom modifications. - openedx_release = 'open-release/lilac.2' + openedx_release = 'open-release/maple.3' configuration_source_repo_url = 'https://github.com/open-craft/configuration.git' configuration_version = 'integration-lilac' edx_platform_repository_url = 'https://github.com/open-craft/edx-platform.git' - edx_platform_commit = 'opencraft-release/lilac.2' + edx_platform_commit = 'opencraft-release/maple.3' diff --git a/instance/tests/models/test_openedx_studio_oauth_mixins.py b/instance/tests/models/test_openedx_studio_oauth_mixins.py index 33c605e36..a27bf6957 100644 --- a/instance/tests/models/test_openedx_studio_oauth_mixins.py +++ b/instance/tests/models/test_openedx_studio_oauth_mixins.py @@ -96,9 +96,9 @@ def test_studio_oauth_master_settings(self): instance = OpenEdXInstanceFactory() self._check_generated_settings(instance) - def test_studio_oauth_maple_settings(self): + def test_studio_oauth_production_settings(self): """ Test that Studio Oauth key and secret are passed to the appserver on Maple """ - instance = OpenEdXInstanceFactory(openedx_release='opencraft-release/maple.3') + instance = OpenEdXInstanceFactory(openedx_release=settings.STABLE_EDX_PLATFORM_COMMIT) self._check_generated_settings(instance) diff --git a/opencraft/settings.py b/opencraft/settings.py index fb5c3e293..b41e702be 100644 --- a/opencraft/settings.py +++ b/opencraft/settings.py @@ -448,7 +448,7 @@ # Git ref for stable Open edX release. Used as a default refspec for # configuration, edx-platform, forum, notifier, xqueue, and certs when creating production instances. -OPENEDX_RELEASE_STABLE_REF = env('OPENEDX_RELEASE_STABLE_REF', default='open-release/lilac.2') +OPENEDX_RELEASE_STABLE_REF = env('OPENEDX_RELEASE_STABLE_REF', default='open-release/maple.3') # The edx-platform repository used by default for production instances STABLE_EDX_PLATFORM_REPO_URL = env( @@ -460,7 +460,7 @@ STABLE_CONFIGURATION_REPO_URL = env( 'STABLE_CONFIGURATION_REPO_URL', default=DEFAULT_CONFIGURATION_REPO_URL ) -STABLE_CONFIGURATION_VERSION = env('STABLE_CONFIGURATION_VERSION', default='opencraft-release/lilac.2') +STABLE_CONFIGURATION_VERSION = env('STABLE_CONFIGURATION_VERSION', default='opencraft-release/maple.3') # The name of the security group to use for edxapp App servers. # This is used to set appropriate firewall rules to prevent external access to From b1a69ef715ab52a2688795178873593117dcf052 Mon Sep 17 00:00:00 2001 From: Paulo Viadanna Date: Fri, 20 May 2022 13:01:20 -0300 Subject: [PATCH 3/8] Strip paths in EDXAPP_CORS_ORIGIN_WHITELIST --- instance/models/mixins/openedx_config.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/instance/models/mixins/openedx_config.py b/instance/models/mixins/openedx_config.py index 4d9daf9c9..1fc857320 100644 --- a/instance/models/mixins/openedx_config.py +++ b/instance/models/mixins/openedx_config.py @@ -595,10 +595,10 @@ def _get_configuration_variables(self): 'EDXAPP_CROSS_DOMAIN_CSRF_COOKIE_DOMAIN': '.{}'.format(self.instance.domain), 'EDXAPP_CROSS_DOMAIN_CSRF_COOKIE_NAME': 'cross-domain-cookie-mfe', 'EDXAPP_CORS_ORIGIN_WHITELIST': [ - self.instance.url, - self.instance.lms_preview_url, - self.instance.studio_url, - self.instance.mfe_url, + self.instance.url.rstrip('/'), + self.instance.lms_preview_url.rstrip('/'), + self.instance.studio_url.rstrip('/'), + self.instance.mfe_url.rstrip('/'), ], 'EDXAPP_LMS_WRITABLE_GRADEBOOK_URL': '{}/gradebook'.format(self.instance.mfe_url), 'MFE_FLAGS_SETUP_FLAGS_LIST': [ From 1b78dfd4cb03bd82c1878f4d116d06436a9c773a Mon Sep 17 00:00:00 2001 From: Paulo Viadanna Date: Mon, 23 May 2022 16:19:56 -0300 Subject: [PATCH 4/8] Fix EDXAPP_LMS_WRITABLE_GRADEBOOK_URL --- instance/models/mixins/openedx_config.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/instance/models/mixins/openedx_config.py b/instance/models/mixins/openedx_config.py index 1fc857320..54c972e40 100644 --- a/instance/models/mixins/openedx_config.py +++ b/instance/models/mixins/openedx_config.py @@ -600,7 +600,7 @@ def _get_configuration_variables(self): self.instance.studio_url.rstrip('/'), self.instance.mfe_url.rstrip('/'), ], - 'EDXAPP_LMS_WRITABLE_GRADEBOOK_URL': '{}/gradebook'.format(self.instance.mfe_url), + 'EDXAPP_LMS_WRITABLE_GRADEBOOK_URL': '{}gradebook'.format(self.instance.mfe_url), 'MFE_FLAGS_SETUP_FLAGS_LIST': [ 'grades.writable_gradebook', 'course_home.course_home_use_legacy_frontend', From a62e694a8e923bac8762feae050172636e874d8c Mon Sep 17 00:00:00 2001 From: Paulo Viadanna Date: Tue, 24 May 2022 08:38:57 -0300 Subject: [PATCH 5/8] Linting --- instance/tests/models/test_openedx_studio_oauth_mixins.py | 5 ----- 1 file changed, 5 deletions(-) diff --git a/instance/tests/models/test_openedx_studio_oauth_mixins.py b/instance/tests/models/test_openedx_studio_oauth_mixins.py index a27bf6957..ac655ace8 100644 --- a/instance/tests/models/test_openedx_studio_oauth_mixins.py +++ b/instance/tests/models/test_openedx_studio_oauth_mixins.py @@ -25,17 +25,12 @@ from django.conf import settings import yaml -from botocore.session import get_session from instance.tests.base import TestCase from instance.tests.models.factories.openedx_appserver import make_test_appserver from instance.tests.models.factories.openedx_instance import OpenEdXInstanceFactory -# Clients ##################################################################### -iam_client = get_session().create_client('iam') -s3_client = get_session().create_client('s3') - # Tests ####################################################################### From 9527c67db21ea1453957bf5ff569766511b51cca Mon Sep 17 00:00:00 2001 From: Paulo Viadanna Date: Tue, 24 May 2022 14:21:21 -0300 Subject: [PATCH 6/8] Upgrade requirements for python 3.8 --- requirements/base.in | 2 +- requirements/base.txt | 296 +++++++++++++++------------------ requirements/dev.in | 5 +- requirements/dev.txt | 371 ++++++++++++++++++++---------------------- requirements/test.in | 1 - requirements/test.txt | 340 ++++++++++++++++++-------------------- 6 files changed, 470 insertions(+), 545 deletions(-) diff --git a/requirements/base.in b/requirements/base.in index 38bfa6d22..0307fba82 100644 --- a/requirements/base.in +++ b/requirements/base.in @@ -9,7 +9,7 @@ channels_redis==2.4.0 CherryPy<18.2 colour==0.1.5 cookies<2.3 -cryptography==3.2.1 +cryptography dictdiffer<0.9 Django<2.3,>=2.2 django-compressor==2.4 diff --git a/requirements/base.txt b/requirements/base.txt index ac2cd0a9e..8f0d20bbd 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile +# This file is autogenerated by pip-compile with python 3.8 # To update, run: # # pip-compile --output-file=requirements/base.txt requirements/base.in @@ -10,28 +10,29 @@ appdirs==1.4.4 # via # fcache # openstacksdk - # virtualenv -apscheduler==3.8.1 +apscheduler==3.9.1 # via unleashclient -asgiref==3.4.1 +asgiref==3.5.2 # via # channels # channels-redis # daphne -async-timeout==3.0.1 +async-timeout==4.0.2 # via aioredis -attrs==21.2.0 +attrs==21.4.0 # via # automat # cmd2 # jsonschema # service-identity # twisted -autobahn==21.2.1 +autobahn==22.4.2 # via daphne automat==20.2.0 # via twisted -backports.zoneinfo==0.2.1 +autopage==0.5.0 + # via cliff +backports-zoneinfo==0.2.1 # via # pytz-deprecation-shim # tzlocal @@ -39,40 +40,38 @@ beautifulsoup4==4.7.1 # via # -r requirements/base.in # pynliner -boto3==1.9.253 - # via -r requirements/base.in boto==2.49.0 # via -r requirements/base.in +boto3==1.9.253 + # via -r requirements/base.in botocore==1.12.253 # via # boto3 # s3transfer -certifi==2021.5.30 +certifi==2022.5.18.1 # via requests -cffi==1.14.5 +cffi==1.15.0 # via cryptography channels==2.3.0 # via # -r requirements/base.in # channels-redis -channels_redis==2.4.0 +channels-redis==2.4.0 # via -r requirements/base.in -chardet==4.0.0 +charset-normalizer==2.0.12 # via requests -cheroot==8.5.2 +cheroot==8.6.0 # via cherrypy cherrypy==18.1.2 # via -r requirements/base.in -click==8.0.1 +click==8.1.3 # via pip-tools -cliff==3.8.0 +cliff==3.10.1 # via # osc-lib # python-openstackclient -cmd2==2.1.1 +cmd2==2.4.1 # via cliff -colorama==0.4.4 - # via cmd2 colour==0.1.5 # via -r requirements/base.in constantly==15.1.0 @@ -85,33 +84,45 @@ coreschema==0.0.4 # via # coreapi # drf-yasg -cryptography==3.2.1 +cryptography==37.0.2 # via # -r requirements/base.in # autobahn # dns-lexicon # openstacksdk # pyopenssl - # requests # service-identity -cssutils==2.3.0 +cssutils==2.4.0 # via pynliner daphne==2.5.0 # via channels -debtcollector==2.2.0 +debtcollector==2.5.0 # via - # oslo.config - # oslo.utils + # oslo-config + # oslo-utils # python-keystoneclient -decorator==5.0.9 +decorator==5.1.1 # via - # dogpile.cache + # dogpile-cache # openstacksdk dictdiffer==0.8.1 # via -r requirements/base.in -distlib==0.3.2 +distlib==0.3.4 # via virtualenv -django-appconf==1.0.4 +django==2.2.28 + # via + # -r requirements/base.in + # channels + # django-appconf + # django-cors-headers + # django-inlinecss + # django-redis + # django-simple-email-confirmation + # django-storages + # djangorestframework + # djangorestframework-simplejwt + # drf-yasg +django-appconf==1.0.5 # via django-compressor django-compressor==2.4 # via @@ -141,26 +152,13 @@ django-storages==1.7.1 # via -r requirements/base.in django-zurb-foundation==5.5.0 # via -r requirements/base.in -django==2.2.24 +djangorestframework==3.13.1 # via # -r requirements/base.in - # channels - # django-appconf - # django-cors-headers - # django-inlinecss - # django-redis - # django-simple-email-confirmation - # django-storages - # djangorestframework # djangorestframework-simplejwt # drf-yasg -djangorestframework-simplejwt==4.4.0 +djangorestframework-simplejwt==5.1.0 # via -r requirements/base.in -djangorestframework==3.12.4 - # via - # -r requirements/base.in - # djangorestframework-simplejwt - # drf-yasg dns-lexicon==3.3.13 # via -r requirements/base.in dnspython==2.1.0 @@ -169,7 +167,7 @@ docutils==0.14 # via # -r requirements/base.in # botocore -dogpile.cache==1.1.3 +dogpile-cache==1.1.5 # via openstacksdk drf-yasg==1.20.0 # via -r requirements/base.in @@ -177,7 +175,7 @@ entrypoints==0.3 # via -r requirements/base.in fcache==0.4.7 # via unleashclient -filelock==3.0.12 +filelock==3.7.0 # via virtualenv future==0.17.1 # via @@ -185,7 +183,7 @@ future==0.17.1 # django-inlinecss # dns-lexicon # pyjwkest -futures==3.1.1 +futures==3.0.5 # via -r requirements/base.in gitdb2==2.0.6 # via gitpython @@ -203,48 +201,32 @@ hyperlink==21.0.0 # via # autobahn # twisted -idna==2.10 +idna==3.3 # via # hyperlink # requests # tldextract # twisted -importlib-metadata==4.6.1 - # via - # click - # cmd2 - # cssutils - # jsonschema - # openstacksdk - # oslo.config - # prettytable - # stevedore - # virtualenv -importlib-resources==5.2.0 - # via - # backports.zoneinfo - # netaddr - # virtualenv incremental==21.3.0 # via twisted inflection==0.5.1 # via drf-yasg -iso8601==0.1.14 +iso8601==1.0.2 # via # keystoneauth1 # openstacksdk - # oslo.utils + # oslo-utils # python-novaclient # python-openstackclient itypes==1.2.0 # via coreapi -jaraco.functools==3.3.0 +jaraco-functools==3.5.0 # via # cheroot # tempora jedi==0.17.2 # via -r requirements/base.in -jinja2==3.0.1 +jinja2==3.1.2 # via coreschema jmespath==0.10.0 # via @@ -255,13 +237,13 @@ jsonpatch==1.32 # via # openstacksdk # warlock -jsonpointer==2.1 +jsonpointer==2.3 # via jsonpatch jsonschema==3.2.0 # via # -r requirements/base.in # warlock -keystoneauth1==4.3.1 +keystoneauth1==4.6.0 # via # -r requirements/base.in # openstacksdk @@ -274,34 +256,34 @@ libsass==0.21.0 # via django-libsass mailchimp3==3.0.13 # via -r requirements/base.in -markupsafe==2.0.1 +markupsafe==2.1.1 # via jinja2 mccabe==0.6.1 # via -r requirements/base.in mmh3==3.0.0 # via unleashclient -more-itertools==8.8.0 +more-itertools==8.13.0 # via # cheroot # cherrypy - # jaraco.functools + # jaraco-functools msgpack==0.6.2 # via # channels-redis - # oslo.serialization + # oslo-serialization munch==2.5.0 # via openstacksdk mysqlclient==1.4.2.post1 # via -r requirements/base.in netaddr==0.8.0 # via - # oslo.config - # oslo.utils + # oslo-config + # oslo-utils netifaces==0.11.0 # via # openstacksdk - # oslo.utils -openstacksdk==0.57.0 + # oslo-utils +openstacksdk==0.99.0 # via # -r requirements/base.in # os-client-config @@ -313,63 +295,65 @@ os-service-types==1.7.0 # via # keystoneauth1 # openstacksdk -osc-lib==2.4.1 +osc-lib==2.6.0 # via python-openstackclient -oslo.config==8.7.0 +oslo-config==8.8.0 # via python-keystoneclient -oslo.i18n==5.0.1 +oslo-i18n==5.1.0 # via # osc-lib - # oslo.config - # oslo.utils + # oslo-config + # oslo-utils # python-cinderclient # python-glanceclient # python-keystoneclient # python-novaclient # python-openstackclient -oslo.serialization==4.1.0 +oslo-serialization==4.3.0 # via # python-keystoneclient # python-novaclient -oslo.utils==4.9.1 +oslo-utils==4.13.0 # via # osc-lib - # oslo.serialization + # oslo-serialization # python-cinderclient # python-glanceclient # python-keystoneclient # python-novaclient # python-openstackclient -packaging==21.0 +packaging==21.3 # via # drf-yasg - # oslo.utils + # oslo-utils + # python-keystoneclient parso==0.7.1 # via jedi -pbr==5.6.0 +pbr==5.9.0 # via # cliff - # debtcollector # keystoneauth1 # openstacksdk # os-service-types # osc-lib - # oslo.i18n - # oslo.serialization - # oslo.utils + # oslo-i18n + # oslo-serialization + # oslo-utils # python-cinderclient # python-glanceclient # python-keystoneclient # python-novaclient # python-openstackclient # stevedore -pillow==8.3.0 +pillow==9.1.1 # via -r requirements/base.in pip-tools==5.5.0 # via -r requirements/base.in -portend==2.7.1 +platformdirs==2.5.2 + # via virtualenv +portend==3.1.0 # via cherrypy -prettytable==2.1.0 +prettytable==3.3.0 # via # cliff # python-cinderclient @@ -377,15 +361,15 @@ prettytable==2.1.0 # python-novaclient psycopg2-binary==2.8.3 # via -r requirements/base.in -pyasn1-modules==0.2.8 - # via service-identity pyasn1==0.4.8 # via # pyasn1-modules # service-identity -pycparser==2.20 +pyasn1-modules==0.2.8 + # via service-identity +pycparser==2.21 # via cffi -pycryptodomex==3.10.1 +pycryptodomex==3.14.1 # via pyjwkest pyjwkest==1.4.0 # via -r requirements/base.in @@ -397,80 +381,76 @@ pymongo==3.8.0 # via -r requirements/base.in pynliner==0.8.0 # via django-inlinecss -pyopenssl==20.0.1 +pyopenssl==22.0.0 # via # python-glanceclient - # requests # twisted -pyparsing==2.4.7 +pyparsing==3.0.9 # via # cliff - # oslo.utils + # oslo-utils # packaging pyperclip==1.8.2 # via cmd2 -pyrsistent==0.18.0 +pyrsistent==0.18.1 # via jsonschema -python-cinderclient==7.4.0 +python-cinderclient==8.3.0 # via python-openstackclient python-consul==1.1.0 # via -r requirements/base.in -python-dateutil==2.8.1 +python-dateutil==2.8.2 # via botocore -python-glanceclient==3.4.0 +python-glanceclient==4.0.0 # via -r requirements/base.in -python-keystoneclient==4.2.0 +python-keystoneclient==4.5.0 # via # -r requirements/base.in # django-storage-swift # python-openstackclient -python-magic==0.4.24 +python-magic==0.4.26 # via django-storage-swift -python-novaclient==17.5.0 +python-novaclient==18.0.0 # via # -r requirements/base.in # python-openstackclient -python-openstackclient==5.5.0 +python-openstackclient==5.8.0 # via -r requirements/base.in -python-swiftclient==3.12.0 +python-swiftclient==4.0.0 # via # -r requirements/base.in # django-storage-swift -pytz-deprecation-shim==0.1.0.post0 - # via tzlocal pytz==2019.1 # via # -r requirements/base.in # apscheduler # django - # oslo.serialization - # oslo.utils + # djangorestframework + # oslo-serialization + # oslo-utils # tempora +pytz-deprecation-shim==0.1.0.post0 + # via tzlocal pyyaml==5.4.1 # via # -r requirements/base.in # cliff # dns-lexicon # openstacksdk - # oslo.config + # oslo-config rcssmin==1.0.6 # via django-compressor redis==3.5.3 # via # -r requirements/base.in # django-redis -requests-file==1.4.3 - # via - # -r requirements/base.in - # tldextract -requests[security]==2.25.1 +requests[security]==2.27.1 # via # -r requirements/base.in # coreapi # dns-lexicon # keystoneauth1 # mailchimp3 - # oslo.config + # oslo-config # pyjwkest # python-cinderclient # python-consul @@ -481,25 +461,29 @@ requests[security]==2.25.1 # responses # tldextract # unleashclient +requests-file==1.4.3 + # via + # -r requirements/base.in + # tldextract requestsexceptions==1.4.0 # via openstacksdk responses==0.10.6 # via -r requirements/base.in -rfc3986==1.5.0 - # via oslo.config +rfc3986==2.0.0 + # via oslo-config rjsmin==1.1.0 # via django-compressor -ruamel.yaml.clib==0.2.6 - # via ruamel.yaml -ruamel.yaml==0.17.10 +ruamel-yaml==0.17.21 # via drf-yasg +ruamel-yaml-clib==0.2.6 + # via ruamel-yaml s3transfer==0.2.1 # via boto3 service-identity==18.1.0 # via # -r requirements/base.in # twisted -simplejson==3.17.2 +simplejson==3.17.6 # via # osc-lib # python-cinderclient @@ -509,8 +493,6 @@ six==1.16.0 # apscheduler # automat # cheroot - # cryptography - # debtcollector # django-compressor # django-extensions # django-storage-swift @@ -518,58 +500,52 @@ six==1.16.0 # keystoneauth1 # libsass # munch - # oslo.i18n # pyjwkest - # pyopenssl # python-consul # python-dateutil # python-keystoneclient - # python-swiftclient # requests-file # responses # virtualenv # warlock +smmap==5.0.0 + # via smmap2 smmap2==3.0.1 # via gitdb2 -smmap==4.0.0 - # via smmap2 -soupsieve==2.2.1 +soupsieve==2.3.2.post1 # via beautifulsoup4 -sqlparse==0.4.1 +sqlparse==0.4.2 # via django -stevedore==3.3.0 +stevedore==3.5.0 # via # cliff - # dogpile.cache + # dogpile-cache # keystoneauth1 # osc-lib - # oslo.config + # oslo-config # python-cinderclient # python-keystoneclient # python-novaclient # python-openstackclient -tempora==4.1.1 +tempora==5.0.1 # via portend tldextract==2.2.3 # via # -r requirements/base.in # dns-lexicon -twisted[tls]==21.2.0 +twisted[tls]==22.4.0 # via daphne -txaio==21.2.1 +txaio==22.2.1 # via autobahn -typing-extensions==3.10.0.0 - # via - # asgiref - # cmd2 - # importlib-metadata -tzdata==2021.5 +typing-extensions==4.2.0 + # via twisted +tzdata==2022.1 # via pytz-deprecation-shim -tzlocal==4.1 +tzlocal==4.2 # via apscheduler unleashclient==4.4.1 # via -r requirements/base.in -uritemplate==3.0.1 +uritemplate==4.1.1 # via # coreapi # drf-yasg @@ -578,7 +554,7 @@ urllib3==1.25.3 # -r requirements/base.in # botocore # requests -virtualenv==20.4.7 +virtualenv==20.14.1 # via -r requirements/base.in warlock==1.3.3 # via python-glanceclient @@ -588,17 +564,13 @@ wcwidth==0.2.5 # prettytable werkzeug==0.15.4 # via -r requirements/base.in -wrapt==1.12.1 +wrapt==1.14.1 # via # debtcollector # python-glanceclient -zc.lockfile==2.0 +zc-lockfile==2.0 # via cherrypy -zipp==3.5.0 - # via - # importlib-metadata - # importlib-resources -zope.interface==5.4.0 +zope-interface==5.4.0 # via twisted # The following packages are considered to be unsafe in a requirements file: diff --git a/requirements/dev.in b/requirements/dev.in index 9aecc8bc9..e817827cb 100644 --- a/requirements/dev.in +++ b/requirements/dev.in @@ -1,8 +1,7 @@ -r test.in -cryptography==3.2.1 django-debug-toolbar==2.2 -ipdb==0.12 -ipython==7.16.1 +ipdb +ipython pygments==2.7.4 isort==4.3.20 diff --git a/requirements/dev.txt b/requirements/dev.txt index 7fecb34de..a7dea2572 100644 --- a/requirements/dev.txt +++ b/requirements/dev.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile +# This file is autogenerated by pip-compile with python 3.8 # To update, run: # # pip-compile --output-file=requirements/dev.txt requirements/dev.in @@ -10,10 +10,9 @@ appdirs==1.4.4 # via # fcache # openstacksdk - # virtualenv -apscheduler==3.8.1 +apscheduler==3.9.1 # via unleashclient -asgiref==3.4.1 +asgiref==3.5.2 # via # channels # channels-redis @@ -23,22 +22,26 @@ astroid==2.1.0 # pylint # pylint-celery # requirements-detector -async-timeout==3.0.1 +asttokens==2.0.5 + # via stack-data +async-timeout==4.0.2 # via aioredis -attrs==21.2.0 +attrs==21.4.0 # via # automat # cmd2 # jsonschema # service-identity # twisted -autobahn==21.2.1 +autobahn==22.4.2 # via daphne automat==20.2.0 # via twisted +autopage==0.5.0 + # via cliff backcall==0.2.0 # via ipython -backports.zoneinfo==0.2.1 +backports-zoneinfo==0.2.1 # via # pytz-deprecation-shim # tzlocal @@ -46,40 +49,38 @@ beautifulsoup4==4.7.1 # via # -r requirements/base.in # pynliner -boto3==1.9.253 - # via -r requirements/base.in boto==2.49.0 # via -r requirements/base.in +boto3==1.9.253 + # via -r requirements/base.in botocore==1.12.253 # via # boto3 # s3transfer -certifi==2021.5.30 +certifi==2022.5.18.1 # via requests -cffi==1.14.5 +cffi==1.15.0 # via cryptography channels==2.3.0 # via # -r requirements/base.in # channels-redis -channels_redis==2.4.0 +channels-redis==2.4.0 # via -r requirements/base.in -chardet==4.0.0 +charset-normalizer==2.0.12 # via requests -cheroot==8.5.2 +cheroot==8.6.0 # via cherrypy cherrypy==18.1.2 # via -r requirements/base.in -click==8.0.1 +click==8.1.3 # via pip-tools -cliff==3.8.0 +cliff==3.10.1 # via # osc-lib # python-openstackclient -cmd2==2.1.1 +cmd2==2.4.1 # via cliff -colorama==0.4.4 - # via cmd2 colour==0.1.5 # via -r requirements/base.in constantly==15.1.0 @@ -94,39 +95,50 @@ coreschema==0.0.4 # drf-yasg coverage==4.5.4 # via -r requirements/test.in -cryptography==3.2.1 +cryptography==37.0.2 # via # -r requirements/base.in - # -r requirements/dev.in - # -r requirements/test.in # autobahn # dns-lexicon # openstacksdk # pyopenssl - # requests # service-identity -cssutils==2.3.0 +cssutils==2.4.0 # via pynliner daphne==2.5.0 # via channels -ddt==1.4.2 +ddt==1.5.0 # via -r requirements/test.in -debtcollector==2.2.0 +debtcollector==2.5.0 # via - # oslo.config - # oslo.utils + # oslo-config + # oslo-utils # python-keystoneclient -decorator==5.0.9 +decorator==5.1.1 # via - # dogpile.cache + # dogpile-cache + # ipdb # ipython # openstacksdk - # traitlets dictdiffer==0.8.1 # via -r requirements/base.in -distlib==0.3.2 +distlib==0.3.4 # via virtualenv -django-appconf==1.0.4 +django==2.2.28 + # via + # -r requirements/base.in + # channels + # django-appconf + # django-cors-headers + # django-debug-toolbar + # django-inlinecss + # django-redis + # django-simple-email-confirmation + # django-storages + # djangorestframework + # djangorestframework-simplejwt + # drf-yasg +django-appconf==1.0.5 # via django-compressor django-compressor==2.4 # via @@ -158,27 +170,13 @@ django-storages==1.7.1 # via -r requirements/base.in django-zurb-foundation==5.5.0 # via -r requirements/base.in -django==2.2.24 +djangorestframework==3.13.1 # via # -r requirements/base.in - # channels - # django-appconf - # django-cors-headers - # django-debug-toolbar - # django-inlinecss - # django-redis - # django-simple-email-confirmation - # django-storages - # djangorestframework # djangorestframework-simplejwt # drf-yasg -djangorestframework-simplejwt==4.4.0 +djangorestframework-simplejwt==5.1.0 # via -r requirements/base.in -djangorestframework==3.12.4 - # via - # -r requirements/base.in - # djangorestframework-simplejwt - # drf-yasg dns-lexicon==3.3.13 # via -r requirements/base.in dnspython==2.1.0 @@ -189,28 +187,30 @@ docutils==0.14 # botocore dodgy==0.2.1 # via prospector -dogpile.cache==1.1.3 +dogpile-cache==1.1.5 # via openstacksdk drf-yasg==1.20.0 # via -r requirements/base.in entrypoints==0.3 # via -r requirements/base.in +executing==0.8.3 + # via stack-data factory-boy==2.12.0 # via -r requirements/test.in -faker==8.9.1 +faker==13.11.1 # via # -r requirements/test.in # factory-boy fcache==0.4.7 # via unleashclient -filelock==3.0.12 +filelock==3.7.0 # via virtualenv -flake8-polyfill==1.0.2 - # via -r requirements/test.in flake8==3.5.0 # via # -r requirements/test.in # flake8-polyfill +flake8-polyfill==1.0.2 + # via -r requirements/test.in freezegun==0.3.15 # via -r requirements/test.in future==0.17.1 @@ -219,7 +219,7 @@ future==0.17.1 # django-inlinecss # dns-lexicon # pyjwkest -futures==3.1.1 +futures==3.0.5 # via -r requirements/base.in gitdb2==2.0.6 # via gitpython @@ -237,45 +237,27 @@ hyperlink==21.0.0 # via # autobahn # twisted -idna==2.10 +idna==3.3 # via # hyperlink # requests # tldextract # twisted -importlib-metadata==4.6.1 - # via - # click - # cmd2 - # cssutils - # jsonschema - # openstacksdk - # oslo.config - # prettytable - # stevedore - # virtualenv -importlib-resources==5.2.0 - # via - # backports.zoneinfo - # netaddr - # virtualenv incremental==21.3.0 # via twisted inflection==0.5.1 # via drf-yasg -ipdb==0.12 +ipdb==0.13.9 # via -r requirements/dev.in -ipython-genutils==0.2.0 - # via traitlets -ipython==7.16.1 +ipython==8.3.0 # via # -r requirements/dev.in # ipdb -iso8601==0.1.14 +iso8601==1.0.2 # via # keystoneauth1 # openstacksdk - # oslo.utils + # oslo-utils # python-novaclient # python-openstackclient isort==4.3.20 @@ -284,7 +266,7 @@ isort==4.3.20 # pylint itypes==1.2.0 # via coreapi -jaraco.functools==3.3.0 +jaraco-functools==3.5.0 # via # cheroot # tempora @@ -292,7 +274,7 @@ jedi==0.17.2 # via # -r requirements/base.in # ipython -jinja2==3.0.1 +jinja2==3.1.2 # via coreschema jmespath==0.10.0 # via @@ -303,13 +285,13 @@ jsonpatch==1.32 # via # openstacksdk # warlock -jsonpointer==2.1 +jsonpointer==2.3 # via jsonpatch jsonschema==3.2.0 # via # -r requirements/base.in # warlock -keystoneauth1==4.3.1 +keystoneauth1==4.6.0 # via # -r requirements/base.in # openstacksdk @@ -318,14 +300,16 @@ keystoneauth1==4.3.1 # python-glanceclient # python-keystoneclient # python-novaclient -lazy-object-proxy==1.6.0 +lazy-object-proxy==1.7.1 # via astroid libsass==0.21.0 # via django-libsass mailchimp3==3.0.13 # via -r requirements/base.in -markupsafe==2.0.1 +markupsafe==2.1.1 # via jinja2 +matplotlib-inline==0.1.3 + # via ipython mccabe==0.6.1 # via # -r requirements/base.in @@ -334,30 +318,30 @@ mccabe==0.6.1 # pylint mmh3==3.0.0 # via unleashclient -more-itertools==8.8.0 +more-itertools==8.13.0 # via # cheroot # cherrypy - # jaraco.functools + # jaraco-functools msgpack==0.6.2 # via # channels-redis - # oslo.serialization + # oslo-serialization munch==2.5.0 # via openstacksdk mysqlclient==1.4.2.post1 # via -r requirements/base.in netaddr==0.8.0 # via - # oslo.config - # oslo.utils + # oslo-config + # oslo-utils netifaces==0.11.0 # via # openstacksdk - # oslo.utils + # oslo-utils nose==1.3.7 # via -r requirements/test.in -openstacksdk==0.57.0 +openstacksdk==0.99.0 # via # -r requirements/base.in # os-client-config @@ -369,50 +353,51 @@ os-service-types==1.7.0 # via # keystoneauth1 # openstacksdk -osc-lib==2.4.1 +osc-lib==2.6.0 # via python-openstackclient -oslo.config==8.7.0 +oslo-config==8.8.0 # via python-keystoneclient -oslo.i18n==5.0.1 +oslo-i18n==5.1.0 # via # osc-lib - # oslo.config - # oslo.utils + # oslo-config + # oslo-utils # python-cinderclient # python-glanceclient # python-keystoneclient # python-novaclient # python-openstackclient -oslo.serialization==4.1.0 +oslo-serialization==4.3.0 # via # python-keystoneclient # python-novaclient -oslo.utils==4.9.1 +oslo-utils==4.13.0 # via # osc-lib - # oslo.serialization + # oslo-serialization # python-cinderclient # python-glanceclient # python-keystoneclient # python-novaclient # python-openstackclient -packaging==21.0 +packaging==21.3 # via # drf-yasg - # oslo.utils + # oslo-utils + # python-keystoneclient + # requirements-detector parso==0.7.1 # via jedi -pbr==5.6.0 +pbr==5.9.0 # via # cliff - # debtcollector # keystoneauth1 # openstacksdk # os-service-types # osc-lib - # oslo.i18n - # oslo.serialization - # oslo.utils + # oslo-i18n + # oslo-serialization + # oslo-utils # python-cinderclient # python-glanceclient # python-keystoneclient @@ -425,19 +410,23 @@ pexpect==4.8.0 # via ipython pickleshare==0.7.5 # via ipython -pillow==8.3.0 +pillow==9.1.1 # via -r requirements/base.in pip-tools==5.5.0 # via -r requirements/base.in -portend==2.7.1 +platformdirs==2.5.2 + # via virtualenv +poetry-semver==0.1.0 + # via requirements-detector +portend==3.1.0 # via cherrypy -prettytable==2.1.0 +prettytable==3.3.0 # via # cliff # python-cinderclient # python-glanceclient # python-novaclient -prompt-toolkit==3.0.19 +prompt-toolkit==3.0.29 # via ipython prospector==1.1.4 # via -r requirements/test.in @@ -445,19 +434,21 @@ psycopg2-binary==2.8.3 # via -r requirements/base.in ptyprocess==0.7.0 # via pexpect -pyasn1-modules==0.2.8 - # via service-identity +pure-eval==0.2.2 + # via stack-data pyasn1==0.4.8 # via # pyasn1-modules # service-identity +pyasn1-modules==0.2.8 + # via service-identity pycodestyle==2.3.1 # via # flake8 # prospector -pycparser==2.20 +pycparser==2.21 # via cffi -pycryptodomex==3.10.1 +pycryptodomex==3.14.1 # via pyjwkest pydocstyle==6.1.1 # via prospector @@ -475,6 +466,14 @@ pyjwt==1.7.1 # via # -r requirements/base.in # djangorestframework-simplejwt +pylint==2.2.3 + # via + # -r requirements/test.in + # prospector + # pylint-celery + # pylint-common + # pylint-django + # pylint-plugin-utils pylint-celery==0.3 # via -r requirements/test.in pylint-common==0.2.5 @@ -488,77 +487,69 @@ pylint-plugin-utils==0.5 # pylint-celery # pylint-common # pylint-django -pylint==2.2.3 - # via - # -r requirements/test.in - # prospector - # pylint-celery - # pylint-common - # pylint-django - # pylint-plugin-utils pymongo==3.8.0 # via -r requirements/base.in pynliner==0.8.0 # via django-inlinecss -pyopenssl==20.0.1 +pyopenssl==22.0.0 # via # python-glanceclient - # requests # twisted -pyparsing==2.4.7 +pyparsing==3.0.9 # via # cliff - # oslo.utils + # oslo-utils # packaging pyperclip==1.8.2 # via cmd2 -pyrsistent==0.18.0 +pyrsistent==0.18.1 # via jsonschema -python-cinderclient==7.4.0 +python-cinderclient==8.3.0 # via python-openstackclient python-consul==1.1.0 # via -r requirements/base.in -python-dateutil==2.8.1 +python-dateutil==2.8.2 # via # botocore # faker # freezegun -python-glanceclient==3.4.0 +python-glanceclient==4.0.0 # via -r requirements/base.in -python-keystoneclient==4.2.0 +python-keystoneclient==4.5.0 # via # -r requirements/base.in # django-storage-swift # python-openstackclient -python-magic==0.4.24 +python-magic==0.4.26 # via django-storage-swift -python-novaclient==17.5.0 +python-novaclient==18.0.0 # via # -r requirements/base.in # python-openstackclient -python-openstackclient==5.5.0 +python-openstackclient==5.8.0 # via -r requirements/base.in -python-swiftclient==3.12.0 +python-swiftclient==4.0.0 # via # -r requirements/base.in # django-storage-swift -pytz-deprecation-shim==0.1.0.post0 - # via tzlocal pytz==2019.1 # via # -r requirements/base.in # apscheduler # django - # oslo.serialization - # oslo.utils + # djangorestframework + # oslo-serialization + # oslo-utils # tempora +pytz-deprecation-shim==0.1.0.post0 + # via tzlocal pyyaml==5.4.1 # via # -r requirements/base.in # cliff # dns-lexicon # openstacksdk - # oslo.config + # oslo-config # prospector rcssmin==1.0.6 # via django-compressor @@ -566,18 +557,14 @@ redis==3.5.3 # via # -r requirements/base.in # django-redis -requests-file==1.4.3 - # via - # -r requirements/base.in - # tldextract -requests[security]==2.25.1 +requests[security]==2.27.1 # via # -r requirements/base.in # coreapi # dns-lexicon # keystoneauth1 # mailchimp3 - # oslo.config + # oslo-config # pyjwkest # python-cinderclient # python-consul @@ -588,20 +575,24 @@ requests[security]==2.25.1 # responses # tldextract # unleashclient +requests-file==1.4.3 + # via + # -r requirements/base.in + # tldextract requestsexceptions==1.4.0 # via openstacksdk -requirements-detector==0.7 +requirements-detector==1.0.3 # via prospector responses==0.10.6 # via -r requirements/base.in -rfc3986==1.5.0 - # via oslo.config +rfc3986==2.0.0 + # via oslo-config rjsmin==1.1.0 # via django-compressor -ruamel.yaml.clib==0.2.6 - # via ruamel.yaml -ruamel.yaml==0.17.10 +ruamel-yaml==0.17.21 # via drf-yasg +ruamel-yaml-clib==0.2.6 + # via ruamel-yaml s3transfer==0.2.1 # via boto3 selenium==3.141.0 @@ -610,9 +601,9 @@ service-identity==18.1.0 # via # -r requirements/base.in # twisted -setoptconf==0.2.0 +setoptconf==0.3.0 # via prospector -simplejson==3.17.2 +simplejson==3.17.6 # via # osc-lib # python-cinderclient @@ -621,10 +612,9 @@ six==1.16.0 # -r requirements/base.in # apscheduler # astroid + # asttokens # automat # cheroot - # cryptography - # debtcollector # django-compressor # django-extensions # django-storage-swift @@ -633,71 +623,68 @@ six==1.16.0 # keystoneauth1 # libsass # munch - # oslo.i18n # pyjwkest - # pyopenssl # python-consul # python-dateutil # python-keystoneclient - # python-swiftclient # requests-file # responses - # traitlets # virtualenv # warlock +smmap==5.0.0 + # via smmap2 smmap2==3.0.1 # via gitdb2 -smmap==4.0.0 - # via smmap2 -snowballstemmer==2.1.0 +snowballstemmer==2.2.0 # via pydocstyle -soupsieve==2.2.1 +soupsieve==2.3.2.post1 # via beautifulsoup4 -sqlparse==0.4.1 +sqlparse==0.4.2 # via # django # django-debug-toolbar -stevedore==3.3.0 +stack-data==0.2.0 + # via ipython +stevedore==3.5.0 # via # cliff - # dogpile.cache + # dogpile-cache # keystoneauth1 # osc-lib - # oslo.config + # oslo-config # python-cinderclient # python-keystoneclient # python-novaclient # python-openstackclient -tempora==4.1.1 +tempora==5.0.1 # via portend testfixtures==6.10.3 # via -r requirements/test.in -text-unidecode==1.3 - # via faker tldextract==2.2.3 # via # -r requirements/base.in # dns-lexicon -traitlets==4.3.3 - # via ipython -twisted[tls]==21.2.0 +toml==0.10.2 + # via + # ipdb + # requirements-detector +traitlets==5.2.1.post0 + # via + # ipython + # matplotlib-inline +twisted[tls]==22.4.0 # via daphne -txaio==21.2.1 +txaio==22.2.1 # via autobahn -typed-ast==1.4.3 - # via astroid -typing-extensions==3.10.0.0 - # via - # asgiref - # cmd2 - # importlib-metadata -tzdata==2021.5 +typing-extensions==4.2.0 + # via twisted +tzdata==2022.1 # via pytz-deprecation-shim -tzlocal==4.1 +tzlocal==4.2 # via apscheduler unleashclient==4.4.1 # via -r requirements/base.in -uritemplate==3.0.1 +uritemplate==4.1.1 # via # coreapi # drf-yasg @@ -707,7 +694,7 @@ urllib3==1.25.3 # botocore # requests # selenium -virtualenv==20.4.7 +virtualenv==20.14.1 # via -r requirements/base.in warlock==1.3.3 # via python-glanceclient @@ -718,18 +705,14 @@ wcwidth==0.2.5 # prompt-toolkit werkzeug==0.15.4 # via -r requirements/base.in -wrapt==1.12.1 +wrapt==1.14.1 # via # astroid # debtcollector # python-glanceclient -zc.lockfile==2.0 +zc-lockfile==2.0 # via cherrypy -zipp==3.5.0 - # via - # importlib-metadata - # importlib-resources -zope.interface==5.4.0 +zope-interface==5.4.0 # via twisted # The following packages are considered to be unsafe in a requirements file: diff --git a/requirements/test.in b/requirements/test.in index 9b4b90139..d66800907 100644 --- a/requirements/test.in +++ b/requirements/test.in @@ -1,7 +1,6 @@ -r base.in coverage<4.6 -cryptography==3.2.1 ddt factory-boy<2.13 Faker diff --git a/requirements/test.txt b/requirements/test.txt index 46ed66330..736ae80c5 100644 --- a/requirements/test.txt +++ b/requirements/test.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile +# This file is autogenerated by pip-compile with python 3.8 # To update, run: # # pip-compile --output-file=requirements/test.txt requirements/test.in @@ -10,10 +10,9 @@ appdirs==1.4.4 # via # fcache # openstacksdk - # virtualenv -apscheduler==3.8.1 +apscheduler==3.9.1 # via unleashclient -asgiref==3.4.1 +asgiref==3.5.2 # via # channels # channels-redis @@ -23,20 +22,22 @@ astroid==2.1.0 # pylint # pylint-celery # requirements-detector -async-timeout==3.0.1 +async-timeout==4.0.2 # via aioredis -attrs==21.2.0 +attrs==21.4.0 # via # automat # cmd2 # jsonschema # service-identity # twisted -autobahn==21.2.1 +autobahn==22.4.2 # via daphne automat==20.2.0 # via twisted -backports.zoneinfo==0.2.1 +autopage==0.5.0 + # via cliff +backports-zoneinfo==0.2.1 # via # pytz-deprecation-shim # tzlocal @@ -44,40 +45,38 @@ beautifulsoup4==4.7.1 # via # -r requirements/base.in # pynliner -boto3==1.9.253 - # via -r requirements/base.in boto==2.49.0 # via -r requirements/base.in +boto3==1.9.253 + # via -r requirements/base.in botocore==1.12.253 # via # boto3 # s3transfer -certifi==2021.5.30 +certifi==2022.5.18.1 # via requests -cffi==1.14.5 +cffi==1.15.0 # via cryptography channels==2.3.0 # via # -r requirements/base.in # channels-redis -channels_redis==2.4.0 +channels-redis==2.4.0 # via -r requirements/base.in -chardet==4.0.0 +charset-normalizer==2.0.12 # via requests -cheroot==8.5.2 +cheroot==8.6.0 # via cherrypy cherrypy==18.1.2 # via -r requirements/base.in -click==8.0.1 +click==8.1.3 # via pip-tools -cliff==3.8.0 +cliff==3.10.1 # via # osc-lib # python-openstackclient -cmd2==2.1.1 +cmd2==2.4.1 # via cliff -colorama==0.4.4 - # via cmd2 colour==0.1.5 # via -r requirements/base.in constantly==15.1.0 @@ -92,36 +91,47 @@ coreschema==0.0.4 # drf-yasg coverage==4.5.4 # via -r requirements/test.in -cryptography==3.2.1 +cryptography==37.0.2 # via # -r requirements/base.in - # -r requirements/test.in # autobahn # dns-lexicon # openstacksdk # pyopenssl - # requests # service-identity -cssutils==2.3.0 +cssutils==2.4.0 # via pynliner daphne==2.5.0 # via channels -ddt==1.4.2 +ddt==1.5.0 # via -r requirements/test.in -debtcollector==2.2.0 +debtcollector==2.5.0 # via - # oslo.config - # oslo.utils + # oslo-config + # oslo-utils # python-keystoneclient -decorator==5.0.9 +decorator==5.1.1 # via - # dogpile.cache + # dogpile-cache # openstacksdk dictdiffer==0.8.1 # via -r requirements/base.in -distlib==0.3.2 +distlib==0.3.4 # via virtualenv -django-appconf==1.0.4 +django==2.2.28 + # via + # -r requirements/base.in + # channels + # django-appconf + # django-cors-headers + # django-inlinecss + # django-redis + # django-simple-email-confirmation + # django-storages + # djangorestframework + # djangorestframework-simplejwt + # drf-yasg +django-appconf==1.0.5 # via django-compressor django-compressor==2.4 # via @@ -151,26 +161,13 @@ django-storages==1.7.1 # via -r requirements/base.in django-zurb-foundation==5.5.0 # via -r requirements/base.in -django==2.2.24 +djangorestframework==3.13.1 # via # -r requirements/base.in - # channels - # django-appconf - # django-cors-headers - # django-inlinecss - # django-redis - # django-simple-email-confirmation - # django-storages - # djangorestframework # djangorestframework-simplejwt # drf-yasg -djangorestframework-simplejwt==4.4.0 +djangorestframework-simplejwt==5.1.0 # via -r requirements/base.in -djangorestframework==3.12.4 - # via - # -r requirements/base.in - # djangorestframework-simplejwt - # drf-yasg dns-lexicon==3.3.13 # via -r requirements/base.in dnspython==2.1.0 @@ -181,7 +178,7 @@ docutils==0.14 # botocore dodgy==0.2.1 # via prospector -dogpile.cache==1.1.3 +dogpile-cache==1.1.5 # via openstacksdk drf-yasg==1.20.0 # via -r requirements/base.in @@ -189,20 +186,20 @@ entrypoints==0.3 # via -r requirements/base.in factory-boy==2.12.0 # via -r requirements/test.in -faker==8.9.1 +faker==13.11.1 # via # -r requirements/test.in # factory-boy fcache==0.4.7 # via unleashclient -filelock==3.0.12 +filelock==3.7.0 # via virtualenv -flake8-polyfill==1.0.2 - # via -r requirements/test.in flake8==3.5.0 # via # -r requirements/test.in # flake8-polyfill +flake8-polyfill==1.0.2 + # via -r requirements/test.in freezegun==0.3.15 # via -r requirements/test.in future==0.17.1 @@ -211,7 +208,7 @@ future==0.17.1 # django-inlinecss # dns-lexicon # pyjwkest -futures==3.1.1 +futures==3.0.5 # via -r requirements/base.in gitdb2==2.0.6 # via gitpython @@ -229,50 +226,34 @@ hyperlink==21.0.0 # via # autobahn # twisted -idna==2.10 +idna==3.3 # via # hyperlink # requests # tldextract # twisted -importlib-metadata==4.6.1 - # via - # click - # cmd2 - # cssutils - # jsonschema - # openstacksdk - # oslo.config - # prettytable - # stevedore - # virtualenv -importlib-resources==5.2.0 - # via - # backports.zoneinfo - # netaddr - # virtualenv incremental==21.3.0 # via twisted inflection==0.5.1 # via drf-yasg -iso8601==0.1.14 +iso8601==1.0.2 # via # keystoneauth1 # openstacksdk - # oslo.utils + # oslo-utils # python-novaclient # python-openstackclient -isort==5.9.1 +isort==5.10.1 # via pylint itypes==1.2.0 # via coreapi -jaraco.functools==3.3.0 +jaraco-functools==3.5.0 # via # cheroot # tempora jedi==0.17.2 # via -r requirements/base.in -jinja2==3.0.1 +jinja2==3.1.2 # via coreschema jmespath==0.10.0 # via @@ -283,13 +264,13 @@ jsonpatch==1.32 # via # openstacksdk # warlock -jsonpointer==2.1 +jsonpointer==2.3 # via jsonpatch jsonschema==3.2.0 # via # -r requirements/base.in # warlock -keystoneauth1==4.3.1 +keystoneauth1==4.6.0 # via # -r requirements/base.in # openstacksdk @@ -298,13 +279,13 @@ keystoneauth1==4.3.1 # python-glanceclient # python-keystoneclient # python-novaclient -lazy-object-proxy==1.6.0 +lazy-object-proxy==1.7.1 # via astroid libsass==0.21.0 # via django-libsass mailchimp3==3.0.13 # via -r requirements/base.in -markupsafe==2.0.1 +markupsafe==2.1.1 # via jinja2 mccabe==0.6.1 # via @@ -314,30 +295,30 @@ mccabe==0.6.1 # pylint mmh3==3.0.0 # via unleashclient -more-itertools==8.8.0 +more-itertools==8.13.0 # via # cheroot # cherrypy - # jaraco.functools + # jaraco-functools msgpack==0.6.2 # via # channels-redis - # oslo.serialization + # oslo-serialization munch==2.5.0 # via openstacksdk mysqlclient==1.4.2.post1 # via -r requirements/base.in netaddr==0.8.0 # via - # oslo.config - # oslo.utils + # oslo-config + # oslo-utils netifaces==0.11.0 # via # openstacksdk - # oslo.utils + # oslo-utils nose==1.3.7 # via -r requirements/test.in -openstacksdk==0.57.0 +openstacksdk==0.99.0 # via # -r requirements/base.in # os-client-config @@ -349,50 +330,51 @@ os-service-types==1.7.0 # via # keystoneauth1 # openstacksdk -osc-lib==2.4.1 +osc-lib==2.6.0 # via python-openstackclient -oslo.config==8.7.0 +oslo-config==8.8.0 # via python-keystoneclient -oslo.i18n==5.0.1 +oslo-i18n==5.1.0 # via # osc-lib - # oslo.config - # oslo.utils + # oslo-config + # oslo-utils # python-cinderclient # python-glanceclient # python-keystoneclient # python-novaclient # python-openstackclient -oslo.serialization==4.1.0 +oslo-serialization==4.3.0 # via # python-keystoneclient # python-novaclient -oslo.utils==4.9.1 +oslo-utils==4.13.0 # via # osc-lib - # oslo.serialization + # oslo-serialization # python-cinderclient # python-glanceclient # python-keystoneclient # python-novaclient # python-openstackclient -packaging==21.0 +packaging==21.3 # via # drf-yasg - # oslo.utils + # oslo-utils + # python-keystoneclient + # requirements-detector parso==0.7.1 # via jedi -pbr==5.6.0 +pbr==5.9.0 # via # cliff - # debtcollector # keystoneauth1 # openstacksdk # os-service-types # osc-lib - # oslo.i18n - # oslo.serialization - # oslo.utils + # oslo-i18n + # oslo-serialization + # oslo-utils # python-cinderclient # python-glanceclient # python-keystoneclient @@ -401,13 +383,17 @@ pbr==5.6.0 # stevedore pep8-naming==0.4.1 # via prospector -pillow==8.3.0 +pillow==9.1.1 # via -r requirements/base.in pip-tools==5.5.0 # via -r requirements/base.in -portend==2.7.1 +platformdirs==2.5.2 + # via virtualenv +poetry-semver==0.1.0 + # via requirements-detector +portend==3.1.0 # via cherrypy -prettytable==2.1.0 +prettytable==3.3.0 # via # cliff # python-cinderclient @@ -417,19 +403,19 @@ prospector==1.1.4 # via -r requirements/test.in psycopg2-binary==2.8.3 # via -r requirements/base.in -pyasn1-modules==0.2.8 - # via service-identity pyasn1==0.4.8 # via # pyasn1-modules # service-identity +pyasn1-modules==0.2.8 + # via service-identity pycodestyle==2.3.1 # via # flake8 # prospector -pycparser==2.20 +pycparser==2.21 # via cffi -pycryptodomex==3.10.1 +pycryptodomex==3.14.1 # via pyjwkest pydocstyle==6.1.1 # via prospector @@ -443,6 +429,14 @@ pyjwt==1.7.1 # via # -r requirements/base.in # djangorestframework-simplejwt +pylint==2.2.3 + # via + # -r requirements/test.in + # prospector + # pylint-celery + # pylint-common + # pylint-django + # pylint-plugin-utils pylint-celery==0.3 # via -r requirements/test.in pylint-common==0.2.5 @@ -456,77 +450,69 @@ pylint-plugin-utils==0.5 # pylint-celery # pylint-common # pylint-django -pylint==2.2.3 - # via - # -r requirements/test.in - # prospector - # pylint-celery - # pylint-common - # pylint-django - # pylint-plugin-utils pymongo==3.8.0 # via -r requirements/base.in pynliner==0.8.0 # via django-inlinecss -pyopenssl==20.0.1 +pyopenssl==22.0.0 # via # python-glanceclient - # requests # twisted -pyparsing==2.4.7 +pyparsing==3.0.9 # via # cliff - # oslo.utils + # oslo-utils # packaging pyperclip==1.8.2 # via cmd2 -pyrsistent==0.18.0 +pyrsistent==0.18.1 # via jsonschema -python-cinderclient==7.4.0 +python-cinderclient==8.3.0 # via python-openstackclient python-consul==1.1.0 # via -r requirements/base.in -python-dateutil==2.8.1 +python-dateutil==2.8.2 # via # botocore # faker # freezegun -python-glanceclient==3.4.0 +python-glanceclient==4.0.0 # via -r requirements/base.in -python-keystoneclient==4.2.0 +python-keystoneclient==4.5.0 # via # -r requirements/base.in # django-storage-swift # python-openstackclient -python-magic==0.4.24 +python-magic==0.4.26 # via django-storage-swift -python-novaclient==17.5.0 +python-novaclient==18.0.0 # via # -r requirements/base.in # python-openstackclient -python-openstackclient==5.5.0 +python-openstackclient==5.8.0 # via -r requirements/base.in -python-swiftclient==3.12.0 +python-swiftclient==4.0.0 # via # -r requirements/base.in # django-storage-swift -pytz-deprecation-shim==0.1.0.post0 - # via tzlocal pytz==2019.1 # via # -r requirements/base.in # apscheduler # django - # oslo.serialization - # oslo.utils + # djangorestframework + # oslo-serialization + # oslo-utils # tempora +pytz-deprecation-shim==0.1.0.post0 + # via tzlocal pyyaml==5.4.1 # via # -r requirements/base.in # cliff # dns-lexicon # openstacksdk - # oslo.config + # oslo-config # prospector rcssmin==1.0.6 # via django-compressor @@ -534,18 +520,14 @@ redis==3.5.3 # via # -r requirements/base.in # django-redis -requests-file==1.4.3 - # via - # -r requirements/base.in - # tldextract -requests[security]==2.25.1 +requests[security]==2.27.1 # via # -r requirements/base.in # coreapi # dns-lexicon # keystoneauth1 # mailchimp3 - # oslo.config + # oslo-config # pyjwkest # python-cinderclient # python-consul @@ -556,20 +538,24 @@ requests[security]==2.25.1 # responses # tldextract # unleashclient +requests-file==1.4.3 + # via + # -r requirements/base.in + # tldextract requestsexceptions==1.4.0 # via openstacksdk -requirements-detector==0.7 +requirements-detector==1.0.3 # via prospector responses==0.10.6 # via -r requirements/base.in -rfc3986==1.5.0 - # via oslo.config +rfc3986==2.0.0 + # via oslo-config rjsmin==1.1.0 # via django-compressor -ruamel.yaml.clib==0.2.6 - # via ruamel.yaml -ruamel.yaml==0.17.10 +ruamel-yaml==0.17.21 # via drf-yasg +ruamel-yaml-clib==0.2.6 + # via ruamel-yaml s3transfer==0.2.1 # via boto3 selenium==3.141.0 @@ -578,9 +564,9 @@ service-identity==18.1.0 # via # -r requirements/base.in # twisted -setoptconf==0.2.0 +setoptconf==0.3.0 # via prospector -simplejson==3.17.2 +simplejson==3.17.6 # via # osc-lib # python-cinderclient @@ -591,8 +577,6 @@ six==1.16.0 # astroid # automat # cheroot - # cryptography - # debtcollector # django-compressor # django-extensions # django-storage-swift @@ -601,66 +585,58 @@ six==1.16.0 # keystoneauth1 # libsass # munch - # oslo.i18n # pyjwkest - # pyopenssl # python-consul # python-dateutil # python-keystoneclient - # python-swiftclient # requests-file # responses # virtualenv # warlock +smmap==5.0.0 + # via smmap2 smmap2==3.0.1 # via gitdb2 -smmap==4.0.0 - # via smmap2 -snowballstemmer==2.1.0 +snowballstemmer==2.2.0 # via pydocstyle -soupsieve==2.2.1 +soupsieve==2.3.2.post1 # via beautifulsoup4 -sqlparse==0.4.1 +sqlparse==0.4.2 # via django -stevedore==3.3.0 +stevedore==3.5.0 # via # cliff - # dogpile.cache + # dogpile-cache # keystoneauth1 # osc-lib - # oslo.config + # oslo-config # python-cinderclient # python-keystoneclient # python-novaclient # python-openstackclient -tempora==4.1.1 +tempora==5.0.1 # via portend testfixtures==6.10.3 # via -r requirements/test.in -text-unidecode==1.3 - # via faker tldextract==2.2.3 # via # -r requirements/base.in # dns-lexicon -twisted[tls]==21.2.0 +toml==0.10.2 + # via requirements-detector +twisted[tls]==22.4.0 # via daphne -txaio==21.2.1 +txaio==22.2.1 # via autobahn -typed-ast==1.4.3 - # via astroid -typing-extensions==3.10.0.0 - # via - # asgiref - # cmd2 - # importlib-metadata -tzdata==2021.5 +typing-extensions==4.2.0 + # via twisted +tzdata==2022.1 # via pytz-deprecation-shim -tzlocal==4.1 +tzlocal==4.2 # via apscheduler unleashclient==4.4.1 # via -r requirements/base.in -uritemplate==3.0.1 +uritemplate==4.1.1 # via # coreapi # drf-yasg @@ -670,7 +646,7 @@ urllib3==1.25.3 # botocore # requests # selenium -virtualenv==20.4.7 +virtualenv==20.14.1 # via -r requirements/base.in warlock==1.3.3 # via python-glanceclient @@ -680,18 +656,14 @@ wcwidth==0.2.5 # prettytable werkzeug==0.15.4 # via -r requirements/base.in -wrapt==1.12.1 +wrapt==1.14.1 # via # astroid # debtcollector # python-glanceclient -zc.lockfile==2.0 +zc-lockfile==2.0 # via cherrypy -zipp==3.5.0 - # via - # importlib-metadata - # importlib-resources -zope.interface==5.4.0 +zope-interface==5.4.0 # via twisted # The following packages are considered to be unsafe in a requirements file: From e452d3f84874c62480d3a0d561d63a3ed3ea0413 Mon Sep 17 00:00:00 2001 From: Paulo Viadanna Date: Tue, 24 May 2022 14:27:51 -0300 Subject: [PATCH 7/8] Bump Python on CircleCI --- circle.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/circle.yml b/circle.yml index 904174422..76b836ef9 100644 --- a/circle.yml +++ b/circle.yml @@ -145,7 +145,7 @@ jobs: build: docker: - - image: circleci/python:3.6-stretch-node-browsers + - image: circleci/python:3.8-buster-node-browsers environment: DEBUG: 'true' DEFAULT_FORK: 'open-craft/edx-platform' @@ -241,7 +241,7 @@ jobs: e2e-tests: docker: - - image: circleci/python:3.6-stretch-node-browsers + - image: circleci/python:3.8-buster-node-browsers environment: DEBUG: 'true' DEFAULT_FORK: 'open-craft/edx-platform' @@ -325,7 +325,7 @@ jobs: coverage: docker: - - image: circleci/python:3.6-stretch-node + - image: circleci/python:3.8-buster-node steps: - checkout - restore_cache: @@ -358,7 +358,7 @@ jobs: cleanup: docker: - - image: circleci/python:3.6-stretch + - image: circleci/python:3.8-buster environment: LOAD_BALANCER_FRAGMENT_NAME_PREFIX: 'integration-' DJANGO_SETTINGS_MODULE: 'opencraft.settings' From fc79fb3fa186021518cbcce6590d8833a51ba0b9 Mon Sep 17 00:00:00 2001 From: Paulo Viadanna Date: Tue, 24 May 2022 14:34:24 -0300 Subject: [PATCH 8/8] Fix mysql-client package --- circle.yml | 2 +- debian_packages.lst | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/circle.yml b/circle.yml index 76b836ef9..a3abfa918 100644 --- a/circle.yml +++ b/circle.yml @@ -338,7 +338,7 @@ jobs: pip install --upgrade pip pip install --upgrade virtualenv sudo apt-get update; sudo apt-get install python2.7-dev - sudo apt-get install mysql-client + sudo apt-get install default-mysql-client pip install -r requirements.txt pip install -r cleanup_utils/requirements.txt sudo apt-get install postgresql-client diff --git a/debian_packages.lst b/debian_packages.lst index 97d29bbae..330cd9962 100644 --- a/debian_packages.lst +++ b/debian_packages.lst @@ -3,7 +3,7 @@ libffi-dev libmysqlclient-dev libpq-dev make -mysql-client +default-mysql-client postgresql-client python-dev python2.7-dev