Internal Server Error when installing Indigo

I am trying to install the indigo theme. I followed the directions exactly and everything worked up until it was time to run tutor local settheme indigo. At that point I got an error and now I don’t seem to be able to start tutor. i found a person who similarly got an error but it looks like they had modified files and I have not.

tutor@ip-172-31-66-169:~$ tutor local settheme indigo
docker-compose -f /home/tutor/.local/share/tutor/env/local/docker-compose.yml -f /home/tutor/.local/share/tutor/env/local/docker-compose.prod.yml --project-name tutor_local -f /home/tutor/.local/share/tutor/env/local/docker-compose.jobs.yml run --rm lms-job sh -e -c
export DJANGO_SETTINGS_MODULE=$SERVICE_VARIANT.envs.$SETTINGS
echo "Loading settings $DJANGO_SETTINGS_MODULE"
./manage.py lms shell -c "from django.contrib.sites.models import Site
print('Assigning theme indigo to giza.empowrco.org...')
site, _ = Site.objects.get_or_create(domain='giza.empowrco.org')
if not site.name:
    site.name = 'giza.empowrco.org'
    site.save()
site.themes.all().delete()
site.themes.create(theme_dir_name='indigo')

print('Assigning theme indigo to giza.empowrco.org:8000...')
site, _ = Site.objects.get_or_create(domain='giza.empowrco.org:8000')
if not site.name:
    site.name = 'giza.empowrco.org:8000'
    site.save()
site.themes.all().delete()
site.themes.create(theme_dir_name='indigo')

print('Assigning theme indigo to studio.giza.empowrco.org...')
site, _ = Site.objects.get_or_create(domain='studio.giza.empowrco.org')
if not site.name:
    site.name = 'studio.giza.empowrco.org'
    site.save()
site.themes.all().delete()
site.themes.create(theme_dir_name='indigo')

print('Assigning theme indigo to studio.giza.empowrco.org:8001...')
site, _ = Site.objects.get_or_create(domain='studio.giza.empowrco.org:8001')
if not site.name:
    site.name = 'studio.giza.empowrco.org:8001'
    site.save()
site.themes.all().delete()
site.themes.create(theme_dir_name='indigo')
"
Creating tutor_local_lms-job_run ... done
Loading settings lms.envs.tutor.production
Traceback (most recent call last):
  File "./manage.py", line 119, in <module>
    startup = importlib.import_module(edx_args.startup)
  File "/opt/pyenv/versions/3.8.6/lib/python3.8/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
  File "<frozen importlib._bootstrap>", line 991, in _find_and_load
  File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 783, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/openedx/edx-platform/lms/startup.py", line 10, in <module>
    settings.INSTALLED_APPS  # pylint: disable=pointless-statement
  File "/openedx/venv/lib/python3.8/site-packages/django/conf/__init__.py", line 79, in __getattr__
    self._setup(name)
  File "/openedx/venv/lib/python3.8/site-packages/django/conf/__init__.py", line 66, in _setup
    self._wrapped = Settings(settings_module)
  File "/openedx/venv/lib/python3.8/site-packages/django/conf/__init__.py", line 157, in __init__
    mod = importlib.import_module(self.SETTINGS_MODULE)
  File "/opt/pyenv/versions/3.8.6/lib/python3.8/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
  File "<frozen importlib._bootstrap>", line 991, in _find_and_load
  File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 783, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/openedx/edx-platform/lms/envs/tutor/production.py", line 3, in <module>
    from lms.envs.production import *
  File "/openedx/edx-platform/lms/envs/production.py", line 67, in <module>
    __config__ = yaml.safe_load(f)
  File "/openedx/venv/lib/python3.8/site-packages/yaml/__init__.py", line 162, in safe_load
    return load(stream, SafeLoader)
  File "/openedx/venv/lib/python3.8/site-packages/yaml/__init__.py", line 114, in load
    return loader.get_single_data()
  File "/openedx/venv/lib/python3.8/site-packages/yaml/constructor.py", line 49, in get_single_data
    node = self.get_single_node()
  File "/openedx/venv/lib/python3.8/site-packages/yaml/composer.py", line 36, in get_single_node
    document = self.compose_document()
  File "/openedx/venv/lib/python3.8/site-packages/yaml/composer.py", line 55, in compose_document
    node = self.compose_node(None, None)
  File "/openedx/venv/lib/python3.8/site-packages/yaml/composer.py", line 84, in compose_node
    node = self.compose_mapping_node(anchor)
  File "/openedx/venv/lib/python3.8/site-packages/yaml/composer.py", line 133, in compose_mapping_node
    item_value = self.compose_node(node, item_key)
  File "/openedx/venv/lib/python3.8/site-packages/yaml/composer.py", line 84, in compose_node
    node = self.compose_mapping_node(anchor)
  File "/openedx/venv/lib/python3.8/site-packages/yaml/composer.py", line 127, in compose_mapping_node
    while not self.check_event(MappingEndEvent):
  File "/openedx/venv/lib/python3.8/site-packages/yaml/parser.py", line 98, in check_event
    self.current_event = self.state()
  File "/openedx/venv/lib/python3.8/site-packages/yaml/parser.py", line 549, in parse_flow_mapping_key
    raise ParserError("while parsing a flow mapping", self.marks[-1],
yaml.parser.ParserError: while parsing a flow mapping
  in "/openedx/config/lms.env.json", line 8, column 15
expected ',' or '}', but got '<scalar>'
  in "/openedx/config/lms.env.json", line 10, column 43
ERROR: 1
Error: Command failed with status 1: docker-compose -f /home/tutor/.local/share/tutor/env/local/docker-compose.yml -f /home/tutor/.local/share/tutor/env/local/docker-compose.prod.yml --project-name tutor_local -f /home/tutor/.local/share/tutor/env/local/docker-compose.jobs.yml run --rm lms-job sh -e -c
export DJANGO_SETTINGS_MODULE=$SERVICE_VARIANT.envs.$SETTINGS
echo "Loading settings $DJANGO_SETTINGS_MODULE"
./manage.py lms shell -c "from django.contrib.sites.models import Site
print('Assigning theme indigo to giza.empowrco.org...')
site, _ = Site.objects.get_or_create(domain='giza.empowrco.org')
if not site.name:
    site.name = 'giza.empowrco.org'
    site.save()
site.themes.all().delete()
site.themes.create(theme_dir_name='indigo')

print('Assigning theme indigo to giza.empowrco.org:8000...')
site, _ = Site.objects.get_or_create(domain='giza.empowrco.org:8000')
if not site.name:
    site.name = 'giza.empowrco.org:8000'
    site.save()
site.themes.all().delete()
site.themes.create(theme_dir_name='indigo')

print('Assigning theme indigo to studio.giza.empowrco.org...')
site, _ = Site.objects.get_or_create(domain='studio.giza.empowrco.org')
if not site.name:
    site.name = 'studio.giza.empowrco.org'
    site.save()
site.themes.all().delete()
site.themes.create(theme_dir_name='indigo')

print('Assigning theme indigo to studio.giza.empowrco.org:8001...')
site, _ = Site.objects.get_or_create(domain='studio.giza.empowrco.org:8001')
if not site.name:
    site.name = 'studio.giza.empowrco.org:8001'
    site.save()
site.themes.all().delete()
site.themes.create(theme_dir_name='indigo')
"

Bump. This has crashed my site.

I’m pretty sure that the error has nothing to do with Indigo. What’s at line 8 of lms.env.json? I bet that one of the plugins you installed has an invalid patch.

Here is top of the file. I don’t see <scalar> anywhere. I ran vi ./share/tutor/env/apps/openedx/config/lms.env.json

{
  "SITE_NAME": "giza.empowrco.org",
  "BOOK_URL": "",
  "LOG_DIR": "/openedx/data/logs",
  "LOGGING_ENV": "sandbox",
  "OAUTH_OIDC_ISSUER": "https://giza.empowrco.org/oauth2",
  "PLATFORM_NAME": "EmpowrX",
  "FEATURES": {
    # restrict registration by email pattern
    "REGISTRATION_EMAIL_PATTERNS_ALLOWED" = ["^.*@(.*\\.)?empowrco\\.org$"],

    "CERTIFICATES_HTML_VIEW": true,
    "PREVIEW_LMS_BASE": "preview.giza.empowrco.org",
    "ENABLE_CORS_HEADERS": true,
    "ENABLE_COURSE_DISCOVERY": true,
    "ENABLE_COURSEWARE_SEARCH": true,
    "ENABLE_CSMH_EXTENDED": false,
    "ENABLE_DASHBOARD_SEARCH":  true,
    "ENABLE_COMBINED_LOGIN_REGISTRATION": true,
    "ENABLE_GRADE_DOWNLOADS": true,
    "ENABLE_LEARNER_RECORDS": false,
    "ENABLE_MOBILE_REST_API": true,
    "ENABLE_OAUTH2_PROVIDER": true,
    "ENABLE_THIRD_PARTY_AUTH": true,
    "MILESTONES_APP": true,
    "ENABLE_PREREQUISITE_COURSES": true
  },
  "LMS_ROOT_URL": "https://giza.empowrco.org",
  "CMS_ROOT_URL": "https://studio.giza.empowrco.org",
  "CMS_BASE": "studio.giza.empowrco.org",
  "LMS_BASE": "giza.empowrco.org",
  "CONTACT_EMAIL": "support@empowrco.org",
  "CELERY_BROKER_TRANSPORT": "redis",
  "CELERY_BROKER_HOSTNAME": "redis:6379",
  "CELERY_BROKER_VHOST": "0",
  "CELERY_BROKER_USER": "",
  "CELERY_BROKER_PASSWORD": "",
  "ALTERNATE_WORKER_QUEUES": "cms",
  "COMMENTS_SERVICE_URL": "_________",
  "COMMENTS_SERVICE_KEY": "_________",
  "ENABLE_COMPREHENSIVE_THEMING": true,
  "COMPREHENSIVE_THEME_DIRS": ["/openedx/themes"],
  "STATIC_ROOT_BASE": "/openedx/staticfiles",

Also, here are my plugins

git+https://github.com/open-craft/xblock-poll.git
git+https://github.com/edx/xblock-in-video-quiz.git
git+https://github.com/edx/xblock-free-text-response.git
git+https://github.com/edx/edx-zoom.git
git+https://github.com/open-craft/problem-builder.git
git+https://github.com/edx-solutions/xblock-image-explorer.git

There was another one that was borked, I removed it and ran built the openedx image again.

JSON files do not support comments. You should remove this line from your plugin.

Ah I realize you meant openedx plugins but you meant a tutor plugin. I was following this plugin for allowedemails which was causing the issue A YAML plugin for Tutor which restricts registration by email domain. · GitHub

I updated it though to work now.

Thank you!

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.