Install native Open edX: edxapp raises django exception

Hi,
I’m attempting to install edX natively (koa.master), fresh on a virtual machine (using Oracle VirtualBox) with 3GB of RAM and 60GB of VHD space.
While running the native.sh bash script, an error came up:

TASK [edxapp : migrate] **************************************************************************
failed: [localhost] (item=lms) => {"ansible_loop_var": "item", "changed": true, "cmd": ["/edx/bin/edxapp-migrate-lms"], "delta": "0:01:00.195165", "end": "2021-05-06 09:31:45.744241", "item": "lms", "msg": "non-zero return code", "rc": 1, "start": "2021-05-06 09:30:45.549076", "stderr": "2021-05-06 09:31:14,393 WARNING 24032 [py.warnings] [user None] [ip None] warnings.py:109 - /edx/app/edxapp/venvs/edxapp/lib/python3.8/site-packages/newrelic/console.py:84: DeprecationWarning: `formatargspec` is deprecated since Python 3.5. Use `signature` and the `Signature` object directly\n  prototype = wrapper.__name__[3:] + ' ' + inspect.formatargspec(\n\n2021-05-06 09:31:24,045 WARNING 24032 [py.warnings] [user None] [ip None] warnings.py:109 - /edx/app/edxapp/venvs/edxapp/lib/python3.8/importlib/__init__.py:127: DeprecatedEdxPlatformImportWarning: Importing util instead of common.djangoapps.util is deprecated\n  return _bootstrap._gcd_import(name[level:], package, level)\n\n2021-05-06 09:31:24,046 WARNING 24032 [py.warnings] [user None] [ip None] warnings.py:109 - /edx/app/edxapp/venvs/edxapp/lib/python3.8/importlib/__init__.py:127: DeprecatedEdxPlatformImportWarning: Importing util.memcache instead of common.djangoapps.util.memcache is deprecated\n  return _bootstrap._gcd_import(name[level:], package, level)\n\n2021-05-06 09:31:28,656 WARNING 24032 [py.warnings] [user None] [ip None] warnings.py:109 - /edx/app/edxapp/venvs/edxapp/lib/python3.8/site-packages/social_core/utils.py:56: DeprecatedEdxPlatformImportWarning: Importing third_party_auth instead of common.djangoapps.third_party_auth is deprecated\n  __import__(name)\n\n2021-05-06 09:31:28,657 WARNING 24032 [py.warnings] [user None] [ip None] warnings.py:109 - /edx/app/edxapp/venvs/edxapp/lib/python3.8/site-packages/social_core/utils.py:56: DeprecatedEdxPlatformImportWarning: Importing third_party_auth.appleid instead of common.djangoapps.third_party_auth.appleid is deprecated\n  __import__(name)\n\n2021-05-06 09:31:28,658 WARNING 24032 [py.warnings] [user None] [ip None] warnings.py:109 - /edx/app/edxapp/venvs/edxapp/lib/python3.8/site-packages/social_core/utils.py:56: DeprecatedEdxPlatformImportWarning: Importing third_party_auth.identityserver3 instead of common.djangoapps.third_party_auth.identityserver3 is deprecated\n  __import__(name)\n\n2021-05-06 09:31:28,658 WARNING 24032 [py.warnings] [user None] [ip None] warnings.py:109 - /edx/app/edxapp/venvs/edxapp/lib/python3.8/site-packages/social_core/utils.py:56: DeprecatedEdxPlatformImportWarning: Importing third_party_auth.saml instead of common.djangoapps.third_party_auth.saml is deprecated\n  __import__(name)\n\n2021-05-06 09:31:28,659 WARNING 24032 [py.warnings] [user None] [ip None] warnings.py:109 - /edx/app/edxapp/venvs/edxapp/lib/python3.8/site-packages/social_core/utils.py:56: DeprecatedEdxPlatformImportWarning: Importing third_party_auth.lti instead of common.djangoapps.third_party_auth.lti is deprecated\n  __import__(name)\n\n2021-05-06 09:31:29,329 WARNING 24032 [py.warnin

Full pastebin of the error can be found here: ERROR: edxapp : migrate - Pastebin.com
At the end of the error report, there are ellipsis, suggesting to me that there may be more to it than Ansible can print.
So, I decided to run the command that failed, standalone:
/edx/bin/edxapp-migrate-lms
And received:

wis20211@wis20211:~$ /edx/bin/edxapp-migrate-lms
2021-05-06 10:55:47,309 WARNING 25757 [py.warnings] [user None] [ip None] warnings.py:109 - /edx/app/edxapp/venvs/edxapp/lib/python3.8/site-packages/newrelic/console.py:84: DeprecationWarning: `formatargspec` is deprecated since Python 3.5. Use `signature` and the `Signature` object directly
  prototype = wrapper.__name__[3:] + ' ' + inspect.formatargspec(

2021-05-06 10:55:48,305 WARNING 25757 [py.warnings] [user None] [ip None] warnings.py:109 - /edx/app/edxapp/venvs/edxapp/lib/python3.8/importlib/__init__.py:127: DeprecatedEdxPlatformImportWarning: Importing util instead of common.djangoapps.util is deprecated
  return _bootstrap._gcd_import(name[level:], package, level)

2021-05-06 10:55:48,308 WARNING 25757 [py.warnings] [user None] [ip None] warnings.py:109 - /edx/app/edxapp/venvs/edxapp/lib/python3.8/importlib/__init__.py:127: DeprecatedEdxPlatformImportWarning: Importing util.memcache instead of common.djangoapps.util.memcache is deprecated
  return _bootstrap._gcd_import(name[level:], package, level)

2021-05-06 10:55:48,900 WARNING 25757 [py.warnings] [user None] [ip None] warnings.py:109 - /edx/app/edxapp/venvs/edxapp/lib/python3.8/site-packages/social_core/utils.py:56: DeprecatedEdxPlatformImportWarning: Importing third_party_auth instead of common.djangoapps.third_party_auth is deprecated
  __import__(name)

2021-05-06 10:55:48,905 WARNING 25757 [py.warnings] [user None] [ip None] warnings.py:109 - /edx/app/edxapp/venvs/edxapp/lib/python3.8/site-packages/social_core/utils.py:56: DeprecatedEdxPlatformImportWarning: Importing third_party_auth.appleid instead of common.djangoapps.third_party_auth.appleid is deprecated
  __import__(name)

2021-05-06 10:55:48,908 WARNING 25757 [py.warnings] [user None] [ip None] warnings.py:109 - /edx/app/edxapp/venvs/edxapp/lib/python3.8/site-packages/social_core/utils.py:56: DeprecatedEdxPlatformImportWarning: Importing third_party_auth.identityserver3 instead of common.djangoapps.third_party_auth.identityserver3 is deprecated
  __import__(name)

2021-05-06 10:55:48,908 WARNING 25757 [py.warnings] [user None] [ip None] warnings.py:109 - /edx/app/edxapp/venvs/edxapp/lib/python3.8/site-packages/social_core/utils.py:56: DeprecatedEdxPlatformImportWarning: Importing third_party_auth.saml instead of common.djangoapps.third_party_auth.saml is deprecated
  __import__(name)

2021-05-06 10:55:48,909 WARNING 25757 [py.warnings] [user None] [ip None] warnings.py:109 - /edx/app/edxapp/venvs/edxapp/lib/python3.8/site-packages/social_core/utils.py:56: DeprecatedEdxPlatformImportWarning: Importing third_party_auth.lti instead of common.djangoapps.third_party_auth.lti is deprecated
  __import__(name)

2021-05-06 10:55:48,991 WARNING 25757 [py.warnings] [user None] [ip None] warnings.py:109 - /edx/app/edxapp/venvs/edxapp/lib/python3.8/site-packages/sorl/thumbnail/conf/__init__.py:16: RemovedInDjango30Warning: The DEFAULT_CONTENT_TYPE setting is deprecated.
  setattr(self, attr, getattr(obj, attr))

2021-05-06 10:55:48,994 WARNING 25757 [py.warnings] [user None] [ip None] warnings.py:109 - /edx/app/edxapp/venvs/edxapp/lib/python3.8/site-packages/sorl/thumbnail/conf/__init__.py:16: RemovedInDjango31Warning: The FILE_CHARSET setting is deprecated. Starting with Django 3.1, all files read from disk must be UTF-8 encoded.
  setattr(self, attr, getattr(obj, attr))

2021-05-06 10:55:49,064 WARNING 25757 [py.warnings] [user None] [ip None] warnings.py:109 - /edx/app/edxapp/venvs/edxapp/lib/python3.8/site-packages/enterprise/utils.py:63: DeprecatedEdxPlatformImportWarning: Importing student instead of common.djangoapps.student is deprecated
  from student.api import (

2021-05-06 10:55:49,068 WARNING 25757 [py.warnings] [user None] [ip None] warnings.py:109 - /edx/app/edxapp/venvs/edxapp/lib/python3.8/site-packages/enterprise/utils.py:63: DeprecatedEdxPlatformImportWarning: Importing student.api instead of common.djangoapps.student.api is deprecated
  from student.api import (

2021-05-06 10:55:49,070 WARNING 25757 [py.warnings] [user None] [ip None] warnings.py:109 - /edx/app/edxapp/venvs/edxapp/lib/python3.8/site-packages/enterprise/utils.py:74: DeprecatedEdxPlatformImportWarning: Importing third_party_auth.provider instead of common.djangoapps.third_party_auth.provider is deprecated
  from third_party_auth.provider import Registry  # pylint: disable=unused-import

2021-05-06 10:55:49,071 WARNING 25757 [py.warnings] [user None] [ip None] warnings.py:109 - /edx/app/edxapp/venvs/edxapp/lib/python3.8/site-packages/enterprise/utils.py:81: DeprecatedEdxPlatformImportWarning: Importing track instead of common.djangoapps.track is deprecated
  from track import segment

2021-05-06 10:55:49,212 WARNING 25757 [py.warnings] [user None] [ip None] warnings.py:109 - /edx/app/edxapp/venvs/edxapp/lib/python3.8/site-packages/enterprise/admin/forms.py:35: DeprecatedEdxPlatformImportWarning: Importing third_party_auth.models instead of common.djangoapps.third_party_auth.models is deprecated
  from third_party_auth.models import SAMLProviderConfig as saml_provider_configuration

2021-05-06 10:55:49,400 WARNING 25757 [py.warnings] [user None] [ip None] warnings.py:109 - /edx/app/edxapp/venvs/edxapp/lib/python3.8/site-packages/enterprise/signals.py:40: DeprecatedEdxPlatformImportWarning: Importing student.models instead of common.djangoapps.student.models is deprecated
  from student.models import CourseEnrollment

2021-05-06 10:55:49,900 WARNING 25757 [py.warnings] [user None] [ip None] warnings.py:109 - /edx/app/edxapp/venvs/edxapp/lib/python3.8/site-packages/poll/poll.py:56: DeprecatedEdxPlatformImportWarning: Importing static_replace instead of common.djangoapps.static_replace is deprecated
  from static_replace import replace_static_urls

2021-05-06 10:55:50,015 WARNING 25757 [py.warnings] [user None] [ip None] warnings.py:109 - /edx/app/edxapp/venvs/edxapp/lib/python3.8/site-packages/staff_graded/staff_graded.py:27: DeprecatedEdxPlatformImportWarning: Importing course_modes instead of common.djangoapps.course_modes is deprecated
  from course_modes.models import CourseMode

2021-05-06 10:55:50,018 WARNING 25757 [py.warnings] [user None] [ip None] warnings.py:109 - /edx/app/edxapp/venvs/edxapp/lib/python3.8/site-packages/staff_graded/staff_graded.py:27: DeprecatedEdxPlatformImportWarning: Importing course_modes.models instead of common.djangoapps.course_modes.models is deprecated
  from course_modes.models import CourseMode

Operations to perform:
  Apply all migrations: admin, announcements, api_admin, assessment, auth, badges, blackboard, block_structure, bookmarks, branding, bulk_email, bulk_grades, calendar_sync, canvas, catalog, celery_utils, certificates, commerce, completion, consent, content_libraries, content_type_gating, contentserver, contenttypes, cornerstone, cors_csrf, course_action_state, course_date_signals, course_duration_limits, course_goals, course_groups, course_modes, course_overviews, courseware, coursewarehistoryextended, crawlers, credentials, credit, dark_lang, database_fixups, degreed, demographics, discounts, django_celery_results, django_comment_common, django_notify, edx_proctoring, edx_when, edxval, email_marketing, embargo, enterprise, entitlements, experiments, external_user_ids, grades, instructor_task, integrated_channel, learning_sequences, lms_xblock, lti_consumer, milestones, mobile_api, moodle, oauth2_provider, oauth_dispatch, organizations, program_enrollments, programs, redirects, rss_proxy, sap_success_factors, schedules, self_paced, sessions, shoppingcart, site_configuration, sites, social_django, splash, static_replace, status, student, submissions, super_csv, survey, system_wide_roles, teams, theming, third_party_auth, thumbnail, track, user_api, user_authn, util, verified_track_content, verify_student, video_config, video_pipeline, waffle, waffle_utils, wiki, workflow, xapi, xblock_django
Running migrations:
  Applying certificates.0003_data__default_modes...Traceback (most recent call last):
  File "manage.py", line 123, in <module>
    execute_from_command_line([sys.argv[0]] + django_args)
  File "/edx/app/edxapp/venvs/edxapp/lib/python3.8/site-packages/django/core/management/__init__.py", line 381, in execute_from_command_line
    utility.execute()
  File "/edx/app/edxapp/venvs/edxapp/lib/python3.8/site-packages/django/core/management/__init__.py", line 375, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/edx/app/edxapp/venvs/edxapp/lib/python3.8/site-packages/django/core/management/base.py", line 323, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/edx/app/edxapp/venvs/edxapp/lib/python3.8/site-packages/django/core/management/base.py", line 364, in execute
    output = self.handle(*args, **options)
  File "/edx/app/edxapp/venvs/edxapp/lib/python3.8/site-packages/django/core/management/base.py", line 83, in wrapped
    res = handle_func(*args, **kwargs)
  File "/edx/app/edxapp/venvs/edxapp/lib/python3.8/site-packages/django/core/management/commands/migrate.py", line 232, in handle
    post_migrate_state = executor.migrate(
  File "/edx/app/edxapp/venvs/edxapp/lib/python3.8/site-packages/django/db/migrations/executor.py", line 117, in migrate
    state = self._migrate_all_forwards(state, plan, full_plan, fake=fake, fake_initial=fake_initial)
  File "/edx/app/edxapp/venvs/edxapp/lib/python3.8/site-packages/django/db/migrations/executor.py", line 147, in _migrate_all_forwards
    state = self.apply_migration(state, migration, fake=fake, fake_initial=fake_initial)
  File "/edx/app/edxapp/venvs/edxapp/lib/python3.8/site-packages/django/db/migrations/executor.py", line 245, in apply_migration
    state = migration.apply(state, schema_editor)
  File "/edx/app/edxapp/venvs/edxapp/lib/python3.8/site-packages/django/db/migrations/migration.py", line 121, in apply
    operation.database_forwards(self.app_label, schema_editor, old_state, project_state)
  File "/edx/app/edxapp/venvs/edxapp/lib/python3.8/site-packages/django/db/migrations/operations/special.py", line 190, in database_forwards
    self.code(from_state.apps, schema_editor)
  File "/edx/app/edxapp/edx-platform/lms/djangoapps/certificates/migrations/0003_data__default_modes.py", line 23, in forwards
    conf.icon.save(
  File "/edx/app/edxapp/venvs/edxapp/lib/python3.8/site-packages/django/db/models/fields/files.py", line 87, in save
    name = self.field.generate_filename(self.instance, name)
  File "/edx/app/edxapp/venvs/edxapp/lib/python3.8/site-packages/django/db/models/fields/files.py", line 303, in generate_filename
    filename = validate_file_name(filename)
  File "/edx/app/edxapp/venvs/edxapp/lib/python3.8/site-packages/django/core/files/utils.py", line 8, in validate_file_name
    raise SuspiciousFileOperation("File name '%s' includes path elements" % name)
django.core.exceptions.SuspiciousFileOperation: File name 'badges/honor.png' includes path elements

I’m not entirely sure whether it is correct to run the command standalone, but… just more information if you need it.
Thank you for any help offered.

This seem to be related to a Django security patch that we applied (2.2.21). We’re looking into it.

1 Like

Koa.master has been fixed, it should install now.

1 Like

Thank you for replying Ned, it’s confirmed to have installed successfully now.
Although, sorry for replying rather late…
I’ll mark the post as a solution now.

A post was split to a new topic: ModuleNotFoundError: No module named ‘third_party_auth.appleid’