diff --git a/cms/celery.py b/cms/celery.py index d0619a8187..97c4c6f21e 100644 --- a/cms/celery.py +++ b/cms/celery.py @@ -18,6 +18,7 @@ os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'proj.settings') APP = Celery('proj') +APP.conf.task_protocol = 1 # Using a string here means the worker will not have to # pickle the object when using Windows. APP.config_from_object('django.conf:settings') diff --git a/cms/envs/common.py b/cms/envs/common.py index c0a2ea9f57..3e37dc89c8 100644 --- a/cms/envs/common.py +++ b/cms/envs/common.py @@ -1310,7 +1310,7 @@ INSTALLED_APPS = [ 'django.contrib.sites', 'django.contrib.messages', 'django.contrib.staticfiles', - 'djcelery', + 'django_celery_results', 'method_override', # Common Initialization diff --git a/cms/envs/production.py b/cms/envs/production.py index 264003a216..25b8ebef1d 100644 --- a/cms/envs/production.py +++ b/cms/envs/production.py @@ -109,7 +109,7 @@ BROKER_POOL_LIMIT = 0 BROKER_CONNECTION_TIMEOUT = 1 # For the Result Store, use the django cache named 'celery' -CELERY_RESULT_BACKEND = 'djcelery.backends.cache:CacheBackend' +CELERY_RESULT_BACKEND = 'django-cache' # When the broker is behind an ELB, use a heartbeat to refresh the # connection and to detect if it has been dropped. diff --git a/cms/envs/test.py b/cms/envs/test.py index bb387639aa..f6bc09aca3 100644 --- a/cms/envs/test.py +++ b/cms/envs/test.py @@ -183,10 +183,14 @@ BLOCKSTORE_API_AUTH_TOKEN = os.environ.get('EDXAPP_BLOCKSTORE_API_AUTH_TOKEN', ' ################################# CELERY ###################################### CELERY_ALWAYS_EAGER = True -CELERY_RESULT_BACKEND = 'djcelery.backends.cache:CacheBackend' +CELERY_RESULT_BACKEND = 'django-cache' CLEAR_REQUEST_CACHE_ON_TASK_COMPLETION = False +# test_status_cancel in cms/cms_user_tasks/test.py is failing without this +# @override_setting for BROKER_URL is not working in testcase, so updating here +BROKER_URL = 'memory://localhost/' + ########################### Server Ports ################################### # These ports are carefully chosen so that if the browser needs to diff --git a/lms/celery.py b/lms/celery.py index edbe3b665d..e3315d13a3 100644 --- a/lms/celery.py +++ b/lms/celery.py @@ -18,6 +18,7 @@ os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'proj.settings') APP = Celery('proj') +APP.conf.task_protocol = 1 # Using a string here means the worker will not have to # pickle the object when using Windows. APP.config_from_object('django.conf:settings') diff --git a/lms/djangoapps/email_marketing/tests/test_signals.py b/lms/djangoapps/email_marketing/tests/test_signals.py index 818748048d..ac480e24b3 100644 --- a/lms/djangoapps/email_marketing/tests/test_signals.py +++ b/lms/djangoapps/email_marketing/tests/test_signals.py @@ -302,7 +302,7 @@ class EmailMarketingTests(TestCase): """ update_email_marketing_config(enabled=False) - update_user.delay(self.user.username) + update_user.delay(self.user.username, self.user.email) self.assertFalse(mock_log_error.called) self.assertFalse(mock_sailthru.called) @@ -634,7 +634,7 @@ class SailthruTests(TestCase): site_dict = {'id': white_label_site.id, 'domain': white_label_site.domain, 'name': white_label_site.name} with patch('email_marketing.signals._get_current_site') as mock_site_info: mock_site_info.return_value = site_dict - update_sailthru(None, self.user, 'audit', self.course_id) + update_sailthru(None, self.user, 'audit', str(self.course_id)) self.assertFalse(mock_sailthru_purchase.called) self.assertFalse(mock_sailthru_api_post.called) self.assertFalse(mock_sailthru_api_get.called) @@ -663,5 +663,5 @@ class SailthruTests(TestCase): """ switch.return_value = True self.user.email = u'tèst@edx.org' - update_sailthru(None, self.user, 'audit', self.course_id) + update_sailthru(None, self.user, 'audit', str(self.course_id)) self.assertTrue(mock_sailthru_purchase.called) diff --git a/lms/envs/bok_choy.yml b/lms/envs/bok_choy.yml index 6feab78ef8..03512c6a59 100644 --- a/lms/envs/bok_choy.yml +++ b/lms/envs/bok_choy.yml @@ -56,7 +56,7 @@ CELERY_BROKER_PASSWORD: celery CELERY_BROKER_TRANSPORT: amqp CELERY_BROKER_USER: celery CELERY_ALWAYS_EAGER: True -CELERY_RESULT_BACKEND: 'djcelery.backends.cache:CacheBackend' +CELERY_RESULT_BACKEND: 'django-cache' CERT_QUEUE: certificates CMS_BASE: localhost:8031 diff --git a/lms/envs/common.py b/lms/envs/common.py index dbc4cd112f..0aa55aafeb 100644 --- a/lms/envs/common.py +++ b/lms/envs/common.py @@ -2434,7 +2434,7 @@ INSTALLED_APPS = [ 'django.contrib.sessions', 'django.contrib.sites', 'django.contrib.staticfiles', - 'djcelery', + 'django_celery_results', # Common Initialization 'openedx.core.djangoapps.common_initialization.apps.CommonInitializationConfig', diff --git a/lms/envs/production.py b/lms/envs/production.py index 3f0ae47128..fa53d7cd98 100644 --- a/lms/envs/production.py +++ b/lms/envs/production.py @@ -121,7 +121,7 @@ BROKER_POOL_LIMIT = 0 BROKER_CONNECTION_TIMEOUT = 1 # For the Result Store, use the django cache named 'celery' -CELERY_RESULT_BACKEND = 'djcelery.backends.cache:CacheBackend' +CELERY_RESULT_BACKEND = 'django-cache' # When the broker is behind an ELB, use a heartbeat to refresh the # connection and to detect if it has been dropped. diff --git a/lms/envs/test.py b/lms/envs/test.py index 4f384233e6..88d41c03b9 100644 --- a/lms/envs/test.py +++ b/lms/envs/test.py @@ -305,7 +305,7 @@ GIT_REPO_DIR = TEST_ROOT / "course_repos" ################################# CELERY ###################################### CELERY_ALWAYS_EAGER = True -CELERY_RESULT_BACKEND = 'djcelery.backends.cache:CacheBackend' +CELERY_RESULT_BACKEND = 'django-cache' CLEAR_REQUEST_CACHE_ON_TASK_COMPLETION = False diff --git a/openedx/core/djangoapps/coursegraph/management/commands/tests/test_dump_to_neo4j.py b/openedx/core/djangoapps/coursegraph/management/commands/tests/test_dump_to_neo4j.py index 49d38c586c..cf7ecd043a 100644 --- a/openedx/core/djangoapps/coursegraph/management/commands/tests/test_dump_to_neo4j.py +++ b/openedx/core/djangoapps/coursegraph/management/commands/tests/test_dump_to_neo4j.py @@ -414,9 +414,10 @@ class TestModuleStoreSerializer(TestDumpToNeo4jCommandBase): mock_graph = MockGraph() mock_graph_constructor.return_value = mock_graph mock_selector_class.return_value = MockNodeSelector(mock_graph) - mock_credentials = mock.Mock() + # mocking is thorwing error in kombu serialzier and its not require here any more. + credentials = {} - submitted, skipped = self.mss.dump_courses_to_neo4j(mock_credentials) + submitted, skipped = self.mss.dump_courses_to_neo4j(credentials) self.assertCourseDump( mock_graph, @@ -441,9 +442,10 @@ class TestModuleStoreSerializer(TestDumpToNeo4jCommandBase): mock_graph = MockGraph(transaction_errors=True) mock_graph_constructor.return_value = mock_graph mock_selector_class.return_value = MockNodeSelector(mock_graph) - mock_credentials = mock.Mock() + # mocking is thorwing error in kombu serialzier and its not require here any more. + credentials = {} - submitted, skipped = self.mss.dump_courses_to_neo4j(mock_credentials) + submitted, skipped = self.mss.dump_courses_to_neo4j(credentials) self.assertCourseDump( mock_graph, @@ -472,17 +474,18 @@ class TestModuleStoreSerializer(TestDumpToNeo4jCommandBase): mock_graph = MockGraph() mock_graph_constructor.return_value = mock_graph mock_selector_class.return_value = MockNodeSelector(mock_graph) - mock_credentials = mock.Mock() + # mocking is thorwing error in kombu serialzier and its not require here any more. + credentials = {} # run once to warm the cache self.mss.dump_courses_to_neo4j( - mock_credentials, override_cache=override_cache + credentials, override_cache=override_cache ) # when run the second time, only dump courses if the cache override # is enabled submitted, __ = self.mss.dump_courses_to_neo4j( - mock_credentials, override_cache=override_cache + credentials, override_cache=override_cache ) self.assertEqual(len(submitted), expected_number_courses) @@ -496,10 +499,11 @@ class TestModuleStoreSerializer(TestDumpToNeo4jCommandBase): mock_graph = MockGraph() mock_graph_constructor.return_value = mock_graph mock_selector_class.return_value = MockNodeSelector(mock_graph) - mock_credentials = mock.Mock() + # mocking is thorwing error in kombu serialzier and its not require here any more. + credentials = {} # run once to warm the cache - submitted, skipped = self.mss.dump_courses_to_neo4j(mock_credentials) + submitted, skipped = self.mss.dump_courses_to_neo4j(credentials) self.assertEqual(len(submitted), len(self.course_strings)) # simulate one of the courses being published @@ -507,7 +511,7 @@ class TestModuleStoreSerializer(TestDumpToNeo4jCommandBase): update_block_structure_on_course_publish(None, self.course.id) # make sure only the published course was dumped - submitted, __ = self.mss.dump_courses_to_neo4j(mock_credentials) + submitted, __ = self.mss.dump_courses_to_neo4j(credentials) self.assertEqual(len(submitted), 1) self.assertEqual(submitted[0], six.text_type(self.course.id)) diff --git a/openedx/tests/settings.py b/openedx/tests/settings.py index a976ce4d2d..73ba9f1d71 100644 --- a/openedx/tests/settings.py +++ b/openedx/tests/settings.py @@ -64,7 +64,6 @@ INSTALLED_APPS = ( 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.sites', - 'djcelery', 'django_sites_extensions', 'openedx.core.djangoapps.django_comment_common', 'openedx.core.djangoapps.video_config', diff --git a/requirements/constraints.txt b/requirements/constraints.txt index e05201c1db..e6eb3c7239 100644 --- a/requirements/constraints.txt +++ b/requirements/constraints.txt @@ -8,10 +8,8 @@ # pin when possible. Writing an issue against the offending project and # linking to it here is good. -# We're not ready for Celery 4 yet, but 3.1.25+ are forward-compatible with it. -# As of this writing, there's a 3.1.26.post2 with a very important bugfix -# (although it is advertised in the changelog as 3.1.26.) -celery>=3.1.25,<4.0.0 +# celery 5.0 has dropped python3.5 support. +celery<5.0 # Stay on the latest LTS release of Django Django<2.3 diff --git a/requirements/edx/base.in b/requirements/edx/base.in index 4e9cfa45ff..adec2eb113 100644 --- a/requirements/edx/base.in +++ b/requirements/edx/base.in @@ -41,7 +41,7 @@ crowdsourcehinter-xblock defusedxml Django # Web application framework django-appconf -django-celery # Only used for the CacheBackend for celery results +django-celery-results # Only used for the CacheBackend for celery results django-cookies-samesite # Middleware which allows SameSite=None flag for session and csrf cookies in Django<3.0.5 django-config-models>=1.0.0 # Configuration models for Django allowing config management with auditing django-cors-headers # Used to allow to configure CORS headers for cross-domain requests @@ -140,7 +140,7 @@ social-auth-core pysrt # Support for SubRip subtitle files, used in the video XModule pytz # Time zone information database PyYAML # Used to parse XModule resource templates -redis==2.10.6 # celery task broker +redis # celery task broker requests-oauthlib # Simplifies use of OAuth via the requests library, used for CCX and LTI random2 rules # Django extension for rules-based authorization checks diff --git a/requirements/edx/base.txt b/requirements/edx/base.txt index 80cda771f5..961efc2e7b 100644 --- a/requirements/edx/base.txt +++ b/requirements/edx/base.txt @@ -18,21 +18,20 @@ -e openedx/core/lib/xblock_builtin/xblock_discussion # via -r requirements/edx/local.in -e git+https://github.com/edx-solutions/xblock-google-drive.git@2d176468e33c0713c911b563f8f65f7cf232f5b6#egg=xblock-google-drive # via -r requirements/edx/github.in -e common/lib/xmodule # via -r requirements/edx/local.in -amqp==1.4.9 # via kombu +amqp==2.6.1 # via kombu analytics-python==1.2.9 # via -r requirements/edx/base.in aniso8601==8.0.0 # via edx-tincan-py35 -anyjson==0.3.3 # via kombu appdirs==1.4.4 # via fs attrs==20.2.0 # via -r requirements/edx/base.in, edx-ace babel==2.8.0 # via -r requirements/edx/base.in, enmerkar, enmerkar-underscore beautifulsoup4==4.9.1 # via pynliner -billiard==3.3.0.23 # via celery +billiard==3.6.3.0 # via celery bleach==3.2.1 # via -r requirements/edx/base.in, django-wiki, edx-enterprise, lti-consumer-xblock, ora2, xblock-poll boto3==1.4.8 # via -r requirements/edx/base.in, django-ses, fs-s3fs boto==2.39.0 # via -r requirements/edx/base.in, edxval, ora2 botocore==1.8.17 # via -r requirements/edx/base.in, boto3, s3transfer bridgekeeper==0.9 # via -r requirements/edx/base.in -celery==3.1.26.post2 # via -c requirements/edx/../constraints.txt, -r requirements/edx/base.in, django-celery, django-user-tasks, edx-celeryutils, edx-enterprise, event-tracking +celery==4.4.7 # via -c requirements/edx/../constraints.txt, -r requirements/edx/base.in, django-celery-results, django-user-tasks, edx-celeryutils, edx-enterprise certifi==2020.6.20 # via -r requirements/edx/paver.txt, requests cffi==1.14.3 # via -r requirements/edx/../edx-sandbox/shared.txt, cryptography chardet==3.0.4 # via -r requirements/edx/paver.txt, pdfminer.six, pysrt, requests @@ -49,7 +48,7 @@ ddt==1.4.1 # via xblock-drag-and-drop-v2, xblock-poll decorator==4.4.2 # via pycontracts defusedxml==0.6.0 # via -r requirements/edx/base.in, djangorestframework-xml, ora2, python3-openid, python3-saml, safe-lxml, social-auth-core django-appconf==1.0.4 # via -r requirements/edx/base.in, django-statici18n -django-celery==3.3.1 # via -r requirements/edx/base.in +django-celery-results==1.2.1 # via -r requirements/edx/base.in django-classy-tags==2.0.0 # via django-sekizai django-config-models==2.0.2 # via -r requirements/edx/base.in, edx-enterprise django-cookies-samesite==0.7.0 # via -r requirements/edx/base.in @@ -81,7 +80,7 @@ django-storages==1.8 # via -c requirements/edx/../constraints.txt, -r requi django-user-tasks==1.3.0 # via -r requirements/edx/base.in django-waffle==2.0.0 # via -r requirements/edx/base.in, edx-django-utils, edx-drf-extensions, edx-enterprise, edx-proctoring django-webpack-loader==0.7.0 # via -r requirements/edx/base.in, edx-proctoring -django==2.2.16 # via -c requirements/edx/../constraints.txt, -r requirements/edx/base.in, code-annotations, django-appconf, django-celery, django-classy-tags, django-config-models, django-cors-headers, django-crum, django-fernet-fields, django-filter, django-method-override, django-model-utils, django-mptt, django-multi-email-field, django-mysql, django-oauth-toolkit, django-pyfs, django-ratelimit-backend, django-sekizai, django-ses, django-splash, django-statici18n, django-storages, django-user-tasks, django-wiki, drf-jwt, drf-yasg, edx-ace, edx-api-doc-tools, edx-bulk-grades, edx-celeryutils, edx-completion, edx-django-release-util, edx-django-sites-extensions, edx-django-utils, edx-drf-extensions, edx-enterprise, edx-i18n-tools, edx-milestones, edx-opaque-keys, edx-organizations, edx-proctoring, edx-rbac, edx-search, edx-submissions, edx-when, edxval, enmerkar, enmerkar-underscore, event-tracking, help-tokens, jsonfield2, lti-consumer-xblock, ora2, rest-condition, super-csv, xss-utils +django==2.2.16 # via -c requirements/edx/../constraints.txt, -r requirements/edx/base.in, code-annotations, django-appconf, django-celery, django-classy-tags, django-config-models, django-cors-headers, django-crum, django-fernet-fields, django-filter, django-method-override, django-model-utils, django-mptt, django-multi-email-field, django-mysql, django-oauth-toolkit, django-pyfs, django-ratelimit-backend, django-sekizai, django-splash, django-statici18n, django-storages, django-user-tasks, django-wiki, drf-jwt, drf-yasg, edx-ace, edx-api-doc-tools, edx-bulk-grades, edx-celeryutils, edx-completion, edx-django-release-util, edx-django-sites-extensions, edx-django-utils, edx-drf-extensions, edx-enterprise, edx-i18n-tools, edx-milestones, edx-opaque-keys, edx-organizations, edx-proctoring, edx-rbac, edx-search, edx-submissions, edx-when, edxval, enmerkar, enmerkar-underscore, event-tracking, help-tokens, jsonfield2, lti-consumer-xblock, ora2, rest-condition, super-csv, xss-utils djangorestframework-xml==2.0.0 # via edx-enterprise djangorestframework==3.9.4 # via -r requirements/edx/base.in, django-config-models, django-user-tasks, drf-jwt, drf-yasg, edx-api-doc-tools, edx-completion, edx-drf-extensions, edx-enterprise, edx-organizations, edx-proctoring, edx-submissions, ora2, rest-condition, super-csv docopt==0.6.2 # via xmodule @@ -129,7 +128,7 @@ help-tokens==1.1.2 # via -r requirements/edx/base.in html5lib==1.1 # via -r requirements/edx/base.in, ora2 icalendar==4.0.7 # via -r requirements/edx/base.in idna==2.10 # via -r requirements/edx/paver.txt, requests -importlib-metadata==1.7.0 # via -r requirements/edx/paver.txt, path +importlib-metadata==1.7.0 # via -r requirements/edx/paver.txt, kombu, path inflection==0.5.1 # via drf-yasg ipaddress==1.0.23 # via -r requirements/edx/base.in isodate==0.6.0 # via python3-saml @@ -139,7 +138,7 @@ jmespath==0.10.0 # via boto3, botocore joblib==0.14.1 # via -c requirements/edx/../constraints.txt, -r requirements/edx/../edx-sandbox/shared.txt, nltk jsondiff==1.2.0 # via edx-enterprise jsonfield2==3.0.3 # via -c requirements/edx/../constraints.txt, -r requirements/edx/base.in, edx-celeryutils, edx-enterprise, edx-proctoring, edx-submissions, ora2 -kombu==3.0.37 # via celery +kombu==4.6.11 # via celery laboratory==1.0.2 # via -r requirements/edx/base.in lazy==1.4 # via -r requirements/edx/paver.txt, acid-xblock, lti-consumer-xblock, ora2 libsass==0.10.0 # via -r requirements/edx/paver.txt, ora2 @@ -200,7 +199,7 @@ pyuca==1.2 # via -r requirements/edx/base.in pyyaml==5.3.1 # via -r requirements/edx/base.in, code-annotations, edx-django-release-util, edx-i18n-tools, xblock random2==1.0.1 # via -r requirements/edx/base.in recommender-xblock==1.4.9 # via -r requirements/edx/base.in -redis==2.10.6 # via -r requirements/edx/base.in +redis==3.5.3 # via -r requirements/edx/base.in regex==2020.7.14 # via -r requirements/edx/../edx-sandbox/shared.txt, nltk requests-oauthlib==1.3.0 # via -r requirements/edx/base.in, social-auth-core requests==2.24.0 # via -r requirements/edx/paver.txt, analytics-python, coreapi, django-oauth-toolkit, edx-analytics-data-api-client, edx-bulk-grades, edx-drf-extensions, edx-enterprise, edx-rest-api-client, geoip2, mailsnake, pyjwkest, python-swiftclient, requests-oauthlib, sailthru-client, slumber, social-auth-core @@ -234,6 +233,7 @@ unicodecsv==0.14.1 # via -r requirements/edx/base.in, edx-enterprise uritemplate==3.0.1 # via coreapi, drf-yasg urllib3==1.25.10 # via -r requirements/edx/paver.txt, elasticsearch, geoip2, requests user-util==0.3.1 # via -r requirements/edx/base.in +vine==1.3.0 # via amqp, celery voluptuous==0.12.0 # via ora2 watchdog==0.10.3 # via -r requirements/edx/paver.txt web-fragments==0.3.2 # via -r requirements/edx/base.in, crowdsourcehinter-xblock, staff-graded-xblock, xblock, xblock-utils diff --git a/requirements/edx/development.txt b/requirements/edx/development.txt index 713a3a0294..35ec403a61 100644 --- a/requirements/edx/development.txt +++ b/requirements/edx/development.txt @@ -19,24 +19,23 @@ -e git+https://github.com/edx-solutions/xblock-google-drive.git@2d176468e33c0713c911b563f8f65f7cf232f5b6#egg=xblock-google-drive # via -r requirements/edx/testing.txt -e common/lib/xmodule # via -r requirements/edx/testing.txt alabaster==0.7.12 # via sphinx -amqp==1.4.9 # via -r requirements/edx/testing.txt, kombu +amqp==2.6.1 # via -r requirements/edx/testing.txt, kombu analytics-python==1.2.9 # via -r requirements/edx/testing.txt aniso8601==8.0.0 # via -r requirements/edx/testing.txt, edx-tincan-py35 -anyjson==0.3.3 # via -r requirements/edx/testing.txt, kombu apipkg==1.5 # via -r requirements/edx/testing.txt, execnet appdirs==1.4.4 # via -r requirements/edx/testing.txt, fs, virtualenv astroid==2.3.3 # via -r requirements/edx/testing.txt, pylint, pylint-celery attrs==20.2.0 # via -r requirements/edx/testing.txt, edx-ace, jsonschema, pytest babel==2.8.0 # via -r requirements/edx/testing.txt, enmerkar, enmerkar-underscore, sphinx beautifulsoup4==4.9.1 # via -r requirements/edx/testing.txt, pynliner -billiard==3.3.0.23 # via -r requirements/edx/testing.txt, celery +billiard==3.6.3.0 # via -r requirements/edx/testing.txt, celery bleach==3.2.1 # via -r requirements/edx/testing.txt, django-wiki, edx-enterprise, lti-consumer-xblock, ora2, xblock-poll bok-choy==1.1.1 # via -r requirements/edx/testing.txt boto3==1.4.8 # via -r requirements/edx/testing.txt, django-ses, fs-s3fs boto==2.39.0 # via -r requirements/edx/testing.txt, edxval, ora2 botocore==1.8.17 # via -r requirements/edx/testing.txt, boto3, s3transfer bridgekeeper==0.9 # via -r requirements/edx/testing.txt -celery==3.1.26.post2 # via -c requirements/edx/../constraints.txt, -r requirements/edx/testing.txt, django-celery, django-user-tasks, edx-celeryutils, edx-enterprise, event-tracking +celery==4.4.7 # via -c requirements/edx/../constraints.txt, -r requirements/edx/testing.txt, django-celery-results, django-user-tasks, edx-celeryutils, edx-enterprise certifi==2020.6.20 # via -r requirements/edx/testing.txt, requests cffi==1.14.3 # via -r requirements/edx/testing.txt, cryptography chardet==3.0.4 # via -r requirements/edx/testing.txt, pdfminer.six, pysrt, requests @@ -59,7 +58,7 @@ defusedxml==0.6.0 # via -r requirements/edx/testing.txt, djangorestframe diff-cover==4.0.0 # via -r requirements/edx/testing.txt distlib==0.3.1 # via -r requirements/edx/testing.txt, virtualenv django-appconf==1.0.4 # via -r requirements/edx/testing.txt, django-statici18n -django-celery==3.3.1 # via -r requirements/edx/testing.txt +django-celery-results==1.2.1 # via -r requirements/edx/testing.txt django-classy-tags==2.0.0 # via -r requirements/edx/testing.txt, django-sekizai django-config-models==2.0.2 # via -r requirements/edx/testing.txt, edx-enterprise django-cookies-samesite==0.7.0 # via -r requirements/edx/testing.txt @@ -92,7 +91,7 @@ django-storages==1.8 # via -c requirements/edx/../constraints.txt, -r requi django-user-tasks==1.3.0 # via -r requirements/edx/testing.txt django-waffle==2.0.0 # via -r requirements/edx/testing.txt, edx-django-utils, edx-drf-extensions, edx-enterprise, edx-proctoring django-webpack-loader==0.7.0 # via -r requirements/edx/testing.txt, edx-proctoring -django==2.2.16 # via -c requirements/edx/../constraints.txt, -r requirements/edx/testing.txt, code-annotations, django-appconf, django-celery, django-classy-tags, django-config-models, django-cors-headers, django-crum, django-debug-toolbar, django-fernet-fields, django-filter, django-method-override, django-model-utils, django-mptt, django-multi-email-field, django-mysql, django-oauth-toolkit, django-pyfs, django-ratelimit-backend, django-sekizai, django-ses, django-splash, django-statici18n, django-storages, django-user-tasks, django-wiki, drf-jwt, drf-yasg, edx-ace, edx-api-doc-tools, edx-bulk-grades, edx-celeryutils, edx-completion, edx-django-release-util, edx-django-sites-extensions, edx-django-utils, edx-drf-extensions, edx-enterprise, edx-i18n-tools, edx-milestones, edx-opaque-keys, edx-organizations, edx-proctoring, edx-rbac, edx-search, edx-submissions, edx-when, edxval, enmerkar, enmerkar-underscore, event-tracking, help-tokens, jsonfield2, lti-consumer-xblock, ora2, rest-condition, super-csv, xss-utils +django==2.2.16 # via -c requirements/edx/../constraints.txt, -r requirements/edx/testing.txt, code-annotations, django-appconf, django-classy-tags, django-config-models, django-cors-headers, django-crum, django-debug-toolbar, django-fernet-fields, django-filter, django-method-override, django-model-utils, django-mptt, django-multi-email-field, django-mysql, django-oauth-toolkit, django-pyfs, django-ratelimit-backend, django-sekizai, django-splash, django-statici18n, django-storages, django-user-tasks, django-wiki, drf-jwt, drf-yasg, edx-ace, edx-api-doc-tools, edx-bulk-grades, edx-celeryutils, edx-completion, edx-django-release-util, edx-django-sites-extensions, edx-django-utils, edx-drf-extensions, edx-enterprise, edx-i18n-tools, edx-milestones, edx-opaque-keys, edx-organizations, edx-proctoring, edx-rbac, edx-search, edx-submissions, edx-when, edxval, enmerkar, enmerkar-underscore, event-tracking, help-tokens, jsonfield2, lti-consumer-xblock, ora2, rest-condition, super-csv, xss-utils djangorestframework-xml==2.0.0 # via -r requirements/edx/testing.txt, edx-enterprise djangorestframework==3.9.4 # via -r requirements/edx/testing.txt, django-config-models, django-user-tasks, drf-jwt, drf-yasg, edx-api-doc-tools, edx-completion, edx-drf-extensions, edx-enterprise, edx-organizations, edx-proctoring, edx-submissions, ora2, rest-condition, super-csv docopt==0.6.2 # via -r requirements/edx/testing.txt, xmodule @@ -151,7 +150,7 @@ httpretty==0.9.7 # via -c requirements/edx/../constraints.txt, -r requi icalendar==4.0.7 # via -r requirements/edx/testing.txt idna==2.10 # via -r requirements/edx/testing.txt, requests imagesize==1.2.0 # via sphinx -importlib-metadata==1.7.0 # via -r requirements/edx/testing.txt, inflect, jsonschema, path, pluggy, pytest, pytest-randomly, tox, virtualenv +importlib-metadata==1.7.0 # via -r requirements/edx/testing.txt, inflect, jsonschema, kombu, path, pluggy, pytest, pytest-randomly, tox, virtualenv importlib-resources==3.0.0 # via -r requirements/edx/testing.txt, virtualenv inflect==3.0.2 # via -c requirements/edx/../constraints.txt, -r requirements/edx/testing.txt, jinja2-pluralize inflection==0.5.1 # via -r requirements/edx/testing.txt, drf-yasg @@ -167,7 +166,7 @@ joblib==0.14.1 # via -c requirements/edx/../constraints.txt, -r requi jsondiff==1.2.0 # via -r requirements/edx/testing.txt, edx-enterprise jsonfield2==3.0.3 # via -c requirements/edx/../constraints.txt, -r requirements/edx/testing.txt, edx-celeryutils, edx-enterprise, edx-proctoring, edx-submissions, ora2 jsonschema==3.2.0 # via sphinxcontrib-openapi -kombu==3.0.37 # via -r requirements/edx/testing.txt, celery +kombu==4.6.11 # via -r requirements/edx/testing.txt, celery laboratory==1.0.2 # via -r requirements/edx/testing.txt lazy-object-proxy==1.4.3 # via -r requirements/edx/testing.txt, astroid lazy==1.4 # via -r requirements/edx/testing.txt, acid-xblock, bok-choy, lti-consumer-xblock, ora2 @@ -253,7 +252,7 @@ pywatchman==1.4.1 # via -r requirements/edx/development.in pyyaml==5.3.1 # via -r requirements/edx/testing.txt, code-annotations, edx-django-release-util, edx-i18n-tools, sphinxcontrib-openapi, xblock random2==1.0.1 # via -r requirements/edx/testing.txt recommender-xblock==1.4.9 # via -r requirements/edx/testing.txt -redis==2.10.6 # via -r requirements/edx/testing.txt +redis==3.5.3 # via -r requirements/edx/testing.txt regex==2020.7.14 # via -r requirements/edx/testing.txt, nltk requests-oauthlib==1.3.0 # via -r requirements/edx/testing.txt, social-auth-core requests==2.24.0 # via -r requirements/edx/testing.txt, analytics-python, coreapi, django-oauth-toolkit, edx-analytics-data-api-client, edx-bulk-grades, edx-drf-extensions, edx-enterprise, edx-rest-api-client, geoip2, mailsnake, pyjwkest, python-swiftclient, requests-oauthlib, sailthru-client, slumber, social-auth-core, sphinx, transifex-client @@ -306,6 +305,7 @@ unidiff==0.6.0 # via -r requirements/edx/testing.txt, coverage-pytest uritemplate==3.0.1 # via -r requirements/edx/testing.txt, coreapi, drf-yasg urllib3==1.25.10 # via -r requirements/edx/testing.txt, elasticsearch, geoip2, requests, selenium, transifex-client user-util==0.3.1 # via -r requirements/edx/testing.txt +vine==1.3.0 # via -r requirements/edx/testing.txt, amqp, celery virtualenv==20.0.31 # via -r requirements/edx/testing.txt, tox voluptuous==0.12.0 # via -r requirements/edx/testing.txt, ora2 vulture==1.6 # via -c requirements/edx/../constraints.txt, -r requirements/edx/development.in diff --git a/requirements/edx/django.txt b/requirements/edx/django.txt index fd6941ef80..48fb0f9177 100644 --- a/requirements/edx/django.txt +++ b/requirements/edx/django.txt @@ -1 +1 @@ -django==2.2.16 # via -c requirements/edx/../constraints.txt, -r requirements/edx/base.in, code-annotations, django-appconf, django-celery, django-classy-tags, django-config-models, django-cors-headers, django-crum, django-fernet-fields, django-filter, django-method-override, django-model-utils, django-mptt, django-multi-email-field, django-mysql, django-oauth-toolkit, django-pyfs, django-ratelimit-backend, django-sekizai, django-ses, django-splash, django-statici18n, django-storages, django-user-tasks, django-wiki, drf-jwt, drf-yasg, edx-ace, edx-api-doc-tools, edx-bulk-grades, edx-celeryutils, edx-completion, edx-django-release-util, edx-django-sites-extensions, edx-django-utils, edx-drf-extensions, edx-enterprise, edx-i18n-tools, edx-milestones, edx-opaque-keys, edx-organizations, edx-proctoring, edx-rbac, edx-search, edx-submissions, edx-when, edxval, enmerkar, enmerkar-underscore, event-tracking, help-tokens, jsonfield2, lti-consumer-xblock, ora2, rest-condition, super-csv, xss-utils +django==2.2.16 # via -c requirements/edx/../constraints.txt, -r requirements/edx/base.in, code-annotations, django-appconf, django-classy-tags, django-config-models, django-cors-headers, django-crum, django-fernet-fields, django-filter, django-method-override, django-model-utils, django-mptt, django-multi-email-field, django-mysql, django-oauth-toolkit, django-pyfs, django-ratelimit-backend, django-sekizai, django-splash, django-statici18n, django-storages, django-user-tasks, django-wiki, drf-jwt, drf-yasg, edx-ace, edx-api-doc-tools, edx-bulk-grades, edx-celeryutils, edx-completion, edx-django-release-util, edx-django-sites-extensions, edx-django-utils, edx-drf-extensions, edx-enterprise, edx-i18n-tools, edx-milestones, edx-opaque-keys, edx-organizations, edx-proctoring, edx-rbac, edx-search, edx-submissions, edx-when, edxval, enmerkar, enmerkar-underscore, event-tracking, help-tokens, jsonfield2, lti-consumer-xblock, ora2, rest-condition, super-csv, xss-utils diff --git a/requirements/edx/testing.txt b/requirements/edx/testing.txt index 6ecf10ba0b..90d340ca5e 100644 --- a/requirements/edx/testing.txt +++ b/requirements/edx/testing.txt @@ -18,24 +18,23 @@ -e openedx/core/lib/xblock_builtin/xblock_discussion # via -r requirements/edx/base.txt -e git+https://github.com/edx-solutions/xblock-google-drive.git@2d176468e33c0713c911b563f8f65f7cf232f5b6#egg=xblock-google-drive # via -r requirements/edx/base.txt -e common/lib/xmodule # via -r requirements/edx/base.txt -amqp==1.4.9 # via -r requirements/edx/base.txt, kombu +amqp==2.6.1 # via -r requirements/edx/base.txt, kombu analytics-python==1.2.9 # via -r requirements/edx/base.txt aniso8601==8.0.0 # via -r requirements/edx/base.txt, edx-tincan-py35 -anyjson==0.3.3 # via -r requirements/edx/base.txt, kombu apipkg==1.5 # via execnet appdirs==1.4.4 # via -r requirements/edx/base.txt, fs, virtualenv astroid==2.3.3 # via pylint, pylint-celery attrs==20.2.0 # via -r requirements/edx/base.txt, edx-ace, pytest babel==2.8.0 # via -r requirements/edx/base.txt, enmerkar, enmerkar-underscore beautifulsoup4==4.9.1 # via -r requirements/edx/base.txt, -r requirements/edx/testing.in, pynliner -billiard==3.3.0.23 # via -r requirements/edx/base.txt, celery +billiard==3.6.3.0 # via -r requirements/edx/base.txt, celery bleach==3.2.1 # via -r requirements/edx/base.txt, django-wiki, edx-enterprise, lti-consumer-xblock, ora2, xblock-poll bok-choy==1.1.1 # via -r requirements/edx/testing.in boto3==1.4.8 # via -r requirements/edx/base.txt, django-ses, fs-s3fs boto==2.39.0 # via -r requirements/edx/base.txt, edxval, ora2 botocore==1.8.17 # via -r requirements/edx/base.txt, boto3, s3transfer bridgekeeper==0.9 # via -r requirements/edx/base.txt -celery==3.1.26.post2 # via -c requirements/edx/../constraints.txt, -r requirements/edx/base.txt, django-celery, django-user-tasks, edx-celeryutils, edx-enterprise, event-tracking +celery==4.4.7 # via -c requirements/edx/../constraints.txt, -r requirements/edx/base.txt, django-celery-results, django-user-tasks, edx-celeryutils, edx-enterprise certifi==2020.6.20 # via -r requirements/edx/base.txt, requests cffi==1.14.3 # via -r requirements/edx/base.txt, cryptography chardet==3.0.4 # via -r requirements/edx/base.txt, pdfminer.six, pysrt, requests @@ -58,7 +57,7 @@ defusedxml==0.6.0 # via -r requirements/edx/base.txt, djangorestframewor diff-cover==4.0.0 # via -r requirements/edx/coverage.txt distlib==0.3.1 # via virtualenv django-appconf==1.0.4 # via -r requirements/edx/base.txt, django-statici18n -django-celery==3.3.1 # via -r requirements/edx/base.txt +django-celery-results==1.2.1 # via -r requirements/edx/base.txt django-classy-tags==2.0.0 # via -r requirements/edx/base.txt, django-sekizai django-config-models==2.0.2 # via -r requirements/edx/base.txt, edx-enterprise django-cookies-samesite==0.7.0 # via -r requirements/edx/base.txt @@ -146,7 +145,7 @@ html5lib==1.1 # via -r requirements/edx/base.txt, ora2 httpretty==0.9.7 # via -c requirements/edx/../constraints.txt, -r requirements/edx/testing.in icalendar==4.0.7 # via -r requirements/edx/base.txt idna==2.10 # via -r requirements/edx/base.txt, requests -importlib-metadata==1.7.0 # via -r requirements/edx/base.txt, -r requirements/edx/coverage.txt, inflect, path, pluggy, pytest, pytest-randomly, tox, virtualenv +importlib-metadata==1.7.0 # via -r requirements/edx/base.txt, -r requirements/edx/coverage.txt, inflect, kombu, path, pluggy, pytest, pytest-randomly, tox, virtualenv importlib-resources==3.0.0 # via virtualenv inflect==3.0.2 # via -c requirements/edx/../constraints.txt, -r requirements/edx/coverage.txt, jinja2-pluralize inflection==0.5.1 # via -r requirements/edx/base.txt, drf-yasg @@ -161,7 +160,7 @@ jmespath==0.10.0 # via -r requirements/edx/base.txt, boto3, botocore joblib==0.14.1 # via -c requirements/edx/../constraints.txt, -r requirements/edx/base.txt, nltk jsondiff==1.2.0 # via -r requirements/edx/base.txt, edx-enterprise jsonfield2==3.0.3 # via -c requirements/edx/../constraints.txt, -r requirements/edx/base.txt, edx-celeryutils, edx-enterprise, edx-proctoring, edx-submissions, ora2 -kombu==3.0.37 # via -r requirements/edx/base.txt, celery +kombu==4.6.11 # via -r requirements/edx/base.txt, celery laboratory==1.0.2 # via -r requirements/edx/base.txt lazy-object-proxy==1.4.3 # via astroid lazy==1.4 # via -r requirements/edx/base.txt, acid-xblock, bok-choy, lti-consumer-xblock, ora2 @@ -242,7 +241,7 @@ pyuca==1.2 # via -r requirements/edx/base.txt pyyaml==5.3.1 # via -r requirements/edx/base.txt, code-annotations, edx-django-release-util, edx-i18n-tools, xblock random2==1.0.1 # via -r requirements/edx/base.txt recommender-xblock==1.4.9 # via -r requirements/edx/base.txt -redis==2.10.6 # via -r requirements/edx/base.txt +redis==3.5.3 # via -r requirements/edx/base.txt regex==2020.7.14 # via -r requirements/edx/base.txt, nltk requests-oauthlib==1.3.0 # via -r requirements/edx/base.txt, social-auth-core requests==2.24.0 # via -r requirements/edx/base.txt, analytics-python, coreapi, django-oauth-toolkit, edx-analytics-data-api-client, edx-bulk-grades, edx-drf-extensions, edx-enterprise, edx-rest-api-client, geoip2, mailsnake, pyjwkest, python-swiftclient, requests-oauthlib, sailthru-client, slumber, social-auth-core, transifex-client @@ -285,6 +284,7 @@ unidiff==0.6.0 # via -r requirements/edx/testing.in, coverage-pytest- uritemplate==3.0.1 # via -r requirements/edx/base.txt, coreapi, drf-yasg urllib3==1.25.10 # via -r requirements/edx/base.txt, elasticsearch, geoip2, requests, selenium, transifex-client user-util==0.3.1 # via -r requirements/edx/base.txt +vine==1.3.0 # via -r requirements/edx/base.txt, amqp, celery virtualenv==20.0.31 # via tox voluptuous==0.12.0 # via -r requirements/edx/base.txt, ora2 watchdog==0.10.3 # via -r requirements/edx/base.txt