overhangio / tutor Goto Github PK
View Code? Open in Web Editor NEWThe Docker-based Open edX distribution designed for peace of mind
Home Page: https://docs.tutor.overhang.io/
License: GNU Affero General Public License v3.0
The Docker-based Open edX distribution designed for peace of mind
Home Page: https://docs.tutor.overhang.io/
License: GNU Affero General Public License v3.0
When I run the update_assets command in the developer environment, I get the following error:
$ paver update_assets lms --settings=development
...
xmodule_assets common/static/xmodule
Traceback (most recent call last):
File "/usr/local/bin/xmodule_assets", line 6, in <module>
from pkg_resources import load_entry_point
File "/usr/local/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 3141, in <module>
@_call_aside
File "/usr/local/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 3125, in _call_aside
f(*args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 3154, in _initialize_master_working_set
working_set = WorkingSet._build_master()
File "/usr/local/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 666, in _build_master
ws.require(__requires__)
File "/usr/local/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 984, in require
needed = self.resolve(parse_requirements(requirements))
File "/usr/local/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 870, in resolve
raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'XModule' distribution was not found and is required by the application
Captured Task Output:
---------------------
---> pavelib.assets.update_assets
---> pavelib.prereqs.install_node_prereqs
test `npm config get registry` = "https://registry.npmjs.org/" || (echo setting registry; npm config set registry https://registry.npmjs.org/)
npm install
xmodule_assets common/static/xmodule
Build failed running pavelib.assets.update_assets: Subprocess return code: 1
They seem to have the same objectives?
https://github.com/openfun/fun-platform
Hello
1st Thank you for this project.
Issue: Can't run the openedx if the image that i'm using is built locally.
Steps tp reproduce the error:
1. Build openedx image with a custom tag
2. Change the tags in the docker-compose
3. Run make all
Error Message
Configuration files were successfuly generated. You may now run the app containers.
docker-compose run --rm -e USERID=666 -e SETTINGS=universal.production lms bash -c "wait-for-> > greenlight.sh && ./manage.py lms migrate"
Starting edx.prod.mongodb ... done
Starting edx.prod.memcached ... done
Starting edx.prod.elasticsearch ... done
Starting edx.prod.rabbitmq ... done
Starting edx.prod.mysql ... done
Starting edx.prod.forum ... done
: invalid option
make: *** [migrate] Error 1
Maybe the problem is related with one of the following warning when building the image
debconf: delaying package configuration, since apt-utils is not installed
Get:146 http://archive.ubuntu.com/ubuntu xenial/universe amd64 npm all 3.5.2-0ubuntu4 [1586 kB]
debconf: unable to initialize frontend: Dialog
debconf: (TERM is not set, so the dialog frontend is not usable.)
debconf: falling back to frontend: Readline
debconf: unable to initialize frontend: Readline
debconf: (This frontend requires a controlling tty.)
debconf: falling back to frontend: Teletype
dpkg-preconfigure: unable to re-open stdin:
Fetched 32.0 MB in 24s (1331 kB/s)Cloning https://github.com/edx/codejail.git (to a320d43ce6b9c93b17636b2491f724d9e433be47) to /openedx/venv/src/codejail
Could not find a tag or branch 'a320d43ce6b9c93b17636b2491f724d9e433be47', assuming commit.
Requested codejail==0.0 from git+https://github.com/edx/codejail.git@a320d43ce6b9c93b17636b2491f724d9e433be47#egg=codejail==0.0 (from -r requirements/edx/github.txt (line 73)), but installing version NoneStep 12/25 : RUN pip install --src ../venv/src -r requirements/edx/base.txt
---> Running in 71844a0d8b40
DEPRECATION: --allow-external has been deprecated and will be removed in the future. Due to changes in the repository protocol, it no longer has any effect.
DEPRECATION: --allow-unverified has been deprecated and will be removed in the future. Due to changes in the repository protocol, it no longer has any effect.Requested meliae==0.4.0 from https://files.pythonhosted.org/packages/98/c6/7fa12062ddfe1732d43b34b64a3fe99da958a88fa1d8b7550fe386a9ca01/meliae-0.4.0.tar.gz#sha256=976519ab02aaa6a8fb5f596dc4dd9f64fc9510b00e054979566e51c9be7cec99 (from -r requirements/edx/base.txt (line 75)), but installing version None
Any idea how to overcome this issue?
Thanks!
Hi @regisb
I tried with this repo, executing the following commands:
$ git clone https://github.com/regisb/openedx-docker.git
$ cd openedx-docker/
$ make all
./configure
Your website domain name for students (LMS) (default: "www.myopenedx.com"): http://lms.kimetrics.com
Your website domain name for teachers (CMS) (default: "studio.myopenedx.com"): http://studio.kimetrics.com
Secret key -- if you don't know what this is, you can safely accept the default (default: "DA7y8xAbwUydrCnFsG93IgeG"):
Platform name/title (default: "My Open edX"): Kimetrics - Smart field management - Cursos en linea
MySQL database name (default: "openedx"):
MySQL database username (default: "openedx"):
MySQL database password (default: "password"):
MongoDb database name (default: "openedx"):
Configuration values were saved to config/openedx/config.json
Generated config file config/openedx/lms.env.json (from template config/openedx/templates/lms.env.json.templ)
Generated config file config/openedx/cms.env.json (from template config/openedx/templates/cms.env.json.templ)
Generated config file config/openedx/lms.auth.json (from template config/openedx/templates/lms.auth.json.templ)
Generated config file config/openedx/cms.auth.json (from template config/openedx/templates/cms.auth.json.templ)
Generated config file mysql/config/username (from template mysql/config/templates/username.templ)
Generated config file mysql/config/password (from template mysql/config/templates/password.templ)
Generated config file mysql/config/database (from template mysql/config/templates/database.templ)
Generated config file config/nginx/lms.conf (from template config/nginx/templates/lms.conf.templ)
Generated config file config/nginx/cms.conf (from template config/nginx/templates/cms.conf.templ)
Configuration files were successfuly generated. You may now run the app containers.
docker-compose pull
ERROR: Version in "./docker-compose.yml" is unsupported. You might be seeing this error because you're using the wrong Compose file version. Either specify a version of "2" (or "2.0") and place your service definitions under the `services` key, or omit the `version` key and place your service definitions at the root of the file to use version 1.
For more on the Compose file format versions, see https://docs.docker.com/compose/compose-file/
Makefile:22: recipe for target 'update' failed
make: *** [update] Error 1
Any idea how fixed this error?
Hi,
I am new to openedx and have been trying to get a lite version of the platform up and running for a project of ours(planning to customize).
I have followed all the instructions specified here. However I am unable to access both the LMS and CMS portals at http://localhost:8000 and http://localhost:8001 respectively.
http://localhost:80 however works, show the default nginx page.
Note: for the LMS site, my input was localhost:8000 and for the CMS site my input was localhost:8001
Any help would be much appreciated. Thanks and Regards!!
Hi @regisb
I have the following error:
ubuntu@ip-172-30-4-230:~/openedx-docker$ make all
./configure
Your website domain name for students (LMS) (default: "http://lms.kimetrics.com"):
Your website domain name for teachers (CMS) (default: "http://studio.kimetrics.com"):
Secret key -- if you don't know what this is, you can safely accept the default (default: "********"):
Platform name/title (default: "Kimetrics - Smart field management - Cursos en linea"):
MySQL database name (default: "openedx"):
MySQL database username (default: "openedx"):
MySQL database password (default: "password"):
MongoDb database name (default: "openedx"):
Configuration values were saved to config/openedx/config.json
Generated config file config/openedx/lms.env.json (from template config/openedx/templates/lms.env.json.templ)
Generated config file config/openedx/cms.env.json (from template config/openedx/templates/cms.env.json.templ)
Generated config file config/openedx/lms.auth.json (from template config/openedx/templates/lms.auth.json.templ)
Generated config file config/openedx/cms.auth.json (from template config/openedx/templates/cms.auth.json.templ)
Generated config file mysql/config/username (from template mysql/config/templates/username.templ)
Generated config file mysql/config/password (from template mysql/config/templates/password.templ)
Generated config file mysql/config/database (from template mysql/config/templates/database.templ)
Generated config file config/nginx/lms.conf (from template config/nginx/templates/lms.conf.templ)
Generated config file config/nginx/cms.conf (from template config/nginx/templates/cms.conf.templ)
Configuration files were successfuly generated. You may now run the app containers.
docker-compose pull
Pulling memcached ... done
Pulling mongodb ... done
Pulling mysql ... done
Pulling nginx ... done
Pulling rabbitmq ... done
Pulling smtp ... done
Pulling lms ... done
Pulling cms ... done
Pulling lms_worker ... done
Pulling cms_worker ... done
docker-compose run --rm -e USERID=$(id -u) -e SETTINGS=universal.production lms bash -c "wait-for-greenlight.sh && ./manage.py lms migrate"
Starting openedx-docker_memcached_1 ... done
Starting openedx-docker_smtp_1 ... done
Starting openedx-docker_mysql_1 ... done
Starting openedx-docker_rabbitmq_1 ... done
Starting openedx-docker_mongodb_1 ... done
creating new user 'openedx' with UID 1000
Checking system...
2018-05-23 19:40:11,824 WARNING 12 [py.warnings] base.py:116 - /usr/local/lib/python2.7/dist-packages/openassessment/workflow/models.py:46: RemovedInDjango19Warning: Model class openassessment.workflow.models.AssessmentWorkflow doesn't declare an explicit app_label and either isn't in an application in INSTALLED_APPS or else was imported before its application was loaded. This will no longer be supported in Django 1.9.
class AssessmentWorkflow(TimeStampedModel, StatusModel):
2018-05-23 19:40:11,827 WARNING 12 [py.warnings] base.py:116 - /usr/local/lib/python2.7/dist-packages/openassessment/workflow/models.py:608: RemovedInDjango19Warning: Model class openassessment.workflow.models.AssessmentWorkflowStep doesn't declare an explicit app_label and either isn't in an application in INSTALLED_APPS or else was imported before its application was loaded. This will no longer be supported in Django 1.9.
class AssessmentWorkflowStep(models.Model):
2018-05-23 19:40:11,828 WARNING 12 [py.warnings] base.py:116 - /usr/local/lib/python2.7/dist-packages/openassessment/workflow/models.py:749: RemovedInDjango19Warning: Model class openassessment.workflow.models.AssessmentWorkflowCancellation doesn't declare an explicit app_label and either isn't in an application in INSTALLED_APPS or else was imported before its application was loaded. This will no longer be supported in Django 1.9.
class AssessmentWorkflowCancellation(models.Model):
2018-05-23 19:40:12,097 WARNING 12 [py.warnings] base.py:116 - /usr/local/lib/python2.7/dist-packages/edxval/models.py:52: RemovedInDjango19Warning: Model class edxval.models.Profile doesn't declare an explicit app_label and either isn't in an application in INSTALLED_APPS or else was imported before its application was loaded. This will no longer be supported in Django 1.9.
class Profile(models.Model):
2018-05-23 19:40:12,098 WARNING 12 [py.warnings] base.py:116 - /usr/local/lib/python2.7/dist-packages/edxval/models.py:75: RemovedInDjango19Warning: Model class edxval.models.Video doesn't declare an explicit app_label and either isn't in an application in INSTALLED_APPS or else was imported before its application was loaded. This will no longer be supported in Django 1.9.
class Video(models.Model):
2018-05-23 19:40:12,099 WARNING 12 [py.warnings] base.py:116 - /usr/local/lib/python2.7/dist-packages/edxval/models.py:123: RemovedInDjango19Warning: Model class edxval.models.CourseVideo doesn't declare an explicit app_label and either isn't in an application in INSTALLED_APPS or else was imported before its application was loaded. This will no longer be supported in Django 1.9.
class CourseVideo(models.Model, ModelFactoryWithValidation):
2018-05-23 19:40:12,100 WARNING 12 [py.warnings] base.py:116 - /usr/local/lib/python2.7/dist-packages/edxval/models.py:144: RemovedInDjango19Warning: Model class edxval.models.EncodedVideo doesn't declare an explicit app_label and either isn't in an application in INSTALLED_APPS or else was imported before its application was loaded. This will no longer be supported in Django 1.9.
class EncodedVideo(models.Model):
2018-05-23 19:40:12,101 WARNING 12 [py.warnings] base.py:116 - /usr/local/lib/python2.7/dist-packages/edxval/models.py:164: RemovedInDjango19Warning: Model class edxval.models.Subtitle doesn't declare an explicit app_label and either isn't in an application in INSTALLED_APPS or else was imported before its application was loaded. This will no longer be supported in Django 1.9.
class Subtitle(models.Model):
2018-05-23 19:40:12,111 WARNING 12 [py.warnings] base.py:116 - /openedx/edx-platform/openedx/core/djangoapps/video_config/models.py:10: RemovedInDjango19Warning: Model class openedx.core.djangoapps.video_config.models.HLSPlaybackEnabledFlag doesn't declare an explicit app_label and either isn't in an application in INSTALLED_APPS or else was imported before its application was loaded. This will no longer be supported in Django 1.9.
class HLSPlaybackEnabledFlag(ConfigurationModel):
2018-05-23 19:40:12,113 WARNING 12 [py.warnings] base.py:116 - /openedx/edx-platform/openedx/core/djangoapps/video_config/models.py:51: RemovedInDjango19Warning: Model class openedx.core.djangoapps.video_config.models.CourseHLSPlaybackEnabledFlag doesn't declare an explicit app_label and either isn't in an application in INSTALLED_APPS or else was imported before its application was loaded. This will no longer be supported in Django 1.9.
class CourseHLSPlaybackEnabledFlag(ConfigurationModel):
2018-05-23 19:40:13,196 WARNING 12 [py.warnings] base.py:116 - /openedx/edx-platform/openedx/core/djangoapps/bookmarks/models.py:41: RemovedInDjango19Warning: Model class openedx.core.djangoapps.bookmarks.models.Bookmark doesn't declare an explicit app_label and either isn't in an application in INSTALLED_APPS or else was imported before its application was loaded. This will no longer be supported in Django 1.9.
class Bookmark(TimeStampedModel):
2018-05-23 19:40:13,204 WARNING 12 [py.warnings] base.py:116 - /openedx/edx-platform/openedx/core/djangoapps/bookmarks/models.py:186: RemovedInDjango19Warning: Model class openedx.core.djangoapps.bookmarks.models.XBlockCache doesn't declare an explicit app_label and either isn't in an application in INSTALLED_APPS or else was imported before its application was loaded. This will no longer be supported in Django 1.9.
class XBlockCache(TimeStampedModel):
2018-05-23 19:40:14,160 INFO 12 [dd.dogapi] dog_stats_api.py:66 - Initializing dog api to use statsd: localhost, 8125
System check identified no issues (0 silenced).
System is ready \o/
2018-05-23 19:40:17,355 WARNING 131 [py.warnings] base.py:116 - /usr/local/lib/python2.7/dist-packages/openassessment/workflow/models.py:46: RemovedInDjango19Warning: Model class openassessment.workflow.models.AssessmentWorkflow doesn't declare an explicit app_label and either isn't in an application in INSTALLED_APPS or else was imported before its application was loaded. This will no longer be supported in Django 1.9.
class AssessmentWorkflow(TimeStampedModel, StatusModel):
2018-05-23 19:40:17,357 WARNING 131 [py.warnings] base.py:116 - /usr/local/lib/python2.7/dist-packages/openassessment/workflow/models.py:608: RemovedInDjango19Warning: Model class openassessment.workflow.models.AssessmentWorkflowStep doesn't declare an explicit app_label and either isn't in an application in INSTALLED_APPS or else was imported before its application was loaded. This will no longer be supported in Django 1.9.
class AssessmentWorkflowStep(models.Model):
2018-05-23 19:40:17,358 WARNING 131 [py.warnings] base.py:116 - /usr/local/lib/python2.7/dist-packages/openassessment/workflow/models.py:749: RemovedInDjango19Warning: Model class openassessment.workflow.models.AssessmentWorkflowCancellation doesn't declare an explicit app_label and either isn't in an application in INSTALLED_APPS or else was imported before its application was loaded. This will no longer be supported in Django 1.9.
class AssessmentWorkflowCancellation(models.Model):
2018-05-23 19:40:17,445 WARNING 131 [py.warnings] base.py:116 - /usr/local/lib/python2.7/dist-packages/edxval/models.py:52: RemovedInDjango19Warning: Model class edxval.models.Profile doesn't declare an explicit app_label and either isn't in an application in INSTALLED_APPS or else was imported before its application was loaded. This will no longer be supported in Django 1.9.
class Profile(models.Model):
2018-05-23 19:40:17,446 WARNING 131 [py.warnings] base.py:116 - /usr/local/lib/python2.7/dist-packages/edxval/models.py:75: RemovedInDjango19Warning: Model class edxval.models.Video doesn't declare an explicit app_label and either isn't in an application in INSTALLED_APPS or else was imported before its application was loaded. This will no longer be supported in Django 1.9.
class Video(models.Model):
2018-05-23 19:40:17,447 WARNING 131 [py.warnings] base.py:116 - /usr/local/lib/python2.7/dist-packages/edxval/models.py:123: RemovedInDjango19Warning: Model class edxval.models.CourseVideo doesn't declare an explicit app_label and either isn't in an application in INSTALLED_APPS or else was imported before its application was loaded. This will no longer be supported in Django 1.9.
class CourseVideo(models.Model, ModelFactoryWithValidation):
2018-05-23 19:40:17,448 WARNING 131 [py.warnings] base.py:116 - /usr/local/lib/python2.7/dist-packages/edxval/models.py:144: RemovedInDjango19Warning: Model class edxval.models.EncodedVideo doesn't declare an explicit app_label and either isn't in an application in INSTALLED_APPS or else was imported before its application was loaded. This will no longer be supported in Django 1.9.
class EncodedVideo(models.Model):
2018-05-23 19:40:17,449 WARNING 131 [py.warnings] base.py:116 - /usr/local/lib/python2.7/dist-packages/edxval/models.py:164: RemovedInDjango19Warning: Model class edxval.models.Subtitle doesn't declare an explicit app_label and either isn't in an application in INSTALLED_APPS or else was imported before its application was loaded. This will no longer be supported in Django 1.9.
class Subtitle(models.Model):
2018-05-23 19:40:17,453 WARNING 131 [py.warnings] base.py:116 - /openedx/edx-platform/openedx/core/djangoapps/video_config/models.py:10: RemovedInDjango19Warning: Model class openedx.core.djangoapps.video_config.models.HLSPlaybackEnabledFlag doesn't declare an explicit app_label and either isn't in an application in INSTALLED_APPS or else was imported before its application was loaded. This will no longer be supported in Django 1.9.
class HLSPlaybackEnabledFlag(ConfigurationModel):
2018-05-23 19:40:17,454 WARNING 131 [py.warnings] base.py:116 - /openedx/edx-platform/openedx/core/djangoapps/video_config/models.py:51: RemovedInDjango19Warning: Model class openedx.core.djangoapps.video_config.models.CourseHLSPlaybackEnabledFlag doesn't declare an explicit app_label and either isn't in an application in INSTALLED_APPS or else was imported before its application was loaded. This will no longer be supported in Django 1.9.
class CourseHLSPlaybackEnabledFlag(ConfigurationModel):
2018-05-23 19:40:18,332 WARNING 131 [py.warnings] base.py:116 - /openedx/edx-platform/openedx/core/djangoapps/bookmarks/models.py:41: RemovedInDjango19Warning: Model class openedx.core.djangoapps.bookmarks.models.Bookmark doesn't declare an explicit app_label and either isn't in an application in INSTALLED_APPS or else was imported before its application was loaded. This will no longer be supported in Django 1.9.
class Bookmark(TimeStampedModel):
2018-05-23 19:40:18,334 WARNING 131 [py.warnings] base.py:116 - /openedx/edx-platform/openedx/core/djangoapps/bookmarks/models.py:186: RemovedInDjango19Warning: Model class openedx.core.djangoapps.bookmarks.models.XBlockCache doesn't declare an explicit app_label and either isn't in an application in INSTALLED_APPS or else was imported before its application was loaded. This will no longer be supported in Django 1.9.
class XBlockCache(TimeStampedModel):
2018-05-23 19:40:18,947 INFO 131 [dd.dogapi] dog_stats_api.py:66 - Initializing dog api to use statsd: localhost, 8125
Operations to perform:
Synchronize unmigrated apps: eventtracking_django, gating, links, webpack_loader, course_structure_api, release_util, discussion_api, learner_dashboard, edxnotes, django_sites_extensions, auth_exchange, service_status, web_fragments, coursegraph, sekizai, rest_framework, edxmako, openassessment, datadog, staticbook, common_views, course_wiki, edx_sga, support, enterprise_support, django_object_actions, django_countries, humanize, course_blocks, provider, notification_prefs, thumbnail, xblock, course_experience, mptt, notifier_api, staticfiles, markdownedx, fileupload, plugin_api, course_search, edx_jsme, monitoring, instructor, static_template_view, corsheaders, statici18n, pipeline, simple_history, enrollment, messages, config_models, django_extensions, dashboard, django_nose, debug, mailing, discussion, course_bookmarks
Apply all migrations: wiki, status, dark_lang, student, video_config, branding, user_api, django_comment_common, redirects, course_overviews, sites, experiments, grades, crawlers, lms_xblock, rss_proxy, bookmarks, waffle_utils, mobile_api, badges, course_groups, database_fixups, integrated_channel, course_modes, sessions, verified_track_content, shoppingcart, block_structure, external_auth, track, contenttypes, splash, workflow, certificates, static_replace, third_party_auth, assessment, sap_success_factors, submissions, oauth_dispatch, oauth2_provider, theming, instructor_task, organizations, edx_oauth2_provider, microsite_configuration, django_notify, celery_utils, api_admin, auth, util, verify_student, catalog, oauth2, site_configuration, social_django, credentials, email_marketing, contentserver, waffle, xblock_django, embargo, commerce, milestones, course_action_state, edx_proctoring, admin, oauth_provider, courseware, programs, djcelery, edxval, teams, credit, django_openid_auth, bulk_email, survey, course_structures, enterprise, cors_csrf, notes, self_paced
Synchronizing apps without migrations:
Creating tables...
Running deferred SQL...
Installing custom SQL...
Running migrations:
No migrations to apply.
docker-compose run --rm -e USERID=$(id -u) -e SETTINGS=universal.production cms bash -c "wait-for-greenlight.sh && ./manage.py cms migrate"
Starting openedx-docker_memcached_1 ... done
Starting openedx-docker_smtp_1 ... done
Starting openedx-docker_mysql_1 ... done
Starting openedx-docker_rabbitmq_1 ... done
Starting openedx-docker_mongodb_1 ... done
creating new user 'openedx' with UID 1000
Checking system...
Traceback (most recent call last):
File "./manage.py", line 111, in <module>
startup = importlib.import_module(edx_args.startup)
File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module
__import__(name)
File "/openedx/edx-platform/cms/startup.py", line 11, in <module>
from openedx.core.djangoapps.theming.core import enable_theming
File "/openedx/edx-platform/openedx/core/djangoapps/theming/core.py", line 9, in <module>
from .helpers import get_themes
File "/openedx/edx-platform/openedx/core/djangoapps/theming/helpers.py", line 9, in <module>
from django.contrib.staticfiles.storage import staticfiles_storage
File "/usr/local/lib/python2.7/dist-packages/django/contrib/staticfiles/storage.py", line 12, in <module>
from django.core.cache import (
File "/usr/local/lib/python2.7/dist-packages/django/core/cache/__init__.py", line 34, in <module>
if DEFAULT_CACHE_ALIAS not in settings.CACHES:
File "/usr/local/lib/python2.7/dist-packages/django/conf/__init__.py", line 48, in __getattr__
self._setup(name)
File "/usr/local/lib/python2.7/dist-packages/django/conf/__init__.py", line 44, in _setup
self._wrapped = Settings(settings_module)
File "/usr/local/lib/python2.7/dist-packages/django/conf/__init__.py", line 92, in __init__
mod = importlib.import_module(self.SETTINGS_MODULE)
File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module
__import__(name)
ImportError: No module named universal.production
.Traceback (most recent call last):
File "./manage.py", line 111, in <module>
startup = importlib.import_module(edx_args.startup)
File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module
__import__(name)
File "/openedx/edx-platform/cms/startup.py", line 11, in <module>
from openedx.core.djangoapps.theming.core import enable_theming
File "/openedx/edx-platform/openedx/core/djangoapps/theming/core.py", line 9, in <module>
from .helpers import get_themes
File "/openedx/edx-platform/openedx/core/djangoapps/theming/helpers.py", line 9, in <module>
from django.contrib.staticfiles.storage import staticfiles_storage
File "/usr/local/lib/python2.7/dist-packages/django/contrib/staticfiles/storage.py", line 12, in <module>
from django.core.cache import (
File "/usr/local/lib/python2.7/dist-packages/django/core/cache/__init__.py", line 34, in <module>
if DEFAULT_CACHE_ALIAS not in settings.CACHES:
File "/usr/local/lib/python2.7/dist-packages/django/conf/__init__.py", line 48, in __getattr__
self._setup(name)
File "/usr/local/lib/python2.7/dist-packages/django/conf/__init__.py", line 44, in _setup
self._wrapped = Settings(settings_module)
File "/usr/local/lib/python2.7/dist-packages/django/conf/__init__.py", line 92, in __init__
mod = importlib.import_module(self.SETTINGS_MODULE)
File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module
__import__(name)
ImportError: No module named universal.production
Any idea about what Python library needed installed for fix the ImportError Exception?
/courses/course-v1:test+test+test/discussion/forum/
I use the latest version: regis/openedx:hawthorn
When I try to run paver update_assets cms --settings=development
to update the CMS assets, I get the following error. Do I need to run it with USER=1000 make cms
instead?
$ make cms
Starting openedx-docker_rabbitmq_1 ... done
Starting openedx-docker_mysql_1 ... done
Starting openedx-docker_smtp_1 ... done
creating new user 'openedx' with UID 501done
openedx@4d121efb7bef:~/edx-platform$ paver update_assets cms --settings=development
---> pavelib.assets.update_assets
---> pavelib.prereqs.install_node_prereqs
test `npm config get registry` = "https://registry.npmjs.org/" || (echo setting registry; npm config set registry https://registry.npmjs.org/)
npm install
npm WARN deprecated [email protected]: This package is unmaintained. Use @sinonjs/formatio instead
[email protected] /openedx/edx-platform
`-- [email protected]
`-- [email protected]
+-- [email protected]
+-- [email protected]
`-- [email protected]
npm WARN optional Skipping failed optional dependency /chokidar/fsevents:
npm WARN notsup Not compatible with your operating system or architecture: [email protected]
npm WARN optional Skipping failed optional dependency /karma/chokidar/fsevents:
npm WARN notsup Not compatible with your operating system or architecture: [email protected]
npm WARN [email protected] requires a peer of eslint-plugin-import@^2.7.0 but none was installed.
npm WARN [email protected] requires a peer of eslint@^2.9.0 but none was installed.
npm WARN [email protected] No repository field.
npm WARN [email protected] No license field.
xmodule_assets common/static/xmodule
Finished processing xmodule assets.
mkdir_p path('common/static/common/js/vendor')
Copying vendor files into static directory
/bin/cp -rf node_modules/backbone.paginator/lib/backbone.paginator.js common/static/common/js/vendor
/bin/cp -rf node_modules/backbone/backbone.js common/static/common/js/vendor
/bin/cp -rf node_modules/bootstrap/dist/js/bootstrap.js common/static/common/js/vendor
/bin/cp -rf node_modules/hls.js/dist/hls.js common/static/common/js/vendor
/bin/cp -rf node_modules/jquery-migrate/dist/jquery-migrate.js common/static/common/js/vendor
/bin/cp -rf node_modules/jquery.scrollto/jquery.scrollTo.js common/static/common/js/vendor
/bin/cp -rf node_modules/jquery/dist/jquery.js common/static/common/js/vendor
/bin/cp -rf node_modules/moment-timezone/builds/moment-timezone-with-data.js common/static/common/js/vendor
/bin/cp -rf node_modules/moment/min/moment-with-locales.js common/static/common/js/vendor
/bin/cp -rf node_modules/picturefill/dist/picturefill.js common/static/common/js/vendor
/bin/cp -rf node_modules/requirejs/require.js common/static/common/js/vendor
/bin/cp -rf node_modules/tether/dist/js/tether.js common/static/common/js/vendor
/bin/cp -rf node_modules/underscore.string/dist/underscore.string.js common/static/common/js/vendor
/bin/cp -rf node_modules/underscore/underscore.js common/static/common/js/vendor
Copying developer vendor files into static directory
/bin/cp -rf node_modules/sinon/pkg/sinon.js common/static/common/js/vendor
/bin/cp -rf node_modules/squirejs/src/Squire.js common/static/common/js/vendor
---> pavelib.assets.compile_coffeescript
node_modules/.bin/coffee --compile `find /openedx/edx-platform/lms /openedx/edx-platform/cms /openedx/edx-platform/common -type f -name "*.coffee"`
python manage.py lms --settings=development print_settings STATIC_ROOT --format=value 2>/dev/null
Captured Task Output:
---------------------
---> pavelib.assets.update_assets
---> pavelib.prereqs.install_node_prereqs
test `npm config get registry` = "https://registry.npmjs.org/" || (echo setting registry; npm config set registry https://registry.npmjs.org/)
npm install
xmodule_assets common/static/xmodule
mkdir_p path('common/static/common/js/vendor')
/bin/cp -rf node_modules/backbone.paginator/lib/backbone.paginator.js common/static/common/js/vendor
/bin/cp -rf node_modules/backbone/backbone.js common/static/common/js/vendor
/bin/cp -rf node_modules/bootstrap/dist/js/bootstrap.js common/static/common/js/vendor
/bin/cp -rf node_modules/hls.js/dist/hls.js common/static/common/js/vendor
/bin/cp -rf node_modules/jquery-migrate/dist/jquery-migrate.js common/static/common/js/vendor
/bin/cp -rf node_modules/jquery.scrollto/jquery.scrollTo.js common/static/common/js/vendor
/bin/cp -rf node_modules/jquery/dist/jquery.js common/static/common/js/vendor
/bin/cp -rf node_modules/moment-timezone/builds/moment-timezone-with-data.js common/static/common/js/vendor
/bin/cp -rf node_modules/moment/min/moment-with-locales.js common/static/common/js/vendor
/bin/cp -rf node_modules/picturefill/dist/picturefill.js common/static/common/js/vendor
/bin/cp -rf node_modules/requirejs/require.js common/static/common/js/vendor
/bin/cp -rf node_modules/tether/dist/js/tether.js common/static/common/js/vendor
/bin/cp -rf node_modules/underscore.string/dist/underscore.string.js common/static/common/js/vendor
/bin/cp -rf node_modules/underscore/underscore.js common/static/common/js/vendor
/bin/cp -rf node_modules/sinon/pkg/sinon.js common/static/common/js/vendor
/bin/cp -rf node_modules/squirejs/src/Squire.js common/static/common/js/vendor
---> pavelib.assets.compile_coffeescript
node_modules/.bin/coffee --compile `find /openedx/edx-platform/lms /openedx/edx-platform/cms /openedx/edx-platform/common -type f -name "*.coffee"`
python manage.py lms --settings=development print_settings STATIC_ROOT --format=value 2>/dev/null
Build failed running pavelib.assets.update_assets: Subprocess return code: 1
Dear Regis,
I have been trying out to build openedx with the pull request patch merged today. I am trying out the commands listed under development section.
Everything works till make migrate. But if try to call 'make lms' or 'make cms', there is an error. Below is the stack trace.
Note: I only got to this section now(due to slow internet/computer), otherwise I would have reported yesterday itself before the patch was merged in to the master branch.
Stacktrace
docker-compose run --rm -e USERID="$(id -u)" -e SETTINGS=development --volume="/home/rudra/Desktop/iks_workspace/openedx/edx-platform:/openedx/edx-platform" -p 8000:8000 lms bash
Run a one-off command on a service.
For example:
$ docker-compose run web python manage.py shell
By default, linked services will be started, unless they are already
running. If you do not want to start linked services, use
docker-compose run --no-deps SERVICE COMMAND [ARGS...]
.
Usage: run [options] [-p PORT...] [-e KEY=VAL...] SERVICE [COMMAND] [ARGS...]
Options:
-d Detached mode: Run container in the background, print
new container name.
--name NAME Assign a name to the container
--entrypoint CMD Override the entrypoint of the image.
-e KEY=VAL Set an environment variable (can be used multiple times)
-u, --user="" Run as specified username or uid
--no-deps Don't start linked services.
--rm Remove container after run. Ignored in detached mode.
-p, --publish=[] Publish a container's port(s) to the host
--service-ports Run command with the service's ports enabled and mapped
to the host.
-T Disable pseudo-tty allocation. By default docker-compose run
allocates a TTY.
-w, --workdir="" Working directory inside the container
Makefile:57: recipe for target 'lms' failed
make: *** [lms] Error 1
Hi. I have a doubt.
Can edX be translated permanently into another language? the docker commpose and be able to, how to do it?
Thanks.
AWS Linux image:
Ubuntu 16_04
Linux ip-172-31-24-45 4.4.0-1061-aws #70-Ubuntu SMP Fri May 25 21:47:34 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
Docker:
Docker version 18.06.1-ce, build e68fc7a
docker-compose:
docker-compose version 1.22.0, build f46880fe
Reproduce the issue:
python manage.py lms --settings=universal.production collectstatic --ignore "fixtures" --ignore "karma_*.js" --ignore "spec" --ignore "spec_helpers" --ignore "spec-helpers" --ignore "xmodule_js" --ignore "geoip" --ignore "sass" --noinput > /dev/null
2018-08-22 13:05:57,152 INFO 698 [dd.dogapi] dog_stats_api.py:66 - Initializing dog api to use statsd: localhost, 8125
2018-08-22 13:05:57,152 INFO 698 [dd.dogapi] dog_stats_api.py:66 - Initializing dog api to use statsd: localhost, 8125
Traceback (most recent call last):
File "manage.py", line 121, in <module>
execute_from_command_line([sys.argv[0]] + django_args)
File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py", line 364, in execute_from_command_line
utility.execute()
File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py", line 356, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/usr/local/lib/python2.7/dist-packages/django/core/management/base.py", line 283, in run_from_argv
self.execute(*args, **cmd_options)
File "/usr/local/lib/python2.7/dist-packages/django/core/management/base.py", line 330, in execute
output = self.handle(*args, **options)
File "/usr/local/lib/python2.7/dist-packages/django/contrib/staticfiles/management/commands/collectstatic.py", line 199, in handle
collected = self.collect()
File "/usr/local/lib/python2.7/dist-packages/django/contrib/staticfiles/management/commands/collectstatic.py", line 139, in collect
for original_path, processed_path, processed in processor:
File "/usr/local/lib/python2.7/dist-packages/require/storage.py", line 108, in post_process
baseUrl = require_settings.REQUIRE_BASE_URL,
File "/usr/local/lib/python2.7/dist-packages/require/storage.py", line 52, in run_optimizer
raise OptimizationError("Error while running r.js optimizer.")
require.storage.OptimizationError: Error while running r.js optimizer.
Captured Task Output:
---------------------
---> pavelib.assets.update_assets
---> pavelib.prereqs.install_node_prereqs
---> pavelib.assets.process_xmodule_assets
---> pavelib.prereqs.install_python_prereqs
xmodule_assets common/static/xmodule
mkdir_p path('common/static/common/js/vendor')
mkdir_p path('common/static/common/css')
mkdir_p path('common/static/common/css/vendor')
/bin/cp -rf node_modules/backbone.paginator/lib/backbone.paginator.js common/static/common/js/vendor
/bin/cp -rf node_modules/backbone/backbone.js common/static/common/js/vendor
/bin/cp -rf node_modules/bootstrap/dist/js/bootstrap.bundle.js common/static/common/js/vendor
/bin/cp -rf node_modules/hls.js/dist/hls.js common/static/common/js/vendor
/bin/cp -rf node_modules/jquery-migrate/dist/jquery-migrate.js common/static/common/js/vendor
/bin/cp -rf node_modules/jquery.scrollto/jquery.scrollTo.js common/static/common/js/vendor
/bin/cp -rf node_modules/jquery/dist/jquery.js common/static/common/js/vendor
/bin/cp -rf node_modules/moment-timezone/builds/moment-timezone-with-data.js common/static/common/js/vendor
/bin/cp -rf node_modules/moment/min/moment-with-locales.js common/static/common/js/vendor
/bin/cp -rf node_modules/picturefill/dist/picturefill.js common/static/common/js/vendor
/bin/cp -rf node_modules/requirejs/require.js common/static/common/js/vendor
/bin/cp -rf node_modules/underscore.string/dist/underscore.string.js common/static/common/js/vendor
/bin/cp -rf node_modules/underscore/underscore.js common/static/common/js/vendor
/bin/cp -rf node_modules/@edx/studio-frontend/dist/i18nMessages.min.js.map common/static/common/js/vendor
/bin/cp -rf node_modules/@edx/studio-frontend/dist/courseOutlineHealthCheck.min.js common/static/common/js/vendor
/bin/cp -rf node_modules/@edx/studio-frontend/dist/courseOutlineHealthCheck.min.js.map common/static/common/js/vendor
/bin/cp -rf node_modules/@edx/studio-frontend/dist/i18nMessages.min.js common/static/common/js/vendor
/bin/cp -rf node_modules/@edx/studio-frontend/dist/accessibilityPolicy.min.css common/static/common/css/vendor
/bin/cp -rf node_modules/@edx/studio-frontend/dist/assets.min.js common/static/common/js/vendor
/bin/cp -rf node_modules/@edx/studio-frontend/dist/common.min.js common/static/common/js/vendor
/bin/cp -rf node_modules/@edx/studio-frontend/dist/runtime.min.js.map common/static/common/js/vendor
/bin/cp -rf node_modules/@edx/studio-frontend/dist/accessibilityPolicy.min.js common/static/common/js/vendor
/bin/cp -rf node_modules/@edx/studio-frontend/dist/common.min.css common/static/common/css/vendor
/bin/cp -rf node_modules/@edx/studio-frontend/dist/courseOutlineHealthCheck.min.css common/static/common/css/vendor
/bin/cp -rf node_modules/@edx/studio-frontend/dist/assets.min.css common/static/common/css/vendor
/bin/cp -rf node_modules/@edx/studio-frontend/dist/courseHealthCheck.min.js common/static/common/js/vendor
/bin/cp -rf node_modules/@edx/studio-frontend/dist/runtime.min.js common/static/common/js/vendor
/bin/cp -rf node_modules/@edx/studio-frontend/dist/editImageModal.min.js.map common/static/common/js/vendor
/bin/cp -rf node_modules/@edx/studio-frontend/dist/courseHealthCheck.min.js.map common/static/common/js/vendor
/bin/cp -rf node_modules/@edx/studio-frontend/dist/accessibilityPolicy.min.js.map common/static/common/js/vendor
/bin/cp -rf node_modules/@edx/studio-frontend/dist/common.min.js.map common/static/common/js/vendor
/bin/cp -rf node_modules/@edx/studio-frontend/dist/editImageModal.min.css common/static/common/css/vendor
/bin/cp -rf node_modules/@edx/studio-frontend/dist/assets.min.js.map common/static/common/js/vendor
/bin/cp -rf node_modules/@edx/studio-frontend/dist/courseHealthCheck.min.css common/static/common/css/vendor
/bin/cp -rf node_modules/@edx/studio-frontend/dist/editImageModal.min.js common/static/common/js/vendor
/bin/cp -rf node_modules/@edx/studio-frontend/dist/i18n/messages/zh_CN.json common/static/common/js/vendor
/bin/cp -rf node_modules/@edx/studio-frontend/dist/i18n/messages/es_419.json common/static/common/js/vendor
/bin/cp -rf node_modules/@edx/studio-frontend/dist/i18n/messages/ar.json common/static/common/js/vendor
/bin/cp -rf node_modules/@edx/studio-frontend/dist/i18n/messages/fr.json common/static/common/js/vendor
/bin/cp -rf node_modules/which-country/index.js common/static/common/js/vendor
/bin/cp -rf node_modules/sinon/pkg/sinon.js common/static/common/js/vendor
/bin/cp -rf node_modules/squirejs/src/Squire.js common/static/common/js/vendor
---> pavelib.assets.webpack
python manage.py lms --settings=universal.production print_setting STATIC_ROOT 2>/dev/null
python manage.py cms --settings=universal.production print_setting STATIC_ROOT 2>/dev/null
python manage.py lms --settings=universal.production print_setting WEBPACK_CONFIG_PATH 2>/dev/null
NODE_ENV=production STATIC_ROOT_LMS=/openedx/data/staticfiles STATIC_ROOT_CMS=/openedx/data/staticfiles/studio $(npm bin)/webpack --config=webpack.prod.config.js
python manage.py lms --settings=universal.production compile_sass lms
python manage.py lms --settings=universal.production collectstatic --ignore "fixtures" --ignore "karma_*.js" --ignore "spec" --ignore "spec_helpers" --ignore "spec-helpers" --ignore "xmodule_js" --ignore "geoip" --ignore "sass" --noinput > /dev/null
Build failed running pavelib.assets.update_assets: Subprocess return code: 1
Makefile:57: recipe for target 'assets' failed
make: *** [assets] Error 1
In order to find out more details I tried the following:
openedx@ee1f9b13e70b:~/edx-platform$ python manage.py lms --settings=universal.production collectstatic --ignore "fixtures" --ignore "karma_*.js" --ignore "spec" --ignore "spec_helpers" --ignore "spec-helpers" --ignore "xmodule_js" --ignore "geoip" --ignore "sass" --noinput > /dev/null
Produced:
2018-08-22 13:16:51,171 INFO 19 [dd.dogapi] dog_stats_api.py:66 - Initializing dog api to use statsd: localhost, 8125
2018-08-22 13:16:51,171 INFO 19 [dd.dogapi] dog_stats_api.py:66 - Initializing dog api to use statsd: localhost, 8125
{ [Error: ENOENT: no such file or directory, open '/tmp/tmpxKilB9/common/js/vendor/backbone.paginator.js']
errno: -2,
code: 'ENOENT',
syscall: 'open',
path: '/tmp/tmpxKilB9/common/js/vendor/backbone.paginator.js',
fileName: '/tmp/tmpxKilB9/common/js/vendor/backbone.paginator.js' }
{ [Error: ENOENT: no such file or directory, open '/tmp/tmpxKilB9/common/js/vendor/moment-with-locales.js']
errno: -2,
code: 'ENOENT',
syscall: 'open',
path: '/tmp/tmpxKilB9/common/js/vendor/moment-with-locales.js',
fileName: '/tmp/tmpxKilB9/common/js/vendor/moment-with-locales.js' }
Traceback (most recent call last):
File "manage.py", line 121, in <module>
execute_from_command_line([sys.argv[0]] + django_args)
File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py", line 364, in execute_from_command_line
utility.execute()
File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py", line 356, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/usr/local/lib/python2.7/dist-packages/django/core/management/base.py", line 283, in run_from_argv
self.execute(*args, **cmd_options)
File "/usr/local/lib/python2.7/dist-packages/django/core/management/base.py", line 330, in execute
output = self.handle(*args, **options)
File "/usr/local/lib/python2.7/dist-packages/django/contrib/staticfiles/management/commands/collectstatic.py", line 199, in handle
collected = self.collect()
File "/usr/local/lib/python2.7/dist-packages/django/contrib/staticfiles/management/commands/collectstatic.py", line 139, in collect
for original_path, processed_path, processed in processor:
File "/usr/local/lib/python2.7/dist-packages/require/storage.py", line 108, in post_process
baseUrl = require_settings.REQUIRE_BASE_URL,
File "/usr/local/lib/python2.7/dist-packages/require/storage.py", line 52, in run_optimizer
raise OptimizationError("Error while running r.js optimizer.")
require.storage.OptimizationError: Error while running r.js optimizer.
Do you have any suggestion how to move on here?
Where to make changes to repo or add additional XBlocks.
Before I was editing /openedx/Dockerfile
and adding one of these two lines:
RUN git fetch origin && git checkout markdown && pip install -r requirements/appsembler.txt
RUN pip install -e git+https://github.com/hastexo/markdown-xblock.git@master#egg=markdown-xblock
Is this the best place to make these changes, or is it enough to have set this as an environment variable:
export EDX_PLATFORM_PATH=/Users/nateaune/Dropbox/code/natea-edx-platform-ginkgo
Which has already has the markdown
branch checked out.
It seems like I still need a step to either install my custom requirements.txt
file or pip install
the custom XBlock that I want to test.
What is the recommended way to do this without having to make local commits to the Dockerfile?
hi @regisb,
I would like to use Kompose to deploy openedx-docker to k8s
Is this feasible? Do you have any advice?
Thanks!
It appears that the paver update_assets lms
command is failing because it's saying that I need to run as root/administrator. Is that correct? When I run the make lms
command, it appears to login me in as the openedx
user.
$ make lms
docker-compose run --rm -e USERID="$(id -u)" -e SETTINGS=production -p 8000:8000 lms bash
Starting openedx-docker_memcached_1 ... done
Starting openedx-docker_rabbitmq_1 ... done
Starting openedx-docker_mongodb_1 ... done
Starting openedx-docker_smtp_1 ... done
Starting openedx-docker_mysql_1 ... done
creating new user 'openedx' with UID 501
bash: /root/.bashrc: Permission denied
openedx@88c9bb8a746e:/openedx/edx-platform$ paver update_assets lms --settings=development
---> pavelib.assets.update_assets
---> pavelib.prereqs.install_node_prereqs
test `npm config get registry` = "https://registry.npmjs.org/" || (echo setting registry; npm config set registry https://registry.npmjs.org/)
npm install
npm ERR! Linux 4.9.87-linuxkit-aufs
npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "install"
npm ERR! node v4.2.6
npm ERR! npm v3.5.2
npm ERR! path /root/.npm/sinon/1.17.7/package
npm ERR! code EACCES
npm ERR! errno -13
npm ERR! syscall mkdir
npm ERR! Error: EACCES: permission denied, mkdir '/root/.npm/sinon/1.17.7/package'
npm ERR! at Error (native)
npm ERR! { [Error: EACCES: permission denied, mkdir '/root/.npm/sinon/1.17.7/package']
npm ERR! errno: -13,
npm ERR! code: 'EACCES',
npm ERR! syscall: 'mkdir',
npm ERR! path: '/root/.npm/sinon/1.17.7/package',
npm ERR! parent: 'edx-ui-toolkit' }
npm ERR!
npm ERR! Please try running this command again as root/Administrator.
npm ERR! Please include the following file with any support request:
npm ERR! /openedx/edx-platform/npm-debug.log
Captured Task Output:
---------------------
---> pavelib.assets.update_assets
---> pavelib.prereqs.install_node_prereqs
test `npm config get registry` = "https://registry.npmjs.org/" || (echo setting registry; npm config set registry https://registry.npmjs.org/)
npm install
Build failed running pavelib.assets.update_assets: Subprocess return code: 243
Pls help
Starting vklass_elasticsearch_1 ...
Starting vklass_memcached_1 ...
Starting vklass_mysql_1 ... h_1 ... done
Starting vklass_mysql_1 ... done
Starting vklass_rabbitmq_1 ... done
standard_init_linux.go:178: exec user process caused "exec format error"
Makefile:25: recipe for target 'provision' failed
make: *** [provision] Error 1
This happens when I recreate the images or when I create a staff user
Is there any way to avoid this?
After attempting to import the demo course (see #7), I get this error when running make up
:
cms_worker_1 | [2018-02-17 00:08:19,782: ERROR/Worker-3] BlockStructure: update_course_in_cache_v2 encountered unknown error in course course-v1:edX+DemoX+Demo_Course, task_id ff0429d7-8e9e-4407-a1f5-246a35af68f8. Retry #0
cms_worker_1 | Traceback (most recent call last):
cms_worker_1 | File "/openedx/edx-platform/openedx/core/djangoapps/content/block_structure/tasks.py", line 101, in _call_and_retry_if_needed
cms_worker_1 | api_method(course_key)
cms_worker_1 | File "/openedx/edx-platform/openedx/core/djangoapps/content/block_structure/api.py", line 29, in update_course_in_cache
cms_worker_1 | return get_block_structure_manager(course_key).update_collected_if_needed()
cms_worker_1 | File "/openedx/edx-platform/openedx/core/djangoapps/content/block_structure/manager.py", line 115, in update_collected_if_needed
cms_worker_1 | self._update_collected()
cms_worker_1 | File "/openedx/edx-platform/openedx/core/djangoapps/content/block_structure/manager.py", line 127, in _update_collected
cms_worker_1 | BlockStructureTransformers.collect(block_structure)
cms_worker_1 | File "/openedx/edx-platform/openedx/core/djangoapps/content/block_structure/transformers.py", line 80, in collect
cms_worker_1 | transformer.collect(block_structure)
cms_worker_1 | File "/openedx/edx-platform/lms/djangoapps/course_api/blocks/transformers/blocks_api.py", line 51, in collect
cms_worker_1 | StudentViewTransformer.collect(block_structure)
cms_worker_1 | File "/openedx/edx-platform/lms/djangoapps/course_api/blocks/transformers/student_view.py", line 63, in collect
cms_worker_1 | student_view_data = block.student_view_data()
cms_worker_1 | File "/openedx/edx-platform/common/lib/xmodule/xmodule/video_module/video_module.py", line 984, in student_view_data
cms_worker_1 | for lang in self.available_translations(transcripts_info, verify_assets=False)
cms_worker_1 | File "/openedx/edx-platform/common/lib/xmodule/xmodule/video_module/video_module.py", line 984, in <dictcomp>
cms_worker_1 | for lang in self.available_translations(transcripts_info, verify_assets=False)
cms_worker_1 | File "/openedx/edx-platform/common/lib/xmodule/xmodule/x_module.py", line 1480, in handler_url
cms_worker_1 | return descriptor_global_handler_url(block, handler_name, suffix, query, thirdparty)
cms_worker_1 | File "/openedx/edx-platform/cms/lib/xblock/runtime.py", line 14, in handler_url
cms_worker_1 | raise NotImplementedError("edX Studio doesn't support third-party xblock handler urls")
cms_worker_1 | NotImplementedError: edX Studio doesn't support third-party xblock handler urls
Hello, great job! but when I try to install with make all
I have this error:
...
2018-03-25 02:43:28,635 INFO 131 [dd.dogapi] dog_stats_api.py:66 - Initializing dog api to use statsd: localhost, 8125
Operations to perform:
Synchronize unmigrated apps: eventtracking_django, gating, links, webpack_loader, course_structure_api, release_util, discussion_api, learner_dashboard, edxnotes, django_sites_extensions, auth_exchange, service_status, web_fragments, coursegraph, sekizai, rest_framework, edxmako, openassessment, datadog, staticbook, common_views, course_wiki, edx_sga, support, enterprise_support, django_object_actions, django_countries, humanize, course_blocks, provider, notification_prefs, thumbnail, xblock, course_experience, mptt, notifier_api, staticfiles, markdownedx, fileupload, plugin_api, course_search, edx_jsme, monitoring, instructor, static_template_view, corsheaders, statici18n, pipeline, simple_history, enrollment, messages, config_models, django_extensions, dashboard, django_nose, debug, mailing, discussion, course_bookmarks
Apply all migrations: wiki, status, dark_lang, student, video_config, branding, user_api, django_comment_common, redirects, course_overviews, sites, experiments, grades, crawlers, lms_xblock, rss_proxy, bookmarks, waffle_utils, mobile_api, badges, course_groups, database_fixups, integrated_channel, course_modes, sessions, verified_track_content, shoppingcart, block_structure, external_auth, track, contenttypes, splash, workflow, certificates, static_replace, third_party_auth, assessment, sap_success_factors, submissions, oauth_dispatch, oauth2_provider, theming, instructor_task, organizations, edx_oauth2_provider, microsite_configuration, django_notify, celery_utils, api_admin, auth, util, verify_student, catalog, oauth2, site_configuration, social_django, credentials, email_marketing, contentserver, waffle, xblock_django, embargo, commerce, milestones, course_action_state, edx_proctoring, admin, oauth_provider, courseware, programs, djcelery, edxval, teams, credit, django_openid_auth, bulk_email, survey, course_structures, enterprise, cors_csrf, notes, self_paced
Synchronizing apps without migrations:
Creating tables...
Running deferred SQL...
Installing custom SQL...
Running migrations:
Rendering model states...bash: line 1: 131 Killed ./manage.py lms --settings=production migrate
make: *** [migrate] Error 137
...
And the same when just run make migrate
My software and hardware are:
Docker versions:
Engine: 17.12.0-ce
Compose: 1.18.0
SO: macOS High Sierra
Version: 10.13.3
CPU: 2.2 GHz Intel Core i7
RAM: 16 GB 1600 MHz DDR3
Hi Régis,
Nice work!
If I understand what "paver install_prereqs" does, it is just doing "pip install" and "npm install". Since you already install the python requirements one by one, I think you could just add:
RUN npm install
I tried it on a devstack I'm working on inspired from your production stack and it.... works.
hello sir;
Thanks for your efforts
I am totally new to open edx and python.
I followed your steps and the lms is running at: localhost
but the studio is running at all, i could not reach it by any way, even through the lms (view grading in studio) I received nothing.
can help me please
Thanks in advance
EDIT (@regisb): please fill the form below.
Include the exact command that you are running and that is causing an error. In case of a web error, include the URL of the page that is causing the error.
Include the full, exact output from the command that is causing your issue. Also include relevant error logs; for instance, to debug the LMS take a look at the files in data/lms/logs
.
Include the output of the make info
command.
Hi Regis,
I did a git pull
, configure
and make build
and now when I run make up
i'm seeing this permissions error with the xqueue service.
And when I go to www.myopenedx.com and studio.myopenedx.com, I'm seeing "400 Bad Request".
xqueue_consumer_1 | Traceback (most recent call last):
xqueue_consumer_1 | File "./manage.py", line 10, in <module>
xqueue_consumer_1 | execute_from_command_line(sys.argv)
xqueue_consumer_1 | File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py", line 354, in execute_from_command_line
xqueue_consumer_1 | utility.execute()
xqueue_consumer_1 | File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py", line 346, in execute
xqueue_consumer_1 | self.fetch_command(subcommand).run_from_argv(self.argv)
xqueue_consumer_1 | File "/usr/local/lib/python2.7/dist-packages/django/core/management/base.py", line 394, in run_from_argv
xqueue_consumer_1 | self.execute(*args, **cmd_options)
xqueue_consumer_1 | File "/usr/local/lib/python2.7/dist-packages/django/core/management/base.py", line 444, in execute
xqueue_consumer_1 | self.check()
xqueue_consumer_1 | File "/usr/local/lib/python2.7/dist-packages/django/core/management/base.py", line 482, in check
xqueue_consumer_1 | include_deployment_checks=include_deployment_checks,
xqueue_consumer_1 | File "/usr/local/lib/python2.7/dist-packages/django/core/checks/registry.py", line 72, in run_checks
xqueue_consumer_1 | new_errors = check(app_configs=app_configs)
xqueue_consumer_1 | File "/usr/local/lib/python2.7/dist-packages/django/core/checks/model_checks.py", line 28, in check_all_models
xqueue_consumer_1 | errors.extend(model.check(**kwargs))
xqueue_consumer_1 | File "/usr/local/lib/python2.7/dist-packages/django/db/models/base.py", line 1205, in check
xqueue_consumer_1 | errors.extend(cls._check_fields(**kwargs))
xqueue_consumer_1 | File "/usr/local/lib/python2.7/dist-packages/django/db/models/base.py", line 1282, in _check_fields
xqueue_consumer_1 | errors.extend(field.check(**kwargs))
xqueue_consumer_1 | File "/usr/local/lib/python2.7/dist-packages/django/db/models/fields/__init__.py", line 934, in check
xqueue_consumer_1 | errors = super(AutoField, self).check(**kwargs)
xqueue_consumer_1 | File "/usr/local/lib/python2.7/dist-packages/django/db/models/fields/__init__.py", line 207, in check
xqueue_consumer_1 | errors.extend(self._check_backend_specific_checks(**kwargs))
xqueue_consumer_1 | File "/usr/local/lib/python2.7/dist-packages/django/db/models/fields/__init__.py", line 306, in _check_backend_specific_checks
xqueue_consumer_1 | return connection.validation.check_field(self, **kwargs)
xqueue_consumer_1 | File "/usr/local/lib/python2.7/dist-packages/django/db/backends/mysql/validation.py", line 18, in check_field
xqueue_consumer_1 | field_type = field.db_type(connection)
xqueue_consumer_1 | File "/usr/local/lib/python2.7/dist-packages/django/db/models/fields/__init__.py", line 614, in db_type
xqueue_consumer_1 | return connection.data_types[self.get_internal_type()] % data
xqueue_consumer_1 | File "/usr/local/lib/python2.7/dist-packages/django/db/__init__.py", line 36, in __getattr__
xqueue_consumer_1 | return getattr(connections[DEFAULT_DB_ALIAS], item)
xqueue_consumer_1 | File "/usr/local/lib/python2.7/dist-packages/django/utils/functional.py", line 59, in __get__
xqueue_consumer_1 | res = instance.__dict__[self.name] = self.func(instance)
xqueue_consumer_1 | File "/usr/local/lib/python2.7/dist-packages/django/db/backends/mysql/base.py", line 196, in data_types
xqueue_consumer_1 | if self.features.supports_microsecond_precision:
xqueue_consumer_1 | File "/usr/local/lib/python2.7/dist-packages/django/utils/functional.py", line 59, in __get__
xqueue_consumer_1 | res = instance.__dict__[self.name] = self.func(instance)
xqueue_consumer_1 | File "/usr/local/lib/python2.7/dist-packages/django/db/backends/mysql/features.py", line 52, in supports_microsecond_precision
xqueue_consumer_1 | return self.connection.mysql_version >= (5, 6, 4) and Database.version_info >= (1, 2, 5)
xqueue_consumer_1 | File "/usr/local/lib/python2.7/dist-packages/django/utils/functional.py", line 59, in __get__
xqueue_consumer_1 | res = instance.__dict__[self.name] = self.func(instance)
xqueue_consumer_1 | File "/usr/local/lib/python2.7/dist-packages/django/db/backends/mysql/base.py", line 371, in mysql_version
xqueue_consumer_1 | with self.temporary_connection():
xqueue_consumer_1 | File "/usr/lib/python2.7/contextlib.py", line 17, in __enter__
xqueue_consumer_1 | return self.gen.next()
xqueue_consumer_1 | File "/usr/local/lib/python2.7/dist-packages/django/db/backends/base/base.py", line 462, in temporary_connection
xqueue_consumer_1 | cursor = self.cursor()
xqueue_consumer_1 | File "/usr/local/lib/python2.7/dist-packages/django/db/backends/base/base.py", line 164, in cursor
xqueue_consumer_1 | cursor = self.make_cursor(self._cursor())
xqueue_consumer_1 | File "/usr/local/lib/python2.7/dist-packages/django/db/backends/base/base.py", line 135, in _cursor
xqueue_consumer_1 | self.ensure_connection()
xqueue_consumer_1 | File "/usr/local/lib/python2.7/dist-packages/django/db/backends/base/base.py", line 130, in ensure_connection
xqueue_consumer_1 | self.connect()
xqueue_consumer_1 | File "/usr/local/lib/python2.7/dist-packages/django/db/utils.py", line 98, in __exit__
xqueue_consumer_1 | six.reraise(dj_exc_type, dj_exc_value, traceback)
xqueue_consumer_1 | File "/usr/local/lib/python2.7/dist-packages/django/db/backends/base/base.py", line 130, in ensure_connection
xqueue_consumer_1 | self.connect()
xqueue_consumer_1 | File "/usr/local/lib/python2.7/dist-packages/django/db/backends/base/base.py", line 119, in connect
xqueue_consumer_1 | self.connection = self.get_new_connection(conn_params)
xqueue_consumer_1 | File "/usr/local/lib/python2.7/dist-packages/django/db/backends/mysql/base.py", line 276, in get_new_connection
xqueue_consumer_1 | conn = Database.connect(**conn_params)
xqueue_consumer_1 | File "/usr/local/lib/python2.7/dist-packages/MySQLdb/__init__.py", line 81, in Connect
xqueue_consumer_1 | return Connection(*args, **kwargs)
xqueue_consumer_1 | File "/usr/local/lib/python2.7/dist-packages/MySQLdb/connections.py", line 193, in __init__
xqueue_consumer_1 | super(Connection, self).__init__(*args, **kwargs2)
xqueue_consumer_1 | django.db.utils.OperationalError: (1045, "Access denied for user 'xqueue'@'172.18.0.13' (using password: YES)")
xqueue_consumer_1 | Traceback (most recent call last):
xqueue_consumer_1 | File "./manage.py", line 10, in <module>
xqueue_consumer_1 | execute_from_command_line(sys.argv)
xqueue_consumer_1 | File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py", line 354, in execute_from_command_line
xqueue_consumer_1 | utility.execute()
xqueue_consumer_1 | File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py", line 346, in execute
xqueue_consumer_1 | self.fetch_command(subcommand).run_from_argv(self.argv)
xqueue_consumer_1 | File "/usr/local/lib/python2.7/dist-packages/django/core/management/base.py", line 394, in run_from_argv
xqueue_consumer_1 | self.execute(*args, **cmd_options)
xqueue_consumer_1 | File "/usr/local/lib/python2.7/dist-packages/django/core/management/base.py", line 444, in execute
xqueue_consumer_1 | self.check()
xqueue_consumer_1 | File "/usr/local/lib/python2.7/dist-packages/django/core/management/base.py", line 482, in check
xqueue_consumer_1 | include_deployment_checks=include_deployment_checks,
xqueue_consumer_1 | File "/usr/local/lib/python2.7/dist-packages/django/core/checks/registry.py", line 72, in run_checks
xqueue_consumer_1 | new_errors = check(app_configs=app_configs)
xqueue_consumer_1 | File "/usr/local/lib/python2.7/dist-packages/django/core/checks/model_checks.py", line 28, in check_all_models
xqueue_consumer_1 | errors.extend(model.check(**kwargs))
xqueue_consumer_1 | File "/usr/local/lib/python2.7/dist-packages/django/db/models/base.py", line 1205, in check
xqueue_consumer_1 | errors.extend(cls._check_fields(**kwargs))
xqueue_consumer_1 | File "/usr/local/lib/python2.7/dist-packages/django/db/models/base.py", line 1282, in _check_fields
xqueue_consumer_1 | errors.extend(field.check(**kwargs))
xqueue_consumer_1 | File "/usr/local/lib/python2.7/dist-packages/django/db/models/fields/__init__.py", line 934, in check
xqueue_consumer_1 | errors = super(AutoField, self).check(**kwargs)
xqueue_consumer_1 | File "/usr/local/lib/python2.7/dist-packages/django/db/models/fields/__init__.py", line 207, in check
xqueue_consumer_1 | errors.extend(self._check_backend_specific_checks(**kwargs))
xqueue_consumer_1 | File "/usr/local/lib/python2.7/dist-packages/django/db/models/fields/__init__.py", line 306, in _check_backend_specific_checks
xqueue_consumer_1 | return connection.validation.check_field(self, **kwargs)
xqueue_consumer_1 | File "/usr/local/lib/python2.7/dist-packages/django/db/backends/mysql/validation.py", line 18, in check_field
xqueue_consumer_1 | field_type = field.db_type(connection)
xqueue_consumer_1 | File "/usr/local/lib/python2.7/dist-packages/django/db/models/fields/__init__.py", line 614, in db_type
xqueue_consumer_1 | return connection.data_types[self.get_internal_type()] % data
xqueue_consumer_1 | File "/usr/local/lib/python2.7/dist-packages/django/db/__init__.py", line 36, in __getattr__
xqueue_consumer_1 | return getattr(connections[DEFAULT_DB_ALIAS], item)
xqueue_consumer_1 | File "/usr/local/lib/python2.7/dist-packages/django/utils/functional.py", line 59, in __get__
xqueue_consumer_1 | res = instance.__dict__[self.name] = self.func(instance)
xqueue_consumer_1 | File "/usr/local/lib/python2.7/dist-packages/django/db/backends/mysql/base.py", line 196, in data_types
xqueue_consumer_1 | if self.features.supports_microsecond_precision:
xqueue_consumer_1 | File "/usr/local/lib/python2.7/dist-packages/django/utils/functional.py", line 59, in __get__
xqueue_consumer_1 | res = instance.__dict__[self.name] = self.func(instance)
xqueue_consumer_1 | File "/usr/local/lib/python2.7/dist-packages/django/db/backends/mysql/features.py", line 52, in supports_microsecond_precision
xqueue_consumer_1 | return self.connection.mysql_version >= (5, 6, 4) and Database.version_info >= (1, 2, 5)
xqueue_consumer_1 | File "/usr/local/lib/python2.7/dist-packages/django/utils/functional.py", line 59, in __get__
xqueue_consumer_1 | res = instance.__dict__[self.name] = self.func(instance)
xqueue_consumer_1 | File "/usr/local/lib/python2.7/dist-packages/django/db/backends/mysql/base.py", line 371, in mysql_version
xqueue_consumer_1 | with self.temporary_connection():
xqueue_consumer_1 | File "/usr/lib/python2.7/contextlib.py", line 17, in __enter__
xqueue_consumer_1 | return self.gen.next()
xqueue_consumer_1 | File "/usr/local/lib/python2.7/dist-packages/django/db/backends/base/base.py", line 462, in temporary_connection
xqueue_consumer_1 | cursor = self.cursor()
xqueue_consumer_1 | File "/usr/local/lib/python2.7/dist-packages/django/db/backends/base/base.py", line 164, in cursor
xqueue_consumer_1 | cursor = self.make_cursor(self._cursor())
xqueue_consumer_1 | File "/usr/local/lib/python2.7/dist-packages/django/db/backends/base/base.py", line 135, in _cursor
xqueue_consumer_1 | self.ensure_connection()
xqueue_consumer_1 | File "/usr/local/lib/python2.7/dist-packages/django/db/backends/base/base.py", line 130, in ensure_connection
xqueue_consumer_1 | self.connect()
xqueue_consumer_1 | File "/usr/local/lib/python2.7/dist-packages/django/db/utils.py", line 98, in __exit__
xqueue_consumer_1 | six.reraise(dj_exc_type, dj_exc_value, traceback)
xqueue_consumer_1 | File "/usr/local/lib/python2.7/dist-packages/django/db/backends/base/base.py", line 130, in ensure_connection
xqueue_consumer_1 | self.connect()
xqueue_consumer_1 | File "/usr/local/lib/python2.7/dist-packages/django/db/backends/base/base.py", line 119, in connect
xqueue_consumer_1 | self.connection = self.get_new_connection(conn_params)
xqueue_consumer_1 | File "/usr/local/lib/python2.7/dist-packages/django/db/backends/mysql/base.py", line 276, in get_new_connection
xqueue_consumer_1 | conn = Database.connect(**conn_params)
xqueue_consumer_1 | File "/usr/local/lib/python2.7/dist-packages/MySQLdb/__init__.py", line 81, in Connect
xqueue_consumer_1 | return Connection(*args, **kwargs)
xqueue_consumer_1 | File "/usr/local/lib/python2.7/dist-packages/MySQLdb/connections.py", line 193, in __init__
xqueue_consumer_1 | super(Connection, self).__init__(*args, **kwargs2)
xqueue_consumer_1 | django.db.utils.OperationalError: (1045, "Access denied for user 'xqueue'@'172.18.0.13' (using password: YES)")
xqueue_consumer_1 | Traceback (most recent call last):
xqueue_consumer_1 | File "./manage.py", line 10, in <module>
xqueue_consumer_1 | execute_from_command_line(sys.argv)
xqueue_consumer_1 | File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py", line 354, in execute_from_command_line
xqueue_consumer_1 | utility.execute()
xqueue_consumer_1 | File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py", line 346, in execute
xqueue_consumer_1 | self.fetch_command(subcommand).run_from_argv(self.argv)
xqueue_consumer_1 | File "/usr/local/lib/python2.7/dist-packages/django/core/management/base.py", line 394, in run_from_argv
xqueue_consumer_1 | self.execute(*args, **cmd_options)
xqueue_consumer_1 | File "/usr/local/lib/python2.7/dist-packages/django/core/management/base.py", line 444, in execute
xqueue_consumer_1 | self.check()
xqueue_consumer_1 | File "/usr/local/lib/python2.7/dist-packages/django/core/management/base.py", line 482, in check
xqueue_consumer_1 | include_deployment_checks=include_deployment_checks,
xqueue_consumer_1 | File "/usr/local/lib/python2.7/dist-packages/django/core/checks/registry.py", line 72, in run_checks
xqueue_consumer_1 | new_errors = check(app_configs=app_configs)
xqueue_consumer_1 | File "/usr/local/lib/python2.7/dist-packages/django/core/checks/model_checks.py", line 28, in check_all_models
xqueue_consumer_1 | errors.extend(model.check(**kwargs))
xqueue_consumer_1 | File "/usr/local/lib/python2.7/dist-packages/django/db/models/base.py", line 1205, in check
xqueue_consumer_1 | errors.extend(cls._check_fields(**kwargs))
xqueue_consumer_1 | File "/usr/local/lib/python2.7/dist-packages/django/db/models/base.py", line 1282, in _check_fields
xqueue_consumer_1 | errors.extend(field.check(**kwargs))
xqueue_consumer_1 | File "/usr/local/lib/python2.7/dist-packages/django/db/models/fields/__init__.py", line 934, in check
xqueue_consumer_1 | errors = super(AutoField, self).check(**kwargs)
xqueue_consumer_1 | File "/usr/local/lib/python2.7/dist-packages/django/db/models/fields/__init__.py", line 207, in check
xqueue_consumer_1 | errors.extend(self._check_backend_specific_checks(**kwargs))
xqueue_consumer_1 | File "/usr/local/lib/python2.7/dist-packages/django/db/models/fields/__init__.py", line 306, in _check_backend_specific_checks
xqueue_consumer_1 | return connection.validation.check_field(self, **kwargs)
xqueue_consumer_1 | File "/usr/local/lib/python2.7/dist-packages/django/db/backends/mysql/validation.py", line 18, in check_field
xqueue_consumer_1 | field_type = field.db_type(connection)
xqueue_consumer_1 | File "/usr/local/lib/python2.7/dist-packages/django/db/models/fields/__init__.py", line 614, in db_type
xqueue_consumer_1 | return connection.data_types[self.get_internal_type()] % data
xqueue_consumer_1 | File "/usr/local/lib/python2.7/dist-packages/django/db/__init__.py", line 36, in __getattr__
xqueue_consumer_1 | return getattr(connections[DEFAULT_DB_ALIAS], item)
xqueue_consumer_1 | File "/usr/local/lib/python2.7/dist-packages/django/utils/functional.py", line 59, in __get__
xqueue_consumer_1 | res = instance.__dict__[self.name] = self.func(instance)
xqueue_consumer_1 | File "/usr/local/lib/python2.7/dist-packages/django/db/backends/mysql/base.py", line 196, in data_types
xqueue_consumer_1 | if self.features.supports_microsecond_precision:
xqueue_consumer_1 | File "/usr/local/lib/python2.7/dist-packages/django/utils/functional.py", line 59, in __get__
xqueue_consumer_1 | res = instance.__dict__[self.name] = self.func(instance)
xqueue_consumer_1 | File "/usr/local/lib/python2.7/dist-packages/django/db/backends/mysql/features.py", line 52, in supports_microsecond_precision
xqueue_consumer_1 | return self.connection.mysql_version >= (5, 6, 4) and Database.version_info >= (1, 2, 5)
xqueue_consumer_1 | File "/usr/local/lib/python2.7/dist-packages/django/utils/functional.py", line 59, in __get__
xqueue_consumer_1 | res = instance.__dict__[self.name] = self.func(instance)
xqueue_consumer_1 | File "/usr/local/lib/python2.7/dist-packages/django/db/backends/mysql/base.py", line 371, in mysql_version
xqueue_consumer_1 | with self.temporary_connection():
xqueue_consumer_1 | File "/usr/lib/python2.7/contextlib.py", line 17, in __enter__
xqueue_consumer_1 | return self.gen.next()
xqueue_consumer_1 | File "/usr/local/lib/python2.7/dist-packages/django/db/backends/base/base.py", line 462, in temporary_connection
xqueue_consumer_1 | cursor = self.cursor()
xqueue_consumer_1 | File "/usr/local/lib/python2.7/dist-packages/django/db/backends/base/base.py", line 164, in cursor
xqueue_consumer_1 | cursor = self.make_cursor(self._cursor())
xqueue_consumer_1 | File "/usr/local/lib/python2.7/dist-packages/django/db/backends/base/base.py", line 135, in _cursor
xqueue_consumer_1 | self.ensure_connection()
xqueue_consumer_1 | File "/usr/local/lib/python2.7/dist-packages/django/db/backends/base/base.py", line 130, in ensure_connection
xqueue_consumer_1 | self.connect()
xqueue_consumer_1 | File "/usr/local/lib/python2.7/dist-packages/django/db/utils.py", line 98, in __exit__
xqueue_consumer_1 | six.reraise(dj_exc_type, dj_exc_value, traceback)
xqueue_consumer_1 | File "/usr/local/lib/python2.7/dist-packages/django/db/backends/base/base.py", line 130, in ensure_connection
xqueue_consumer_1 | self.connect()
xqueue_consumer_1 | File "/usr/local/lib/python2.7/dist-packages/django/db/backends/base/base.py", line 119, in connect
xqueue_consumer_1 | self.connection = self.get_new_connection(conn_params)
xqueue_consumer_1 | File "/usr/local/lib/python2.7/dist-packages/django/db/backends/mysql/base.py", line 276, in get_new_connection
xqueue_consumer_1 | conn = Database.connect(**conn_params)
xqueue_consumer_1 | File "/usr/local/lib/python2.7/dist-packages/MySQLdb/__init__.py", line 81, in Connect
xqueue_consumer_1 | return Connection(*args, **kwargs)
xqueue_consumer_1 | File "/usr/local/lib/python2.7/dist-packages/MySQLdb/connections.py", line 193, in __init__
xqueue_consumer_1 | super(Connection, self).__init__(*args, **kwargs2)
xqueue_consumer_1 | django.db.utils.OperationalError: (1045, "Access denied for user 'xqueue'@'172.18.0.13' (using password: YES)")
I can see the logs for the openedxdocker_lms
container that it's attempting to send the registration emails, but it's getting a connection refused:
2018-02-16 23:32:23,197 INFO 1 [celery.worker.consumer] consumer.py:479 - Connected to amqp://guest:**@rabbitmq:5672//
2018-02-16 23:32:23,209 INFO 1 [celery.worker.consumer] consumer.py:567 - mingle: searching for neighbors
2018-02-16 23:32:24,221 INFO 1 [celery.worker.consumer] consumer.py:585 - mingle: all alone
2018-02-16 23:32:24,243 WARNING 1 [celery.redirected] log.py:282 - [email protected].%8fffbfe952ed ready.
2018-02-16 23:56:32,936 INFO 1 [celery.worker.strategy] strategy.py:55 - Received task: student.tasks.send_activation_email[e629b21c-b3f6-41d7-a851-3405a704472c]
2018-02-16 23:56:32,998 ERROR 120 [edx.celery.task] tasks.py:48 - Unable to send activation email to user from "[email protected]" to "[email protected]"
Traceback (most recent call last):
File "/openedx/edx-platform/common/djangoapps/student/tasks.py", line 23, in send_activation_email
mail.send_mail(subject, message, from_address, [dest_addr], fail_silently=False)
File "/usr/local/lib/python2.7/dist-packages/django/core/mail/__init__.py", line 62, in send_mail
return mail.send()
File "/usr/local/lib/python2.7/dist-packages/django/core/mail/message.py", line 303, in send
return self.get_connection(fail_silently).send_messages([self])
File "/usr/local/lib/python2.7/dist-packages/django/core/mail/backends/smtp.py", line 100, in send_messages
new_conn_created = self.open()
File "/usr/local/lib/python2.7/dist-packages/django/core/mail/backends/smtp.py", line 58, in open
self.connection = connection_class(self.host, self.port, **connection_params)
File "/usr/lib/python2.7/smtplib.py", line 256, in __init__
(code, msg) = self.connect(host, port)
File "/usr/lib/python2.7/smtplib.py", line 316, in connect
self.sock = self._get_socket(host, port, self.timeout)
File "/usr/lib/python2.7/smtplib.py", line 291, in _get_socket
return socket.create_connection((host, port), timeout)
File "/usr/lib/python2.7/socket.py", line 575, in create_connection
raise err
error: [Errno 111] Connection refused
2018-02-16 23:56:33,026 ERROR 1 [celery.worker.job] log.py:282 - Task student.tasks.send_activation_email[e629b21c-b3f6-41d7-a851-3405a704472c] raised unexpected: Exception()
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/celery/app/trace.py", line 240, in trace_task
R = retval = fun(*args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/celery/app/trace.py", line 438, in __protected_call__
return self.run(*args, **kwargs)
File "/openedx/edx-platform/common/djangoapps/student/tasks.py", line 50, in send_activation_email
raise Exception
Exception
When I look at the logs of the openedxdocker_smtp
container, it appears to be listening on port 25.
+ sed -ri '
s/^#?(dc_local_interfaces)=.*/\1='\''[0.0.0.0]:25 ; [::0]:25'\''/;
s/^#?(dc_other_hostnames)=.*/\1='\'''\''/;
s/^#?(dc_relay_nets)=.*/\1='\''172.18.0.3\/16'\''/;
s/^#?(dc_eximconfig_configtype)=.*/\1='\''internet'\''/;
' /etc/exim4/update-exim4.conf.conf
+ update-exim4.conf -v
using non-split configuration scheme from /etc/exim4/exim4.conf.template
1 LOG: MAIN
1 exim 4.84_2 daemon started: pid=1, -q15m, listening for SMTP on port 25 (IPv6 and IPv4)
Any idea why it's unable to connect to the SMTP container?
Since following the instructions to set up a local development environment, and attempting to restart the containers with make up
, I'm now getting this error:
$ make up
docker-compose up
openedx-docker_mysql_1 is up-to-date
openedx-docker_mongodb_1 is up-to-date
Recreating openedx-docker_nginx_1 ...
openedx-docker_smtp_1 is up-to-date
openedx-docker_memcached_1 is up-to-date
Recreating openedx-docker_nginx_1 ... done
Recreating openedx-docker_lms_1 ...
Recreating openedx-docker_cms_1 ...
ERROR: for openedx-docker_lms_1 UnixHTTPConnectionPool(host='localhost', port=None): Read timed out. (read timeout=60)
ERROR: for openedx-docker_cms_1 UnixHTTPConnectionPool(host='localhost', port=None): Read timed out. (read timeout=60)
ERROR: for lms UnixHTTPConnectionPool(host='localhost', port=None): Read timed out. (read timeout=60)
ERROR: for cms UnixHTTPConnectionPool(host='localhost', port=None): Read timed out. (read timeout=60)
ERROR: An HTTP request took too long to complete. Retry with --verbose to obtain debug information.
If you encounter this issue regularly because of slow network conditions, consider setting COMPOSE_HTTP_TIMEOUT to a higher value (current value: 60).
make: *** [up] Error 1
The Docker container doesn's appear to be public or it has been removed.
https://hub.docker.com/u/regis/
Pulling xqueue_consumer (regis/openedx-xqueue:ginkgo)...
ERROR: pull access denied for regis/openedx-xqueue, repository does not exist or may require 'docker login'
Makefile:22: recipe for target 'update' failed
make: *** [update] Error 1
I set the environment variable EDX_PLATFORM_SETTINGS=development
but when I run make lms
it appears to still be using SETTINGS=production
.
And yes, I have made development.py
in both cms/envs
and lms/envs
directories.
$ export EDX_PLATFORM_PATH=/Users/nateaune/Dropbox/code/natea-edx-platform-ginkgo
$ export EDX_PLATFORM_SETTINGS=development
$ make lms
docker-compose run --rm -e USERID="$(id -u)" -e SETTINGS=production --volume="/Users/nateaune/Dropbox/code/natea-edx-platform-ginkgo:/openedx/edx-platform" -p 8000:8000 lms bash
Starting openedx-docker_rabbitmq_1 ... done
Starting openedx-docker_smtp_1 ... done
Starting openedx-docker_mongodb_1 ... done
Starting openedx-docker_mysql_1 ... done
creating new user 'openedx' with UID 501
chown: changing ownership of '/openedx/edx-platform/common/static/edx-pattern-library/fonts': No such file or directory
chown: changing ownership of '/openedx/edx-platform/common/static/edx-pattern-library/js': No such file or directory
chown: changing ownership of '/openedx/edx-platform/common/static/edx-ui-toolkit/js': No such file or directory
make: *** [lms] Error 1
This is probably a silly question... How do I delete the demo course and my test courses?
I run the make command and at the end, I see this traceback:
2018-02-10 01:14:26,742 INFO 122 [dd.dogapi] dog_stats_api.py:66 - Initializing dog api to use statsd: localhost, 8125
Traceback (most recent call last):
File "./manage.py", line 116, in <module>
execute_from_command_line([sys.argv[0]] + django_args)
File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py", line 354, in execute_from_command_line
utility.execute()
File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py", line 346, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/usr/local/lib/python2.7/dist-packages/django/core/management/base.py", line 394, in run_from_argv
self.execute(*args, **cmd_options)
File "/usr/local/lib/python2.7/dist-packages/django/core/management/base.py", line 444, in execute
self.check()
File "/usr/local/lib/python2.7/dist-packages/django/core/management/base.py", line 482, in check
include_deployment_checks=include_deployment_checks,
File "/usr/local/lib/python2.7/dist-packages/django/core/checks/registry.py", line 72, in run_checks
new_errors = check(app_configs=app_configs)
File "/usr/local/lib/python2.7/dist-packages/django/core/checks/model_checks.py", line 28, in check_all_models
errors.extend(model.check(**kwargs))
File "/usr/local/lib/python2.7/dist-packages/django/db/models/base.py", line 1205, in check
errors.extend(cls._check_fields(**kwargs))
File "/usr/local/lib/python2.7/dist-packages/django/db/models/base.py", line 1282, in _check_fields
errors.extend(field.check(**kwargs))
File "/usr/local/lib/python2.7/dist-packages/django/db/models/fields/__init__.py", line 934, in check
errors = super(AutoField, self).check(**kwargs)
File "/usr/local/lib/python2.7/dist-packages/django/db/models/fields/__init__.py", line 207, in check
errors.extend(self._check_backend_specific_checks(**kwargs))
File "/usr/local/lib/python2.7/dist-packages/django/db/models/fields/__init__.py", line 306, in _check_backend_specific_checks
return connection.validation.check_field(self, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/django/db/backends/mysql/validation.py", line 18, in check_field
field_type = field.db_type(connection)
File "/usr/local/lib/python2.7/dist-packages/django/db/models/fields/__init__.py", line 614, in db_type
return connection.data_types[self.get_internal_type()] % data
File "/usr/local/lib/python2.7/dist-packages/django/db/__init__.py", line 36, in __getattr__
return getattr(connections[DEFAULT_DB_ALIAS], item)
File "/usr/local/lib/python2.7/dist-packages/django/utils/functional.py", line 59, in __get__
res = instance.__dict__[self.name] = self.func(instance)
File "/usr/local/lib/python2.7/dist-packages/django/db/backends/mysql/base.py", line 196, in data_types
if self.features.supports_microsecond_precision:
File "/usr/local/lib/python2.7/dist-packages/django/utils/functional.py", line 59, in __get__
res = instance.__dict__[self.name] = self.func(instance)
File "/usr/local/lib/python2.7/dist-packages/django/db/backends/mysql/features.py", line 52, in supports_microsecond_precision
return self.connection.mysql_version >= (5, 6, 4) and Database.version_info >= (1, 2, 5)
File "/usr/local/lib/python2.7/dist-packages/django/utils/functional.py", line 59, in __get__
res = instance.__dict__[self.name] = self.func(instance)
File "/usr/local/lib/python2.7/dist-packages/django/db/backends/mysql/base.py", line 371, in mysql_version
with self.temporary_connection():
File "/usr/lib/python2.7/contextlib.py", line 17, in __enter__
return self.gen.next()
File "/usr/local/lib/python2.7/dist-packages/django/db/backends/base/base.py", line 462, in temporary_connection
cursor = self.cursor()
File "/usr/local/lib/python2.7/dist-packages/django/db/backends/base/base.py", line 164, in cursor
cursor = self.make_cursor(self._cursor())
File "/usr/local/lib/python2.7/dist-packages/django/db/backends/base/base.py", line 135, in _cursor
self.ensure_connection()
File "/usr/local/lib/python2.7/dist-packages/django/db/backends/base/base.py", line 130, in ensure_connection
self.connect()
File "/usr/local/lib/python2.7/dist-packages/django/db/utils.py", line 98, in __exit__
six.reraise(dj_exc_type, dj_exc_value, traceback)
File "/usr/local/lib/python2.7/dist-packages/django/db/backends/base/base.py", line 130, in ensure_connection
self.connect()
File "/usr/local/lib/python2.7/dist-packages/django/db/backends/base/base.py", line 119, in connect
self.connection = self.get_new_connection(conn_params)
File "/usr/local/lib/python2.7/dist-packages/django/db/backends/mysql/base.py", line 276, in get_new_connection
conn = Database.connect(**conn_params)
File "/usr/local/lib/python2.7/dist-packages/MySQLdb/__init__.py", line 81, in Connect
return Connection(*args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/MySQLdb/connections.py", line 193, in __init__
super(Connection, self).__init__(*args, **kwargs2)
django.db.utils.OperationalError: (2003, "Can't connect to MySQL server on 'mysql' (111)")
make: *** [migrate] Error 1
When I scroll back up the traceback, I see this:
Pulling mysql (mysql:5.6.36)...
5.6.36: Pulling from library/mysql
9f0706ba7422: Pull complete
2290e155d2d0: Pull complete
547981b8269f: Pull complete
2c9d42ed2f48: Pull complete
a50168a1b927: Pull complete
414da6fabf18: Pull complete
332ddcfaeff4: Pull complete
43e9a87d0a54: Pull complete
27dcfa818ff7: Pull complete
067b6cd0ea1c: Pull complete
62f66393bcf1: Pull complete
Digest: sha256:55cbc591a7ebc1c47458c97b8edbd2693c9e4ec5666f1ad8202a86a2e639e326
Status: Downloaded newer image for mysql:5.6.36
Pulling memcached (memcached:1.4.38)...
1.4.38: Pulling from library/memcached
f5cc0ee7a6f6: Pull complete
ce7ee474d4e2: Pull complete
1f60705a3644: Pull complete
1864db441db8: Pull complete
90398aacff88: Pull complete
Digest: sha256:d83af2b8bd40c12e0bc91c969bed27c7a1631939c7bb73f95f11dfe00395d224
Status: Downloaded newer image for memcached:1.4.38
Creating openedxdocker_rabbitmq_1 ...
Creating openedxdocker_smtp_1 ...
Creating openedxdocker_mysql_1 ...
Creating openedxdocker_mongodb_1 ...
Creating openedxdocker_memcached_1 ...
Creating openedxdocker_rabbitmq_1
Creating openedxdocker_memcached_1
Creating openedxdocker_mysql_1
Creating openedxdocker_smtp_1
Creating openedxdocker_memcached_1 ... done
Waiting for mysql database
2018-02-10 01:14:19,055 WARNING 8 [py.warnings] base.py:116 - /usr/local/lib/python2.7/dist-packages/openassessment/workflow/models.py:46: RemovedInDjango19Warning: Model class openassessment.workflow.models.AssessmentWorkflow doesn't declare an explicit app_label and either isn't in an application in INSTALLED_APPS or else was imported before its application was loaded. This will no longer be supported in Django 1.9.
class AssessmentWorkflow(TimeStampedModel, StatusModel):
2018-02-10 01:14:19,058 WARNING 8 [py.warnings] base.py:116 - /usr/local/lib/python2.7/dist-packages/openassessment/workflow/models.py:608: RemovedInDjango19Warning: Model class openassessment.workflow.models.AssessmentWorkflowStep doesn't declare an explicit app_label and either isn't in an application in INSTALLED_APPS or else was imported before its application was loaded. This will no longer be supported in Django 1.9.
class AssessmentWorkflowStep(models.Model):
2018-02-10 01:14:19,061 WARNING 8 [py.warnings] base.py:116 - /usr/local/lib/python2.7/dist-packages/openassessment/workflow/models.py:749: RemovedInDjango19Warning: Model class openassessment.workflow.models.AssessmentWorkflowCancellation doesn't declare an explicit app_label and either isn't in an application in INSTALLED_APPS or else was imported before its application was loaded. This will no longer be supported in Django 1.9.
class AssessmentWorkflowCancellation(models.Model):
2018-02-10 01:14:19,252 WARNING 8 [py.warnings] base.py:116 - /usr/local/lib/python2.7/dist-packages/edxval/models.py:52: RemovedInDjango19Warning: Model class edxval.models.Profile doesn't declare an explicit app_label and either isn't in an application in INSTALLED_APPS or else was imported before its application was loaded. This will no longer be supported in Django 1.9.
class Profile(models.Model):
2018-02-10 01:14:19,254 WARNING 8 [py.warnings] base.py:116 - /usr/local/lib/python2.7/dist-packages/edxval/models.py:75: RemovedInDjango19Warning: Model class edxval.models.Video doesn't declare an explicit app_label and either isn't in an application in INSTALLED_APPS or else was imported before its application was loaded. This will no longer be supported in Django 1.9.
class Video(models.Model):
2018-02-10 01:14:19,255 WARNING 8 [py.warnings] base.py:116 - /usr/local/lib/python2.7/dist-packages/edxval/models.py:123: RemovedInDjango19Warning: Model class edxval.models.CourseVideo doesn't declare an explicit app_label and either isn't in an application in INSTALLED_APPS or else was imported before its application was loaded. This will no longer be supported in Django 1.9.
class CourseVideo(models.Model, ModelFactoryWithValidation):
2018-02-10 01:14:19,257 WARNING 8 [py.warnings] base.py:116 - /usr/local/lib/python2.7/dist-packages/edxval/models.py:144: RemovedInDjango19Warning: Model class edxval.models.EncodedVideo doesn't declare an explicit app_label and either isn't in an application in INSTALLED_APPS or else was imported before its application was loaded. This will no longer be supported in Django 1.9.
class EncodedVideo(models.Model):
2018-02-10 01:14:19,259 WARNING 8 [py.warnings] base.py:116 - /usr/local/lib/python2.7/dist-packages/edxval/models.py:164: RemovedInDjango19Warning: Model class edxval.models.Subtitle doesn't declare an explicit app_label and either isn't in an application in INSTALLED_APPS or else was imported before its application was loaded. This will no longer be supported in Django 1.9.
class Subtitle(models.Model):
2018-02-10 01:14:19,271 WARNING 8 [py.warnings] base.py:116 - /openedx/edx-platform/openedx/core/djangoapps/video_config/models.py:10: RemovedInDjango19Warning: Model class openedx.core.djangoapps.video_config.models.HLSPlaybackEnabledFlag doesn't declare an explicit app_label and either isn't in an application in INSTALLED_APPS or else was imported before its application was loaded. This will no longer be supported in Django 1.9.
class HLSPlaybackEnabledFlag(ConfigurationModel):
2018-02-10 01:14:19,274 WARNING 8 [py.warnings] base.py:116 - /openedx/edx-platform/openedx/core/djangoapps/video_config/models.py:51: RemovedInDjango19Warning: Model class openedx.core.djangoapps.video_config.models.CourseHLSPlaybackEnabledFlag doesn't declare an explicit app_label and either isn't in an application in INSTALLED_APPS or else was imported before its application was loaded. This will no longer be supported in Django 1.9.
class CourseHLSPlaybackEnabledFlag(ConfigurationModel):
2018-02-10 01:14:20,377 WARNING 8 [py.warnings] base.py:116 - /openedx/edx-platform/openedx/core/djangoapps/bookmarks/models.py:41: RemovedInDjango19Warning: Model class openedx.core.djangoapps.bookmarks.models.Bookmark doesn't declare an explicit app_label and either isn't in an application in INSTALLED_APPS or else was imported before its application was loaded. This will no longer be supported in Django 1.9.
class Bookmark(TimeStampedModel):
2018-02-10 01:14:20,380 WARNING 8 [py.warnings] base.py:116 - /openedx/edx-platform/openedx/core/djangoapps/bookmarks/models.py:186: RemovedInDjango19Warning: Model class openedx.core.djangoapps.bookmarks.models.XBlockCache doesn't declare an explicit app_label and either isn't in an application in INSTALLED_APPS or else was imported before its application was loaded. This will no longer be supported in Django 1.9.
class XBlockCache(TimeStampedModel):
2018-02-10 01:14:21,489 INFO 8 [dd.dogapi] dog_stats_api.py:66 - Initializing dog api to use statsd: localhost, 8125
mysql: [Warning] Using a password on the command line interface can be insecure.
ERROR 2003 (HY000): Can't connect to MySQL server on 'mysql' (111)
mysql database ready
Hi,
First of all a big thank you for putting this together.
I cloned the Git repository a few minutes ago and have python,docker (17.12.1) and docker-compose (1.21.2) running on Ubuntu 18.04
Getting these errors when doing a make all
ERROR: for xqueue_consumer pull access denied for regis/openedx-xqueue, repository does not exist or may require 'docker login'
ERROR: for xqueue pull access denied for regis/openedx-xqueue, repository does not exist or may require 'docker login'
ERROR: pull access denied for regis/openedx-xqueue, repository does not exist or may require 'docker login'
Do let me know if you need any more debug information.
I wanted to test out a new XBlock, so I added a new file to the requirements/edx directory:
https://github.com/natea/edx-platform/blob/natea/testing/requirements/edx/appsembler.txt
And changed these lines in the Dockerfile:
## Checkout edx-platform code
RUN git clone https://github.com/natea/edx-platform.git --branch natea/testing --depth 1 .
# Install python requirements
RUN pip install -r requirements/edx/pre.txt
...
RUN pip install -r requirements/edx/appsembler.txt
When I run make build
, it sees that it has already checked out edx-platform
and it doesn't pip install the new requirements file.
I have to run docker-compose build --no-cache lms cms
in order for force a rebuild of the entire image. Is there an easier / faster way to do this?
Ping @gsong @OmarIthawi @WolfieZero :)
This is a work-in-progress that stems from my install-from-scratch manual. The idea is to launch a minimal, docker-based LMS.
After running docker-compose up --build
you should have a working lms listening on http://myopenedx.com. You will have to patch your /etc/hosts
file to access it.
In order to disable migrations and assets generation, just modifiy the environment variables in docker-compose.yml
.
Since I know close to nothing about Docker, I would really appreciate it if you could give some pointers on good practices and any stupid mistake I might have made.
After adding the demo project if you try to go to the course page you get a 404 on
http://edx.domain.com/courses/course-v1:edX+DemoX+Demo_Course/about .
i’m trying to load some settings from lms.auth.json
and cms.auth.json
and wondering how/where those files get read in openedx-docker
i’m using production.py
and when i add the settings in that .py file, then they get loaded
but when i edit the files one level up in the “universal” folder, they appear to be getting ignored.
is this not the config dir that is read during runtime?
i notice these files (lms.auth.json
and cms.auth.json
) also exist in /edxapp/config
and /openedx/config
where is the correct place to edit them in order that they’ll be read when the system starts up?
Hello sir;
Can you please explain how can I install another language for open edx interface such as Arabic from Transifex
Thanks in advance
Dear Regis,
How can we run this deployment on SSL/Https. Also I have to run edx on production server, would opened-docker based deployment suffice or are any additional servers like nginx/apache2 required.
With Regards,
Shashi Kiran G M
I am running openedx in standard development settings in my localhost however if I want to make a change in my code should i re run :
paver update_assets lms --settings=universal.development
./manage.py lms runserver 0.0.0.0:8000
or should I also restart my docker ? Both take lots of time so I assume making code development with this kind of setting is very hard and time consuming. Is there any easier way to do the development ? I want to make a change in my folder openedx-docker then save and then refresh the url in my localhost to see the changes. Is it possible? Thanks.
Hello
When I run the following command:
sudo make all
I get this error:
./configure
/usr/bin/env: ‘python’: No such file or directory
Makefile:19: recipe for target 'configure' failed
make: *** [configure] Error 127
This is what I get when I run make info
docker version
Client:
Version: 18.03.1-ce
API version: 1.37
Go version: go1.9.5
Git commit: 9ee9f40
Built: Thu Apr 26 07:17:20 2018
OS/Arch: linux/amd64
Experimental: false
Orchestrator: swarm
python --version
make: python: Command not found
Makefile:59: recipe for target 'info' failed
make: *** [info] Error 127
Any ideas?
Hi @regisb
When I trying to done the installation with make all
command, it report the following error:
$ make all
./configure
Your website domain name for students (LMS) (default: "http://lms.kimetrics.com"):
Your website domain name for teachers (CMS) (default: "http://studio.kimetrics.com"):
Secret key -- if you don't know what this is, you can safely accept the default (default: "DA7y8xAbwUydrCnFsG93IgeG"):
Platform name/title (default: "Kimetrics - Smart field management - Cursos en linea"):
MySQL database name (default: "openedx"):
MySQL database username (default: "openedx"):
MySQL database password (default: "password"):
MongoDb database name (default: "openedx"):
Configuration values were saved to config/openedx/config.json
Generated config file config/openedx/lms.env.json (from template config/openedx/templates/lms.env.json.templ)
Generated config file config/openedx/cms.env.json (from template config/openedx/templates/cms.env.json.templ)
Generated config file config/openedx/lms.auth.json (from template config/openedx/templates/lms.auth.json.templ)
Generated config file config/openedx/cms.auth.json (from template config/openedx/templates/cms.auth.json.templ)
Generated config file mysql/config/username (from template mysql/config/templates/username.templ)
Generated config file mysql/config/password (from template mysql/config/templates/password.templ)
Generated config file mysql/config/database (from template mysql/config/templates/database.templ)
Generated config file config/nginx/lms.conf (from template config/nginx/templates/lms.conf.templ)
Generated config file config/nginx/cms.conf (from template config/nginx/templates/cms.conf.templ)
Configuration files were successfuly generated. You may now run the app containers.
docker-compose pull
ERROR: Couldn't connect to Docker daemon at http+docker://localhost - is it running?
If it's at a non-standard location, specify the URL with the DOCKER_HOST environment variable.
Makefile:22: recipe for target 'update' failed
make: *** [update] Error 1
Docker Info
$ sudo docker info
Containers: 7
Running: 5
Paused: 0
Stopped: 2
Images: 9
Server Version: 18.03.1-ce
Storage Driver: overlay2
Backing Filesystem: extfs
Supports d_type: true
Native Overlay Diff: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
Volume: local
Network: bridge host macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file logentries splunk syslog
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 773c489c9c1b21a6d78b5c538cd395416ec50f88
runc version: 4fc53a81fb7c994640722ac585fa9ca548971871
init version: 949e6fa
Security Options:
apparmor
seccomp
Profile: default
Kernel Version: 4.4.0-1049-aws
Operating System: Ubuntu 16.04.4 LTS
OSType: linux
Architecture: x86_64
CPUs: 2
Total Memory: 3.858GiB
Name: ip-172-30-4-230
ID: 4OPZ:VZMZ:264Z:YTR7:QYD7:UMFV:ETRW:CBOQ:MJHQ:QJ77:7FRP:YTWD
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
Labels:
Experimental: false
Insecure Registries:
127.0.0.0/8
Live Restore Enabled: false
WARNING: No swap limit support
Docker Status
$ sudo service docker status
● docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2018-05-07 14:53:08 UTC; 2 weeks 1 days ago
Docs: https://docs.docker.com
Main PID: 28963 (dockerd)
Tasks: 95
Memory: 445.7M
CPU: 6h 12min 39.694s
CGroup: /system.slice/docker.service
├─ 5332 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 8080 -container-ip 172.18.0.4 -container-port 8080
├─ 5339 docker-containerd-shim -namespace moby -workdir /var/lib/docker/containerd/daemon/io.containerd.runtime.v1.linux/moby/84a
├─ 9021 docker-containerd-shim -namespace moby -workdir /var/lib/docker/containerd/daemon/io.containerd.runtime.v1.linux/moby/9ad
├─ 9161 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 5555 -container-ip 172.18.0.3 -container-port 5555
├─ 9216 docker-containerd-shim -namespace moby -workdir /var/lib/docker/containerd/daemon/io.containerd.runtime.v1.linux/moby/f6e
├─ 9418 docker-containerd-shim -namespace moby -workdir /var/lib/docker/containerd/daemon/io.containerd.runtime.v1.linux/moby/2a0
├─ 9554 docker-containerd-shim -namespace moby -workdir /var/lib/docker/containerd/daemon/io.containerd.runtime.v1.linux/moby/1e4
├─28963 /usr/bin/dockerd -H fd://
└─28971 docker-containerd --config /var/run/docker/containerd/containerd.toml
May 15 21:44:12 ip-172-30-4-230 dockerd[28963]: time="2018-05-15T21:44:12Z" level=info msg="shim reaped" id=6caa43eac2cda83d2cd7dc8b1651e425
May 15 21:44:12 ip-172-30-4-230 dockerd[28963]: time="2018-05-15T21:44:12.246789088Z" level=info msg="ignoring event" module=libcontainerd n
May 15 21:44:24 ip-172-30-4-230 dockerd[28963]: time="2018-05-15T21:44:24Z" level=info msg="shim docker-containerd-shim started" address="/c
May 15 21:44:25 ip-172-30-4-230 dockerd[28963]: time="2018-05-15T21:44:25Z" level=info msg="shim docker-containerd-shim started" address="/c
May 15 21:44:25 ip-172-30-4-230 dockerd[28963]: time="2018-05-15T21:44:25Z" level=info msg="shim docker-containerd-shim started" address="/c
May 15 21:44:28 ip-172-30-4-230 dockerd[28963]: time="2018-05-15T21:44:28Z" level=info msg="shim docker-containerd-shim started" address="/c
May 15 21:44:31 ip-172-30-4-230 dockerd[28963]: time="2018-05-15T21:44:31Z" level=info msg="shim docker-containerd-shim started" address="/c
May 23 00:41:23 ip-172-30-4-230 dockerd[28963]: time="2018-05-23T00:41:23Z" level=info msg="shim reaped" id=84a2f012cdf1424d6a391d42e872c0ed
May 23 00:41:23 ip-172-30-4-230 dockerd[28963]: time="2018-05-23T00:41:23.478905921Z" level=info msg="ignoring event" module=libcontainerd n
May 23 00:41:24 ip-172-30-4-230 dockerd[28963]: time="2018-05-23T00:41:24Z" level=info msg="shim docker-containerd-shim started" address="/c
I added my user to docker user group:
$ sudo usermod -aG docker ${USER}
I rerun the command, it still continue the error, then I tested adding sudo
prefix and fixed the error, like this:
$ sudo make all
When I try to run the command make import-demo-course
I get some errors and the course doesn't appear to have imported correctly because I get a 404 error when I click on the course, even though it appears in the catalog:
2018-02-17 00:07:48,144 INFO 20 [dd.dogapi] dog_stats_api.py:66 - Initializing dog api to use statsd: localhost, 8125
Importing. Data_dir=../data, source_dirs=('../edx-demo-course',)
2018-02-17 00:07:48,389 WARNING 20 [root] mixins.py:522 - XBlock <class 'xblock.internal.DiscussionXBlockWithMixins'> does not contain field url_name
2018-02-17 00:07:48,405 WARNING 20 [root] mixins.py:522 - XBlock <class 'xblock.internal.DiscussionXBlockWithMixins'> does not contain field url_name
2018-02-17 00:07:48,415 ERROR 20 [xmodule.vertical_block] vertical_block.py:131 - Unable to load child when parsing Vertical. Continuing...
Traceback (most recent call last):
File "/openedx/edx-platform/common/lib/xmodule/xmodule/vertical_block.py", line 128, in definition_from_xml
child_block = system.process_xml(etree.tostring(child, encoding='unicode'))
File "/openedx/edx-platform/common/lib/xmodule/xmodule/modulestore/xml.py", line 196, in process_xml
id_manager,
File "/openedx/edx-platform/common/lib/xmodule/xmodule/x_module.py", line 1601, in xblock_from_node
self._convert_reference_fields_to_keys(block) # difference from XBlock.runtime
File "/openedx/edx-platform/common/lib/xmodule/xmodule/x_module.py", line 1645, in _convert_reference_fields_to_keys
field_value = getattr(xblock, field.name)
File "/usr/local/lib/python2.7/dist-packages/xblock/fields.py", line 513, in __get__
value = self.from_json(field_data.get(xblock, self.name))
File "/usr/local/lib/python2.7/dist-packages/xblock/fields.py", line 819, in from_json
raise TypeError('Value stored in a List must be None or a list, found %s' % type(value))
TypeError: Value stored in a List must be None or a list, found <type 'str'>
2018-02-17 00:07:48,417 WARNING 20 [root] mixins.py:522 - XBlock <class 'xblock.internal.DiscussionXBlockWithMixins'> does not contain field url_name
2018-02-17 00:07:48,430 WARNING 20 [root] mixins.py:522 - XBlock <class 'xblock.internal.DiscussionXBlockWithMixins'> does not contain field url_name
2018-02-17 00:07:48,446 WARNING 20 [root] mixins.py:522 - XBlock <class 'xblock.internal.DiscussionXBlockWithMixins'> does not contain field url_name
2018-02-17 00:07:48,473 WARNING 20 [root] mixins.py:522 - XBlock <class 'xblock.internal.DiscussionXBlockWithMixins'> does not contain field url_name
2018-02-17 00:07:48,487 WARNING 20 [root] mixins.py:522 - XBlock <class 'xblock.internal.DiscussionXBlockWithMixins'> does not contain field url_name
2018-02-17 00:07:48,497 WARNING 20 [root] mixins.py:522 - XBlock <class 'xblock.internal.DiscussionXBlockWithMixins'> does not contain field url_name
2018-02-17 00:07:48,513 WARNING 20 [root] mixins.py:522 - XBlock <class 'xblock.internal.DiscussionXBlockWithMixins'> does not contain field url_name
2018-02-17 00:07:48,524 WARNING 20 [root] mixins.py:522 - XBlock <class 'xblock.internal.DiscussionXBlockWithMixins'> does not contain field url_name
2018-02-17 00:07:48,535 WARNING 20 [root] mixins.py:522 - XBlock <class 'xblock.internal.DiscussionXBlockWithMixins'> does not contain field url_name
2018-02-17 00:07:48,548 WARNING 20 [root] mixins.py:522 - XBlock <class 'xblock.internal.DiscussionXBlockWithMixins'> does not contain field url_name
2018-02-17 00:07:48,559 WARNING 20 [root] mixins.py:522 - XBlock <class 'xblock.internal.DiscussionXBlockWithMixins'> does not contain field url_name
2018-02-17 00:07:48,745 WARNING 20 [root] mixins.py:522 - XBlock <class 'xblock.internal.DiscussionXBlockWithMixins'> does not contain field url_name
2018-02-17 00:07:48,757 WARNING 20 [root] mixins.py:522 - XBlock <class 'xblock.internal.DiscussionXBlockWithMixins'> does not contain field url_name
2018-02-17 00:07:48,773 WARNING 20 [root] mixins.py:522 - XBlock <class 'xblock.internal.DiscussionXBlockWithMixins'> does not contain field url_name
2018-02-17 00:07:48,814 WARNING 20 [root] mixins.py:522 - XBlock <class 'xblock.internal.DiscussionXBlockWithMixins'> does not contain field url_name
2018-02-17 00:07:48,836 WARNING 20 [root] mixins.py:522 - XBlock <class 'xblock.internal.DiscussionXBlockWithMixins'> does not contain field url_name
2018-02-17 00:07:48,861 WARNING 20 [root] mixins.py:522 - XBlock <class 'xblock.internal.DiscussionXBlockWithMixins'> does not contain field url_name
2018-02-17 00:07:48,876 WARNING 20 [root] mixins.py:522 - XBlock <class 'xblock.internal.DiscussionXBlockWithMixins'> does not contain field url_name
2018-02-17 00:07:48,949 WARNING 20 [root] mixins.py:522 - XBlock <class 'xblock.internal.DiscussionXBlockWithMixins'> does not contain field url_name
2018-02-17 00:07:48,973 WARNING 20 [root] mixins.py:522 - XBlock <class 'xblock.internal.DiscussionXBlockWithMixins'> does not contain field url_name
2018-02-17 00:07:49,006 WARNING 20 [root] mixins.py:522 - XBlock <class 'xblock.internal.DiscussionXBlockWithMixins'> does not contain field url_name
2018-02-17 00:07:49,032 WARNING 20 [root] mixins.py:522 - XBlock <class 'xblock.internal.DiscussionXBlockWithMixins'> does not contain field url_name
2018-02-17 00:07:49,043 WARNING 20 [root] mixins.py:522 - XBlock <class 'xblock.internal.DiscussionXBlockWithMixins'> does not contain field url_name
2018-02-17 00:07:49,055 WARNING 20 [root] mixins.py:522 - XBlock <class 'xblock.internal.DiscussionXBlockWithMixins'> does not contain field url_name
2018-02-17 00:07:49,071 WARNING 20 [root] mixins.py:522 - XBlock <class 'xblock.internal.DiscussionXBlockWithMixins'> does not contain field url_name
2018-02-17 00:07:49,083 WARNING 20 [root] mixins.py:522 - XBlock <class 'xblock.internal.DiscussionXBlockWithMixins'> does not contain field url_name
2018-02-17 00:07:49,096 WARNING 20 [root] mixins.py:522 - XBlock <class 'xblock.internal.DiscussionXBlockWithMixins'> does not contain field url_name
2018-02-17 00:07:49,106 WARNING 20 [root] mixins.py:522 - XBlock <class 'xblock.internal.DiscussionXBlockWithMixins'> does not contain field url_name
2018-02-17 00:07:49,471 INFO 20 [openedx.core.djangoapps.content.course_overviews.models] models.py:150 - Creating course overview for course-v1:edX+DemoX+Demo_Course.
2018-02-17 00:07:49,544 INFO 20 [xmodule.modulestore.django] django.py:207 - Sent course_published signal to <function listen_for_course_publish at 0x7f9c67a3f410> with kwargs {'course_key': CourseLocator('edX', 'DemoX', 'Demo_Course', None, None)}. Response was: None
2018-02-17 00:07:49,545 INFO 20 [xmodule.modulestore.django] django.py:207 - Sent course_published signal to <function listen_for_course_publish at 0x7f9c4c9adaa0> with kwargs {'course_key': CourseLocator('edX', 'DemoX', 'Demo_Course', None, None)}. Response was: None
2018-02-17 00:07:49,546 INFO 20 [xmodule.modulestore.django] django.py:207 - Sent course_published signal to <function _update_block_structure_on_course_publish at 0x7f9c4c9b36e0> with kwargs {'course_key': CourseLocator('edX', 'DemoX', 'Demo_Course', None, None)}. Response was: None
2018-02-17 00:07:49,547 INFO 20 [xmodule.modulestore.django] django.py:207 - Sent course_published signal to <function _listen_for_course_publish at 0x7f9c4c7fd578> with kwargs {'course_key': CourseLocator('edX', 'DemoX', 'Demo_Course', None, None)}. Response was: None
2018-02-17 00:07:49,548 INFO 20 [xmodule.modulestore.django] django.py:207 - Sent course_published signal to <function _listen_for_course_publish at 0x7f9c4c7fda28> with kwargs {'course_key': CourseLocator('edX', 'DemoX', 'Demo_Course', None, None)}. Response was: None
2018-02-17 00:07:49,550 INFO 20 [xmodule.modulestore.django] django.py:207 - Sent course_published signal to <function trigger_update_xblocks_cache_task at 0x7f9c4c7fdb18> with kwargs {'course_key': CourseLocator('edX', 'DemoX', 'Demo_Course', None, None)}. Response was: None
2018-02-17 00:07:49,551 INFO 20 [xmodule.modulestore.django] django.py:207 - Sent course_published signal to <function _listen_for_course_publish at 0x7f9c4c7fd8c0> with kwargs {'course_key': CourseLocator('edX', 'DemoX', 'Demo_Course', None, None)}. Response was: None
2018-02-17 00:07:50,992 ERROR 20 [root] content.py:461 - Failed to generate thumbnail for asset-v1:edX+DemoX+Demo_Course+type@asset+block@jsmol_Al2O3.png. Exception: cannot identify image file <StringIO.StringIO instance at 0x7f9c4b4bcea8>
Traceback (most recent call last):
File "/openedx/edx-platform/common/lib/xmodule/xmodule/contentstore/content.py", line 440, in generate_thumbnail
with Image.open(source) as image:
File "/usr/local/lib/python2.7/dist-packages/PIL/Image.py", line 2319, in open
% (filename if filename else fp))
IOError: cannot identify image file <StringIO.StringIO instance at 0x7f9c4b4bcea8>
2018-02-17 00:07:51,092 ERROR 20 [root] content.py:461 - Failed to generate thumbnail for asset-v1:edX+DemoX+Demo_Course+type@asset+block@jsmol_1hxw.png. Exception: cannot identify image file <StringIO.StringIO instance at 0x7f9c4b4bf4d0>
Traceback (most recent call last):
File "/openedx/edx-platform/common/lib/xmodule/xmodule/contentstore/content.py", line 440, in generate_thumbnail
with Image.open(source) as image:
File "/usr/local/lib/python2.7/dist-packages/PIL/Image.py", line 2319, in open
% (filename if filename else fp))
IOError: cannot identify image file <StringIO.StringIO instance at 0x7f9c4b4bf4d0>
2018-02-17 00:07:54,224 INFO 20 [root] xml_importer.py:290 - No assets.xml file is present with asset metadata.
2018-02-17 00:07:56,144 INFO 20 [openedx.core.djangoapps.content.course_overviews.models] models.py:147 - Updating course overview for course-v1:edX+DemoX+Demo_Course.
2018-02-17 00:07:56,171 INFO 20 [xmodule.modulestore.django] django.py:207 - Sent course_published signal to <function listen_for_course_publish at 0x7f9c67a3f410> with kwargs {'course_key': CourseLocator('edX', 'DemoX', 'Demo_Course', None, None)}. Response was: None
2018-02-17 00:07:56,172 INFO 20 [xmodule.modulestore.django] django.py:207 - Sent course_published signal to <function listen_for_course_publish at 0x7f9c4c9adaa0> with kwargs {'course_key': CourseLocator('edX', 'DemoX', 'Demo_Course', None, None)}. Response was: None
2018-02-17 00:07:56,173 INFO 20 [xmodule.modulestore.django] django.py:207 - Sent course_published signal to <function _update_block_structure_on_course_publish at 0x7f9c4c9b36e0> with kwargs {'course_key': CourseLocator('edX', 'DemoX', 'Demo_Course', None, None)}. Response was: None
2018-02-17 00:07:56,174 INFO 20 [xmodule.modulestore.django] django.py:207 - Sent course_published signal to <function _listen_for_course_publish at 0x7f9c4c7fd578> with kwargs {'course_key': CourseLocator('edX', 'DemoX', 'Demo_Course', None, None)}. Response was: None
2018-02-17 00:07:56,174 INFO 20 [xmodule.modulestore.django] django.py:207 - Sent course_published signal to <function _listen_for_course_publish at 0x7f9c4c7fda28> with kwargs {'course_key': CourseLocator('edX', 'DemoX', 'Demo_Course', None, None)}. Response was: None
2018-02-17 00:07:56,175 INFO 20 [xmodule.modulestore.django] django.py:207 - Sent course_published signal to <function trigger_update_xblocks_cache_task at 0x7f9c4c7fdb18> with kwargs {'course_key': CourseLocator('edX', 'DemoX', 'Demo_Course', None, None)}. Response was: None
2018-02-17 00:07:56,176 INFO 20 [xmodule.modulestore.django] django.py:207 - Sent course_published signal to <function _listen_for_course_publish at 0x7f9c4c7fd8c0> with kwargs {'course_key': CourseLocator('edX', 'DemoX', 'Demo_Course', None, None)}. Response was: None
2018-02-17 00:07:56,188 WARNING 20 [xmodule.modulestore.xml] xml.py:233 - i4x://edX/DemoX/problem/Sample_ChemFormula_Problem has more than one definition
2018-02-17 00:07:56,189 WARNING 20 [root] mixins.py:522 - XBlock <class 'xblock.internal.DiscussionXBlockWithMixins'> does not contain field url_name
2018-02-17 00:07:56,194 WARNING 20 [xmodule.modulestore.xml] xml.py:233 - i4x://edX/DemoX/discussion/4d672c5893cb4f1dad0de67d2008522e has more than one definition
2018-02-17 00:07:56,299 WARNING 20 [root] mixins.py:522 - XBlock <class 'xblock.internal.DiscussionXBlockWithMixins'> does not contain field url_name
2018-02-17 00:07:56,314 WARNING 20 [xmodule.modulestore.xml] xml.py:233 - i4x://edX/DemoX/html/d45779ad3d024a40a09ad8cc317c0970 has more than one definition
2018-02-17 00:07:56,321 WARNING 20 [xmodule.modulestore.xml] xml.py:233 - i4x://edX/DemoX/html/55cbc99f262443d886a25cf84594eafb has more than one definition
2018-02-17 00:07:56,322 WARNING 20 [root] mixins.py:522 - XBlock <class 'xblock.internal.DiscussionXBlockWithMixins'> does not contain field url_name
2018-02-17 00:07:56,328 WARNING 20 [xmodule.modulestore.xml] xml.py:233 - i4x://edX/DemoX/discussion/ade92343df3d4953a40ab3adc8805390 has more than one definition
2018-02-17 00:07:56,336 WARNING 20 [xmodule.modulestore.xml] xml.py:233 - i4x://edX/DemoX/html/ed5dccf14ae94353961f46fa07217491 has more than one definition
2018-02-17 00:07:56,339 ERROR 20 [xmodule.vertical_block] vertical_block.py:131 - Unable to load child when parsing Vertical. Continuing...
Traceback (most recent call last):
File "/openedx/edx-platform/common/lib/xmodule/xmodule/vertical_block.py", line 128, in definition_from_xml
child_block = system.process_xml(etree.tostring(child, encoding='unicode'))
File "/openedx/edx-platform/common/lib/xmodule/xmodule/modulestore/xml.py", line 196, in process_xml
id_manager,
File "/openedx/edx-platform/common/lib/xmodule/xmodule/x_module.py", line 1601, in xblock_from_node
self._convert_reference_fields_to_keys(block) # difference from XBlock.runtime
File "/openedx/edx-platform/common/lib/xmodule/xmodule/x_module.py", line 1645, in _convert_reference_fields_to_keys
field_value = getattr(xblock, field.name)
File "/usr/local/lib/python2.7/dist-packages/xblock/fields.py", line 513, in __get__
value = self.from_json(field_data.get(xblock, self.name))
File "/usr/local/lib/python2.7/dist-packages/xblock/fields.py", line 819, in from_json
raise TypeError('Value stored in a List must be None or a list, found %s' % type(value))
TypeError: Value stored in a List must be None or a list, found <type 'str'>
2018-02-17 00:07:56,341 WARNING 20 [root] mixins.py:522 - XBlock <class 'xblock.internal.DiscussionXBlockWithMixins'> does not contain field url_name
2018-02-17 00:07:56,346 WARNING 20 [xmodule.modulestore.xml] xml.py:233 - i4x://edX/DemoX/discussion/9f9e1373cc8243b985c8750cc8acec7d has more than one definition
2018-02-17 00:07:56,355 WARNING 20 [xmodule.modulestore.xml] xml.py:233 - i4x://edX/DemoX/html/030e35c4756a4ddc8d40b95fbbfff4d4 has more than one definition
2018-02-17 00:07:56,360 WARNING 20 [xmodule.modulestore.xml] xml.py:233 - i4x://edX/DemoX/video/0b9e39477cf34507a7a48f74be381fdd has more than one definition
2018-02-17 00:07:56,371 WARNING 20 [xmodule.modulestore.xml] xml.py:233 - i4x://edX/DemoX/html/78e3719e864e45f3bee938461f3c3de6 has more than one definition
2018-02-17 00:07:56,377 WARNING 20 [xmodule.modulestore.xml] xml.py:233 - i4x://edX/DemoX/problem/700x_proteinmake has more than one definition
2018-02-17 00:07:56,379 WARNING 20 [root] mixins.py:522 - XBlock <class 'xblock.internal.DiscussionXBlockWithMixins'> does not contain field url_name
2018-02-17 00:07:56,384 WARNING 20 [xmodule.modulestore.xml] xml.py:233 - i4x://edX/DemoX/discussion/ed01bcd164e64038a78964a16eac3edc has more than one definition
2018-02-17 00:07:56,397 WARNING 20 [xmodule.modulestore.xml] xml.py:169 - Non-unique url_name in xml. This may break state tracking for content. url_name=Video_Demonstrations. Content=<vertical display_name="Video Demonstrations" parent_sequential_url="i4x://edX/DemoX/sequential/19a3
2018-02-17 00:07:56,433 WARNING 20 [xmodule.modulestore.xml] xml.py:233 - i4x://edX/DemoX/html/Lab_5B_Mosfet_Amplifier_Experiment has more than one definition
2018-02-17 00:07:56,434 WARNING 20 [root] mixins.py:522 - XBlock <class 'xblock.internal.DiscussionXBlockWithMixins'> does not contain field url_name
2018-02-17 00:07:56,439 WARNING 20 [xmodule.modulestore.xml] xml.py:233 - i4x://edX/DemoX/discussion/03f051f9a8814881a3783d2511613aa6 has more than one definition
2018-02-17 00:07:56,443 WARNING 20 [xmodule.modulestore.xml] xml.py:169 - Non-unique url_name in xml. This may break state tracking for content. url_name=New_Unit. Content=<vertical display_name="New Unit" parent_sequential_url="i4x://edX/DemoX/sequential/simulations" ind
2018-02-17 00:07:56,474 WARNING 20 [xmodule.modulestore.xml] xml.py:233 - i4x://edX/DemoX/html/2b94658d2eee4d85ae13f83bc24cfca9 has more than one definition
2018-02-17 00:07:56,479 WARNING 20 [xmodule.modulestore.xml] xml.py:233 - i4x://edX/DemoX/problem/700x_editmolB has more than one definition
2018-02-17 00:07:56,481 WARNING 20 [root] mixins.py:522 - XBlock <class 'xblock.internal.DiscussionXBlockWithMixins'> does not contain field url_name
2018-02-17 00:07:56,485 WARNING 20 [xmodule.modulestore.xml] xml.py:233 - i4x://edX/DemoX/discussion/0aa7a3bdbe18427795b0c1a1d7c3cb9a has more than one definition
2018-02-17 00:07:56,498 WARNING 20 [xmodule.modulestore.xml] xml.py:233 - i4x://edX/DemoX/openassessment/b24c33ea35954c7889e1d2944d3fe397 has more than one definition
2018-02-17 00:07:56,499 WARNING 20 [root] mixins.py:522 - XBlock <class 'xblock.internal.DiscussionXBlockWithMixins'> does not contain field url_name
2018-02-17 00:07:56,505 WARNING 20 [xmodule.modulestore.xml] xml.py:233 - i4x://edX/DemoX/discussion/12ad4f3ff4c14114a6e629b00e000976 has more than one definition
2018-02-17 00:07:57,095 INFO 20 [openedx.core.djangoapps.content.course_overviews.models] models.py:147 - Updating course overview for course-v1:edX+DemoX+Demo_Course.
2018-02-17 00:07:57,132 INFO 20 [xmodule.modulestore.django] django.py:207 - Sent course_published signal to <function listen_for_course_publish at 0x7f9c67a3f410> with kwargs {'course_key': CourseLocator('edX', 'DemoX', 'Demo_Course', None, None)}. Response was: None
2018-02-17 00:07:57,134 INFO 20 [xmodule.modulestore.django] django.py:207 - Sent course_published signal to <function listen_for_course_publish at 0x7f9c4c9adaa0> with kwargs {'course_key': CourseLocator('edX', 'DemoX', 'Demo_Course', None, None)}. Response was: None
2018-02-17 00:07:57,135 INFO 20 [xmodule.modulestore.django] django.py:207 - Sent course_published signal to <function _update_block_structure_on_course_publish at 0x7f9c4c9b36e0> with kwargs {'course_key': CourseLocator('edX', 'DemoX', 'Demo_Course', None, None)}. Response was: None
2018-02-17 00:07:57,136 INFO 20 [xmodule.modulestore.django] django.py:207 - Sent course_published signal to <function _listen_for_course_publish at 0x7f9c4c7fd578> with kwargs {'course_key': CourseLocator('edX', 'DemoX', 'Demo_Course', None, None)}. Response was: None
2018-02-17 00:07:57,138 INFO 20 [xmodule.modulestore.django] django.py:207 - Sent course_published signal to <function _listen_for_course_publish at 0x7f9c4c7fda28> with kwargs {'course_key': CourseLocator('edX', 'DemoX', 'Demo_Course', None, None)}. Response was: None
2018-02-17 00:07:57,139 INFO 20 [xmodule.modulestore.django] django.py:207 - Sent course_published signal to <function trigger_update_xblocks_cache_task at 0x7f9c4c7fdb18> with kwargs {'course_key': CourseLocator('edX', 'DemoX', 'Demo_Course', None, None)}. Response was: None
2018-02-17 00:07:57,141 INFO 20 [xmodule.modulestore.django] django.py:207 - Sent course_published signal to <function _listen_for_course_publish at 0x7f9c4c7fd8c0> with kwargs {'course_key': CourseLocator('edX', 'DemoX', 'Demo_Course', None, None)}. Response was: None
Seeding forum roles for course course-v1:edX+DemoX+Demo_Course
I was thinking how we can update your implementation to provide such an option.
How do you think this can be done? Happy to explore and contribute if you can provide some general directions.
LX-MacBook-Pro:openedx-docker lx$ make all
docker run --rm -it --volume="/Users/liuxin/Documents/Github/openedx-docker/config:/openedx/config" \
-e USERID=$(id -u) -e SILENT= -e ACTIVATE_HTTPS= -e ACTIVATE_XQUEUE= \
regis/openedx-configurator
creating new user 'openedx' with UID 501
====================================
Interactive configuration
====================================
Your website domain name for students (LMS). (default: "www.elearning.cn"):
Your website domain name for teachers (CMS). (default: "course.elearning.cn"):
Platform name/title (default: "Elearning"):
Configuration values were saved to /openedx/config/config.json
Generated file ./config/openedx/lms.env.json from template ./config/openedx/templates/lms.env.json.templ
Generated file ./config/openedx/cms.env.json from template ./config/openedx/templates/cms.env.json.templ
Generated file ./config/openedx/lms.auth.json from template ./config/openedx/templates/lms.auth.json.templ
Generated file ./config/openedx/cms.auth.json from template ./config/openedx/templates/cms.auth.json.templ
Generated file ./config/openedx/provision.sh from template ./config/openedx/templates/provision.sh.templ
Generated file ./config/xqueue/universal.py from template ./config/xqueue/templates/universal.py.templ
Generated file ./config/mysql/auth.env from template ./config/mysql/templates/auth.env.templ
Generated file ./config/nginx/lms.conf from template ./config/nginx/templates/lms.conf.templ
Generated file ./config/nginx/cms.conf from template ./config/nginx/templates/cms.conf.templ
Generated file ./config/android/universal.yaml from template ./config/android/templates/universal.yaml.templ
Generated file ./config/letsencrypt/certonly.sh from template ./config/letsencrypt/templates/certonly.sh.templ
docker-compose -f docker-compose.yml pull
Pulling mongodb ... done
Pulling smtp ... done
Pulling rabbitmq ... done
Pulling nginx ... done
Pulling elasticsearch ... done
Pulling forum ... done
Pulling mysql ... done
Pulling memcached ... done
Pulling lms ... done
Pulling lms_worker ... done
Pulling cms ... done
Pulling cms_worker ... done
docker pull regis/openedx-configurator:hawthorn
hawthorn: Pulling from regis/openedx-configurator
Digest: sha256:d2d6b00a08498feff7c16b00e2808ea18e41362afdd7435b82573f041dcee7b2
Status: Image is up to date for regis/openedx-configurator:hawthorn
docker-compose -f docker-compose.yml run --rm lms bash -c "dockerize -wait tcp://mysql:3306 -timeout 20s && bash /openedx/config/provision.sh"
Starting openedx-docker_rabbitmq_1 ... done
Starting openedx-docker_memcached_1 ... done
Starting openedx-docker_smtp_1 ... done
Starting openedx-docker_mongodb_1 ... done
Starting openedx-docker_forum_1 ... done
2018/08/24 05:07:46 Waiting for: tcp://mysql:3306
2018/08/24 05:07:46 Connected to tcp://mysql:3306
mysql: [Warning] Using a password on the command line interface can be insecure.
ERROR 1045 (28000): Access denied for user 'root'@'172.19.0.8' (using password: YES)
mysql: [Warning] Using a password on the command line interface can be insecure.
ERROR 1045 (28000): Access denied for user 'root'@'172.19.0.8' (using password: YES)
make: *** [provision] Error 1
Hi regisb, is there something i can try to fix it? Thanks.
The following addresses should be overridden:
DEFAULT_FROM_EMAIL = '[email protected]'
DEFAULT_FEEDBACK_EMAIL = '[email protected]'
SERVER_EMAIL = '[email protected]'
TECH_SUPPORT_EMAIL = '[email protected]'
CONTACT_EMAIL = '[email protected]'
BUGS_EMAIL = '[email protected]'
UNIVERSITY_EMAIL = '[email protected]'
PRESS_EMAIL = '[email protected]'
PAYMENT_SUPPORT_EMAIL = '[email protected]'
BULK_EMAIL_DEFAULT_FROM_EMAIL = '[email protected]'
API_ACCESS_MANAGER_EMAIL = '[email protected]'
API_ACCESS_FROM_EMAIL = '[email protected]'
"@example.com" should be replaced by the LMS host name.
Hi,
I just added a new library bcrypt by doing a pip install. I also included the dependency in edx-platform/requirements/edx/base.txt . After that I quit my terminal.
When i freshly tried to do a 'make cms' followed by ./manage.py cms runserver, it throws a dependency error. Of course if I do call pip install brcypt again, it works as a charm.
I understand that there is a platform/requirements/edx/development.txt , should i include the brcypt dependency there and run 'pip install -r requirements/edx/development.txt' everytime before i run the server . is base.txt only meant for production.
What i expected was that if i include the dependency in some txt file under requirements, I would not have to run pip install manually again.
With regards,
Shashi Kiran G M
Rather than commenting on the old issue #3, I'm creating a new one since this seems to be a different problem:
I've run make all
three times now, and every time, this process gets killed before it has time to finish. ./manage.py lms --settings=production migrate
2018-02-12 23:18:58,366 INFO 121 [dd.dogapi] dog_stats_api.py:66 - Initializing dog api to use statsd: localhost, 8125
Operations to perform:
Synchronize unmigrated apps: eventtracking_django, gating, links, webpack_loader, course_structure_api, release_util, discussion_api, learner_dashboard, edxnotes, django_sites_extensions, auth_exchange, service_status, web_fragments, coursegraph, sekizai, rest_framework, edxmako, openassessment, datadog, staticbook, common_views, course_wiki, edx_sga, support, enterprise_support, django_object_actions, django_countries, humanize, course_blocks, provider, notification_prefs, thumbnail, xblock, course_experience, mptt, notifier_api, staticfiles, markdownedx, fileupload, plugin_api, course_search, edx_jsme, monitoring, instructor, static_template_view, corsheaders, statici18n, pipeline, simple_history, enrollment, messages, config_models, django_extensions, dashboard, django_nose, debug, mailing, discussion, course_bookmarks
Apply all migrations: wiki, status, dark_lang, student, video_config, branding, user_api, django_comment_common, redirects, course_overviews, sites, experiments, grades, crawlers, lms_xblock, rss_proxy, bookmarks, waffle_utils, mobile_api, badges, course_groups, database_fixups, integrated_channel, course_modes, sessions, verified_track_content, shoppingcart, block_structure, external_auth, track, contenttypes, splash, workflow, certificates, static_replace, third_party_auth, assessment, sap_success_factors, submissions, oauth_dispatch, oauth2_provider, theming, instructor_task, organizations, edx_oauth2_provider, microsite_configuration, django_notify, celery_utils, api_admin, auth, util, verify_student, catalog, oauth2, site_configuration, social_django, credentials, email_marketing, contentserver, waffle, xblock_django, embargo, commerce, milestones, course_action_state, edx_proctoring, admin, oauth_provider, courseware, programs, djcelery, edxval, teams, credit, django_openid_auth, bulk_email, survey, course_structures, enterprise, cors_csrf, notes, self_paced
Synchronizing apps without migrations:
Creating tables...
Running deferred SQL...
Installing custom SQL...
Running migrations:
Rendering model states...bash: line 1: 121 Killed ./manage.py lms --settings=production migrate
make: *** [migrate] Error 137
Hi, I cannot seem to get past make all...
----------------------------------------------
root@foobar:~/openedx-docker# make all
./configure
/usr/bin/env: ‘python’: No such file or directory
Makefile:19: recipe for target 'configure' failed
make: *** [configure] Error 127
----------------------------------------------
Running a fresh install of Ubuntu 16.04.4 x64 on Digital Ocean. Docker and Python 3 installed. Suggestions? much appreciated.
When I try to export a course, I get this error. I'm guessing this is because the directory /openedx/data/uploads/user_tasks
has not been created?
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py", line 132, in get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/usr/local/lib/python2.7/dist-packages/django/views/decorators/http.py", line 45, in inner
return func(request, *args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/django/utils/decorators.py", line 110, in _wrapped_view
response = view_func(request, *args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/django/contrib/auth/decorators.py", line 22, in _wrapped_view
return view_func(request, *args, **kwargs)
File "/openedx/edx-platform/common/djangoapps/util/views.py", line 49, in inner
response = view_func(request, *args, **kwargs)
File "/openedx/edx-platform/cms/djangoapps/contentstore/views/import_export.py", line 426, in export_output_handler
tarball = course_import_export_storage.open(artifact.file.name)
File "/usr/local/lib/python2.7/dist-packages/django/core/files/storage.py", line 37, in open
return self._open(name, mode)
File "/usr/local/lib/python2.7/dist-packages/django/core/files/storage.py", line 201, in _open
return File(open(self.path(name), mode))
IOError: [Errno 2] No such file or directory: u'/openedx/data/uploads/user_tasks/2018/03/22/course.QQQZen.tar.gz'
2018-03-22 00:48:17,688 ERROR 1485 [django.request] base.py:256 - Internal Server Error: /export_output/course-v1:Appsembler+OS101+2018_Winter
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py", line 132, in get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/usr/local/lib/python2.7/dist-packages/django/views/decorators/http.py", line 45, in inner
return func(request, *args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/django/utils/decorators.py", line 110, in _wrapped_view
response = view_func(request, *args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/django/contrib/auth/decorators.py", line 22, in _wrapped_view
return view_func(request, *args, **kwargs)
File "/openedx/edx-platform/common/djangoapps/util/views.py", line 49, in inner
response = view_func(request, *args, **kwargs)
File "/openedx/edx-platform/cms/djangoapps/contentstore/views/import_export.py", line 426, in export_output_handler
tarball = course_import_export_storage.open(artifact.file.name)
File "/usr/local/lib/python2.7/dist-packages/django/core/files/storage.py", line 37, in open
return self._open(name, mode)
File "/usr/local/lib/python2.7/dist-packages/django/core/files/storage.py", line 201, in _open
return File(open(self.path(name), mode))
IOError: [Errno 2] No such file or directory: u'/openedx/data/uploads/user_tasks/2018/03/22/course.QQQZen.tar.gz'
Unable to find image 'certbot_image:latest' locally
docker: Error response from daemon: pull access denied for certbot_image, repository does not exist or may require 'docker login'.
See 'docker run --help'.
Makefile:98: recipe for target 'https-certificate' failed
make: *** [https-certificate] Error 125
I have been trying to deploy our stack on a Ubuntu machine on the cloud. When I try to issue a make migrate command i get the following error:
docker-compose run --rm -e USERID="$(id -u)" -p 8000:8000 lms bash -c "wait-for-greenlight.sh && ./manage.py lms migrate"
Starting openedxdocker_rabbitmq_1 ...
Starting openedxdocker_smtp_1 ... done
Starting openedxdocker_mongodb_1 ... done
Starting openedxdocker_memcached_1 ... done
creating new user 'openedx' with UID 0
useradd: UID 0 is not unique
Makefile:25: recipe for target 'migrate' failed
make: *** [migrate] Error 4
Any help would be much appreciated.
With Regards,
Shashi Kiran G M
I've made a command sudo make all
And get this:
docker run --rm -it --volume="/config:/openedx/config" \
-e USERID=$(id -u) -e SILENT= -e ACTIVATE_HTTPS= -e ACTIVATE_XQUEUE= \
regis/openedx-configurator
====================================
Interactive configuration
====================================
Your website domain name for students (LMS). (default: "www.myopenedx.com"):
Your website domain name for teachers (CMS). (default: "studio.myopenedx.com"):
Platform name/title (default: "My Open edX"):
Configuration values were saved to /openedx/config/config.json
Traceback (most recent call last):
File "./configure.py", line 156, in <module>
main()
File "./configure.py", line 77, in main
args.func(args)
File "./configure.py", line 135, in substitute
with codecs.open(args.src, encoding='utf-8') as fi:
File "/usr/lib/python3.6/codecs.py", line 897, in open
file = builtins.open(filename, mode, buffering)
FileNotFoundError: [Errno 2] No such file or directory: './config/openedx/templates/lms.env.json.templ'
Makefile:32: recipe for target 'configure' failed
make: *** [configure] Error 1
What the problem? And actually ./config/openedx/templates/lms.env.json.templ'
is exist and it's on it place.
After doing make all command, installation process has finished but I could not connect to the domain name i provided. I did make lms to open the shell. I did paver update_assets lms --settings=universal.development
./manage.py lms runserver 0.0.0.0:8000 everything seems okay however when I write http://0.0.0.0:8000/, I get bad request.
Output of terminal :
2018-06-02 19:50:11,754 INFO 970 [dd.dogapi] dog_stats_api.py:66 - Initializing dog api to use statsd: localhost, 8125
Performing system checks...
System check identified no issues (0 silenced).
June 02, 2018 - 19:50:14
Django version 1.8.18, using settings 'lms.envs.universal.production'
Starting development server at http://0.0.0.0:8000/
Quit the server with CONTROL-C.
[02/Jun/2018 19:51:21] "GET / HTTP/1.1" 400 26
[02/Jun/2018 19:51:21] "GET /favicon.ico HTTP/1.1" 400 26
[02/Jun/2018 19:51:23] "GET / HTTP/1.1" 400 26
[02/Jun/2018 19:51:23] "GET /favicon.ico HTTP/1.1" 400 26
[02/Jun/2018 19:51:35] "GET /courses HTTP/1.1" 400 26
[02/Jun/2018 19:51:35] "GET /favicon.ico HTTP/1.1" 400 26
[02/Jun/2018 19:59:46] "GET / HTTP/1.1" 400 26
[02/Jun/2018 19:59:46] "GET /favicon.ico HTTP/1.1" 400 26
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.