openedx-unsupported / devstack Goto Github PK
View Code? Open in Web Editor NEWGet up and running quickly to develop or extend Open edX services
License: GNU Affero General Public License v3.0
Get up and running quickly to develop or extend Open edX services
License: GNU Affero General Public License v3.0
Working with nginx poses problems for dealing with static files compiled via webpack since the webpack watcher needs to run, and assets collected in /edx/var/<app>/staticfiles
. I found it simple to modify the command in docker-compose.yml
to bypass nginx, and run make static.watch
in a separate shell.
bash -c 'source /edx/app/credentials/credentials_env && cd /edx/app/credentials/credentials && make production-requirements && ./manage.py runserver 0.0.0.0:18150'
This is not ideal. The images should support reloading static assets on subsequent requests by default. I believe @gsong works around this by having a separate container run the equivalent of make static.watch
.
requirements are not installed needed to run make static.
We should also run make static by default during provision.
During provisioning, we run into the following issue:
Traceback (most recent call last): File "manage.py", line 112, in startup.run() File "/edx/app/edxapp/edx-platform/lms/startup.py", line 52, in run django.setup() File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/__init__.py", lin e 18, in setup apps.populate(settings.INSTALLED_APPS) File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/apps/registry.py" , line 115, in populate app_config.ready() File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/contrib/admin/app s.py", line 22, in ready self.module.autodiscover() File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/contrib/admin/__i nit__.py", line 24, in autodiscover autodiscover_modules('admin', register_to=site) File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/utils/module_load ing.py", line 74, in autodiscover_modules import_module('%s.%s' % (app_config.name, module_to_search)) File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module __import__(name) File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/enterprise/admin/__init_ _.py", line 14, in from django_object_actions import DjangoObjectActions ImportError: No module named django_object_actions
There is a PR in progress to fix this issue: edx/edx-platform#15582.
When debugging with PyCharm, PyCharm complains about Cython missing:
warning: Debugger speedups using cython not found. Run '"/edx/app/credentials/venvs/credentials/bin/python" "/opt/.pycharm_helpers/pydev/setup_cython.py" build_ext --inplace' to build.
Install this in the images so we can take advantage of it.
The edX services are compiling assets and running migrations at startup. Asset compilation can be quite slow for some services, and is not required every time the service starts. Remove these commands from startup. Inform users how to run them manually, if necessary.
Django based services do not shut down cleanly.
$ time docker-compose stop studio && docker-compose ps
Stopping edx.devstack.studio ... done
real 0m12.082s
user 0m0.939s
sys 0m0.214s
Name Command State Ports
------------------------------------------------------------------------------------------------------------
edx.devstack.credentials bash -c source /edx/app/cr ... Up 0.0.0.0:18150->18150/tcp
edx.devstack.discovery bash -c source /edx/app/di ... Up 0.0.0.0:18381->18381/tcp
edx.devstack.ecommerce bash -c source /edx/app/ec ... Up 0.0.0.0:18130->18130/tcp
edx.devstack.elasticsearch /docker-entrypoint.sh elas ... Up 9200/tcp, 9300/tcp
edx.devstack.lms bash -c source /edx/app/ed ... Up 0.0.0.0:18000->18000/tcp, 18010/tcp
edx.devstack.memcached /entrypoint.sh memcached Up 11211/tcp
edx.devstack.mongo docker-entrypoint.sh mongo ... Up 27017/tcp
edx.devstack.mysql docker-entrypoint.sh mysql ... Up 3306/tcp
edx.devstack.studio bash -c source /edx/app/ed ... Exit 137
By comparison:
$ time docker-compose stop django2 && docker-compose ps
Stopping django2 ... done
real 0m1.799s
user 0m0.603s
sys 0m0.138s
Name Command State Ports
-------------------------------------------------------------------------------------
db docker-entrypoint.sh postgres Up 5432/tcp
django1 /tini -- bin/app-command.sh Up 0.0.0.0:8100->8100/tcp
api ssh -NTCg -o ServerAliveIn ... Up
django2 /tini -- bin/app-command.sh Exit 0
If the studio
service stopped properly, it should have an exit status of 0, not 137.
It also shouldn't take 12 seconds to stop a container. This indicates that docker stop
was not able to gracefully shut down the container within the default 10 second grace period and docker kill
the container instead.
We should leverage the existing ansible role to create the 3 demo courses like when creating the vagrant based devstack
Explain how PyCharm users can setup a remote interpreter with Docker Compose.
Acceptance Criteria
Useful Links
unix:///var/run/docker.sock
)nginx is causing problems because is not letting me update CSS on the fly.
Thanks!
Roderick
These tests open and run in a Firefox browser. When run within a container, they just hang waiting for the browser to open, which never happens.
I am unable to run the E-Commerce Service's acceptance tests. There are issues with geckodriver
not being on the PATH
and Firefox not being installed.
Hi there,
Awesome to see that there's docker based devstack!
After running make devstack.provision
there are a few errors in the run (details below) but the script completes with a green Provisioning complete!
.
When connecting to port 18000 the following error shows up in the browser.
OperationalError at /
(1054, "Unknown column 'course_overviews_courseoverview.marketing_url' in 'field list'")
It seems that the problem is the import of the demo course:
TASK [demo : import demo course] ***********************************************
OK
Applying publisher.0003_auto_20160801_1757... OK
Applying publisher.0004_auto_20160810_0854... OK
Applying publisher.0005_auto_20160901_0003... OK
Applying publisher.0006_auto_20160902_0726... OK
Applying publisher.0007_auto_20160905_1020... OK
Applying publisher.0008_auto_20160928_1015... OK
Applying publisher.0009_auto_20160929_1927... OK
Applying publisher.0010_auto_20161006_1151... OK
Applying publisher.0011_userattributes... OK
Applying publisher.0012_auto_20161020_0718... OK
Applying publisher.0013_create_enable_email_notifications_switch... OK
Applying publisher.0014_create_admin_group... OK
Applying publisher.0015_auto_20161117_1210... OK
Applying publisher.0016_auto_20161129_0910... OK
Applying publisher.0017_auto_20161201_1501... OK
Applying publisher.0018_create_internal_user_group... OK
Applying publisher.0019_create_user_groups... OK
Applying publisher.0020_auto_20161214_1304... OK
Applying publisher.0021_auto_20161214_1356... OK
Applying publisher.0022_auto_20161222_2135... OK
Applying publisher.0023_auto_20161228_1350... OK
Applying publisher.0024_auto_20170105_1626... OK
Applying publisher.0025_auto_20170106_1830...changed: [127.0.0.1] => {"changed": true, "cmd": "/edx/app/edxapp/venvs/edxapp/bin/python ./manage.py cms --settings=devstack_docker import /edx/var/edxapp/data /edx/app/demo/edx-demo-course", "delta": "0:00:36.038284", "end": "2017-03-27 13:39:51.407680", "rc": 0, "start": "2017-03-27 13:39:15.369396", "stderr": "/edx/app/edxapp/edx-platform/openedx/core/djangoapps/crawlers/models.py:10: RemovedInDjango19Warning: Model class openedx.core.djangoapps.crawlers.models.CrawlersConfig 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.\n class CrawlersConfig(ConfigurationModel):\n\n2017-03-27 09:39:22,489 WARNING 2338 [py.warnings] base.py:116 - /edx/app/edxapp/edx-platform/openedx/core/djangoapps/crawlers/models.py:10: RemovedInDjango19Warning: Model class openedx.core.djangoapps.crawlers.models.CrawlersConfig 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.\n class CrawlersConfig(ConfigurationModel):\n\n/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/social/apps/django_app/default/models.py:68: RemovedInDjango19Warning: Model class social.apps.django_app.default.models.UserSocialAuth 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.\n class UserSocialAuth(AbstractUserSocialAuth):\n\n2017-03-27 09:39:24,083 WARNING 2338 [py.warnings] base.py:116 - /edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/social/apps/django_app/default/models.py:68: RemovedInDjango19Warning: Model class social.apps.django_app.default.models.UserSocialAuth 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.\n class UserSocialAuth(AbstractUserSocialAuth):\n\n/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/social/apps/django_app/default/models.py:77: RemovedInDjango19Warning: Model class social.apps.django_app.default.models.Nonce 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.\n class Nonce(models.Model, DjangoNonceMixin):\n\n2017-03-27 09:39:24,086 WARNING 2338 [py.warnings] base.py:116 - /edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/social/apps/django_app/default/models.py:77: RemovedInDjango19Warning: Model class social.apps.django_app.default.models.Nonce 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.\n class Nonce(models.Model, DjangoNonceMixin):\n\n/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/social/apps/django_app/default/models.py:88: RemovedInDjango19Warning: Model class social.apps.django_app.default.models.Association 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.\n class Association(models.Model, DjangoAssociationMixin):\n\n2017-03-27 09:39:24,088 WARNING 2338 [py.warnings] base.py:116 - /edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/social/apps/django_app/default/models.py:88: RemovedInDjango19Warning: Model class social.apps.django_app.default.models.Association 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.\n class Association(models.Model, DjangoAssociationMixin):\n\n/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/social/apps/django_app/default/models.py:104: RemovedInDjango19Warning: Model class social.apps.django_app.default.models.Code 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.\n class Code(models.Model, DjangoCodeMixin):\n\n2017-03-27 09:39:24,091 WARNING 2338 [py.warnings] base.py:116 - /edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/social/apps/django_app/default/models.py:104: RemovedInDjango19Warning: Model class social.apps.django_app.default.models.Code 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.\n class Code(models.Model, DjangoCodeMixin):\n\n/edx/app/edxapp/edx-platform/openedx/core/djangoapps/programs/models.py:10: RemovedInDjango19Warning: Model class openedx.core.djangoapps.programs.models.ProgramsApiConfig 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.\n class ProgramsApiConfig(ConfigurationModel):\n\n2017-03-27 09:39:24,294 WARNING 2338 [py.warnings] base.py:116 - /edx/app/edxapp/edx-platform/openedx/core/djangoapps/programs/models.py:10: RemovedInDjango19Warning: Model class openedx.core.djangoapps.programs.models.ProgramsApiConfig 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.\n class ProgramsApiConfig(ConfigurationModel):\n\n2017-03-27 09:39:24,856 WARNING 2338 [root] mixins.py:519 - XBlock <class 'xblock.internal.DiscussionXBlockWithMixins'> does not contain field url_name\n2017-03-27 09:39:24,891 WARNING 2338 [root] mixins.py:519 - XBlock <class 'xblock.internal.DiscussionXBlockWithMixins'> does not contain field url_name\n2017-03-27 09:39:24,917 ERROR 2338 [xmodule.vertical_block] vertical_block.py:129 - Unable to load child when parsing Vertical. Continuing...\nTraceback (most recent call last):\n File \"/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/vertical_block.py\", line 126, in definition_from_xml\n child_block = system.process_xml(etree.tostring(child, encoding='unicode'))\n File \"/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/modulestore/xml.py\", line 196, in process_xml\n id_manager,\n File \"/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/x_module.py\", line 1601, in xblock_from_node\n self._convert_reference_fields_to_keys(block) # difference from XBlock.runtime\n File \"/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/x_module.py\", line 1645, in _convert_reference_fields_to_keys\n field_value = getattr(xblock, field.name)\n File \"/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/xblock/fields.py\", line 507, in __get__\n value = self.from_json(field_data.get(xblock, self.name))\n File \"/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/xblock/fields.py\", line 796, in from_json\n raise TypeError('Value stored in a List must be None or a list, found %s' % type(value))\nTypeError: Value stored in a List must be None or a list, found <type 'str'>\n2017-03-27 09:39:24,919 WARNING 2338 [root] mixins.py:519 - XBlock <class 'xblock.internal.DiscussionXBlockWithMixins'> does not contain field url_name\n2017-03-27 09:39:24,952 WARNING 2338 [root] mixins.py:519 - XBlock <class 'xblock.internal.DiscussionXBlockWithMixins'> does not contain field url_name\n2017-03-27 09:39:24,985 WARNING 2338 [root] mixins.py:519 - XBlock <class 'xblock.internal.DiscussionXBlockWithMixins'> does not contain field url_name\n2017-03-27 09:39:25,052 WARNING 2338 [root] mixins.py:519 - XBlock <class 'xblock.internal.DiscussionXBlockWithMixins'> does not contain field url_name\n2017-03-27 09:39:25,087 WARNING 2338 [root] mixins.py:519 - XBlock <class 'xblock.internal.DiscussionXBlockWithMixins'> does not contain field url_name\n2017-03-27 09:39:25,113 WARNING 2338 [root] mixins.py:519 - XBlock <class 'xblock.internal.DiscussionXBlockWithMixins'> does not contain field url_name\n2017-03-27 09:39:25,141 WARNING 2338 [root] mixins.py:519 - XBlock <class 'xblock.internal.DiscussionXBlockWithMixins'> does not contain field url_name\n2017-03-27 09:39:25,167 WARNING 2338 [root] mixins.py:519 - XBlock <class 'xblock.internal.DiscussionXBlockWithMixins'> does not contain field url_name\n2017-03-27 09:39:25,192 WARNING 2338 [root] mixins.py:519 - XBlock <class 'xblock.internal.DiscussionXBlockWithMixins'> does not contain field url_name\n2017-03-27 09:39:25,219 WARNING 2338 [root] mixins.py:519 - XBlock <class 'xblock.internal.DiscussionXBlockWithMixins'> does not contain field url_name\n2017-03-27 09:39:25,244 WARNING 2338 [root] mixins.py:519 - XBlock <class 'xblock.internal.DiscussionXBlockWithMixins'> does not contain field url_name\n2017-03-27 09:39:25,621 WARNING 2338 [root] mixins.py:519 - XBlock <class 'xblock.internal.DiscussionXBlockWithMixins'> does not contain field url_name\n2017-03-27 09:39:25,648 WARNING 2338 [root] mixins.py:519 - XBlock <class 'xblock.internal.DiscussionXBlockWithMixins'> does not contain field url_name\n2017-03-27 09:39:25,682 WARNING 2338 [root] mixins.py:519 - XBlock <class 'xblock.internal.DiscussionXBlockWithMixins'> does not contain field url_name\n2017-03-27 09:39:25,773 WARNING 2338 [root] mixins.py:519 - XBlock <class 'xblock.internal.DiscussionXBlockWithMixins'> does not contain field url_name\n2017-03-27 09:39:25,816 WARNING 2338 [root] mixins.py:519 - XBlock <class 'xblock.internal.DiscussionXBlockWithMixins'> does not contain field url_name\n2017-03-27 09:39:25,873 WARNING 2338 [root] mixins.py:519 - XBlock <class 'xblock.internal.DiscussionXBlockWithMixins'> does not contain field url_name\n2017-03-27 09:39:25,907 WARNING 2338 [root] mixins.py:519 - XBlock <class 'xblock.internal.DiscussionXBlockWithMixins'> does not contain field url_name\n2017-03-27 09:39:26,699 WARNING 2338 [root] mixins.py:519 - XBlock <class 'xblock.internal.DiscussionXBlockWithMixins'> does not contain field url_name\n2017-03-27 09:39:26,757 WARNING 2338 [root] mixins.py:519 - XBlock <class 'xblock.internal.DiscussionXBlockWithMixins'> does not contain field url_name\n2017-03-27 09:39:26,837 WARNING 2338 [root] mixins.py:519 - XBlock <class 'xblock.internal.DiscussionXBlockWithMixins'> does not contain field url_name\n2017-03-27 09:39:26,894 WARNING 2338 [root] mixins.py:519 - XBlock <class 'xblock.internal.DiscussionXBlockWithMixins'> does not contain field url_name\n2017-03-27 09:39:26,920 WARNING 2338 [root] mixins.py:519 - XBlock <class 'xblock.internal.DiscussionXBlockWithMixins'> does not contain field url_name\n2017-03-27 09:39:26,945 WARNING 2338 [root] mixins.py:519 - XBlock <class 'xblock.internal.DiscussionXBlockWithMixins'> does not contain field url_name\n2017-03-27 09:39:26,980 WARNING 2338 [root] mixins.py:519 - XBlock <class 'xblock.internal.DiscussionXBlockWithMixins'> does not contain field url_name\n2017-03-27 09:39:27,005 WARNING 2338 [root] mixins.py:519 - XBlock <class 'xblock.internal.DiscussionXBlockWithMixins'> does not contain field url_name\n2017-03-27 09:39:27,032 WARNING 2338 [root] mixins.py:519 - XBlock <class 'xblock.internal.DiscussionXBlockWithMixins'> does not contain field url_name\n2017-03-27 09:39:27,056 WARNING 2338 [root] mixins.py:519 - XBlock <class 'xblock.internal.DiscussionXBlockWithMixins'> does not contain field url_name\n2017-03-27 09:39:27,354 INFO 2338 [xmodule.modulestore.django] django.py:207 - Sent pre_publish signal to <function on_pre_publish at 0x7fa41fbdbed8> with kwargs {'course_key': CourseLocator('edX', 'DemoX', 'Demo_Course', None, None)}. Response was: None\n2017-03-27 09:39:27,863 ERROR 2338 [edx.celery.task] tasks.py:71 - update_course_in_cache encountered unknown error. Retry #0\nTraceback (most recent call last):\n File \"/edx/app/edxapp/edx-platform/openedx/core/djangoapps/content/block_structure/tasks.py\", line 54, in _call_and_retry_if_needed\n api_method(course_key)\n File \"/edx/app/edxapp/edx-platform/openedx/core/djangoapps/content/block_structure/api.py\", line 29, in update_course_in_cache\n return get_block_structure_manager(course_key).update_collected_if_needed()\n File \"/edx/app/edxapp/edx-platform/openedx/core/djangoapps/content/block_structure/manager.py\", line 115, in update_collected_if_needed\n self._update_collected()\n File \"/edx/app/edxapp/edx-platform/openedx/core/djangoapps/content/block_structure/manager.py\", line 128, in _update_collected\n self.store.add(block_structure)\n File \"/edx/app/edxapp/edx-platform/openedx/core/djangoapps/content/block_structure/store.py\", line 67, in add\n self._add_to_cache(serialized_data, bs_model)\n File \"/edx/app/edxapp/edx-platform/openedx/core/djangoapps/content/block_structure/store.py\", line 159, in _add_to_cache\n self._cache.set(cache_key, serialized_data, timeout=config.cache_timeout_in_seconds())\n File \"/edx/app/edxapp/edx-platform/common/djangoapps/request_cache/middleware.py\", line 96, in wrapper\n result = f(*args, **kwargs)\n File \"/edx/app/edxapp/edx-platform/openedx/core/djangoapps/content/block_structure/config/__init__.py\", line 39, in cache_timeout_in_seconds\n return BlockStructureConfiguration.current().cache_timeout_in_seconds\n File \"/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/config_models/models.py\", line 143, in current\n current = cls.objects.filter(**key_dict).order_by('-change_date')[0]\n File \"/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/db/models/query.py\", line 201, in __getitem__\n return list(qs)[0]\n File \"/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/db/models/query.py\", line 162, in __iter__\n self._fetch_all()\n File \"/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/db/models/query.py\", line 965, in _fetch_all\n self._result_cache = list(self.iterator())\n File \"/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/db/models/query.py\", line 238, in iterator\n results = compiler.execute_sql()\n File \"/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/db/models/sql/compiler.py\", line 840, in execute_sql\n cursor.execute(sql, params)\n File \"/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/db/backends/utils.py\", line 79, in execute\n return super(CursorDebugWrapper, self).execute(sql, params)\n File \"/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/db/backends/utils.py\", line 64, in execute\n return self.cursor.execute(sql, params)\n File \"/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/db/utils.py\", line 98, in __exit__\n six.reraise(dj_exc_type, dj_exc_value, traceback)\n File \"/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/db/backends/utils.py\", line 64, in execute\n return self.cursor.execute(sql, params)\n File \"/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/db/backends/mysql/base.py\", line 124, in execute\n return self.cursor.execute(query, args)\n File \"/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/MySQLdb/cursors.py\", line 205, in execute\n self.errorhandler(self, exc, value)\n File \"/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/MySQLdb/connections.py\", line 36, in defaulterrorhandler\n raise errorclass, errorvalue\nProgrammingError: (1146, \"Table 'edxapp.block_structure_config' doesn't exist\")\n2017-03-27 09:39:27,873 ERROR 2338 [edx.celery.task] tasks.py:71 - update_course_in_cache encountered unknown error. Retry #1\nTraceback (most recent call last):\n File \"/edx/app/edxapp/edx-platform/openedx/core/djangoapps/content/block_structure/tasks.py\", line 54, in _call_and_retry_if_needed\n api_method(course_key)\n File \"/edx/app/edxapp/edx-platform/openedx/core/djangoapps/content/block_structure/api.py\", line 29, in update_course_in_cache\n return get_block_structure_manager(course_key).update_collected_if_needed()\n File \"/edx/app/edxapp/edx-platform/openedx/core/djangoapps/content/block_structure/manager.py\", line 115, in update_collected_if_needed\n self._update_collected()\n File \"/edx/app/edxapp/edx-platform/openedx/core/djangoapps/content/block_structure/manager.py\", line 128, in _update_collected\n self.store.add(block_structure)\n File \"/edx/app/edxapp/edx-platform/openedx/core/djangoapps/content/block_structure/store.py\", line 67, in add\n self._add_to_cache(serialized_data, bs_model)\n File \"/edx/app/edxapp/edx-platform/openedx/core/djangoapps/content/block_structure/store.py\", line 159, in _add_to_cache\n self._cache.set(cache_key, serialized_data, timeout=config.cache_timeout_in_seconds())\n File \"/edx/app/edxapp/edx-platform/common/djangoapps/request_cache/middleware.py\", line 96, in wrapper\n result = f(*args, **kwargs)\n File \"/edx/app/edxapp/edx-platform/openedx/core/djangoapps/content/block_structure/config/__init__.py\", line 39, in cache_timeout_in_seconds\n return BlockStructureConfiguration.current().cache_timeout_in_seconds\n File \"/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/config_models/models.py\", line 143, in current\n current = cls.objects.filter(**key_dict).order_by('-change_date')[0]\n File \"/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/db/models/query.py\", line 201, in __getitem__\n return list(qs)[0]\n File \"/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/db/models/query.py\", line 162, in __iter__\n self._fetch_all()\n File \"/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/db/models/query.py\", line 965, in _fetch_all\n self._result_cache = list(self.iterator())\n File \"/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/db/models/query.py\", line 238, in iterator\n results = compiler.execute_sql()\n File \"/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/db/models/sql/compiler.py\", line 840, in execute_sql\n cursor.execute(sql, params)\n File \"/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/db/backends/utils.py\", line 79, in execute\n return super(CursorDebugWrapper, self).execute(sql, params)\n File \"/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/db/backends/utils.py\", line 64, in execute\n return self.cursor.execute(sql, params)\n File \"/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/db/utils.py\", line 98, in __exit__\n six.reraise(dj_exc_type, dj_exc_value, traceback)\n File \"/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/db/backends/utils.py\", line 64, in execute\n return self.cursor.execute(sql, params)\n File \"/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/db/backends/mysql/base.py\", line 124, in execute\n return self.cursor.execute(query, args)\n File \"/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/MySQLdb/cursors.py\", line 205, in execute\n self.errorhandler(self, exc, value)\n File \"/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/MySQLdb/connections.py\", line 36, in defaulterrorhandler\n raise errorclass, errorvalue\nProgrammingError: (1146, \"Table 'edxapp.block_structure_config' doesn't exist\")\n2017-03-27 09:39:27,880 ERROR 2338 [edx.celery.task] tasks.py:71 - update_course_in_cache encountered unknown error. Retry #2\nTraceback (most recent call last):\n File \"/edx/app/edxapp/edx-platform/openedx/core/djangoapps/content/block_structure/tasks.py\", line 54, in _call_and_retry_if_needed\n api_method(course_key)\n File \"/edx/app/edxapp/edx-platform/openedx/core/djangoapps/content/block_structure/api.py\", line 29, in update_course_in_cache\n return get_block_structure_manager(course_key).update_collected_if_needed()\n File \"/edx/app/edxapp/edx-platform/openedx/core/djangoapps/content/block_structure/manager.py\", line 115, in update_collected_if_needed\n self._update_collected()\n File \"/edx/app/edxapp/edx-platform/openedx/core/djangoapps/content/block_structure/manager.py\", line 128, in _update_collected\n self.store.add(block_structure)\n File \"/edx/app/edxapp/edx-platform/openedx/core/djangoapps/content/block_structure/store.py\", line 67, in add\n self._add_to_cache(serialized_data, bs_model)\n File \"/edx/app/edxapp/edx-platform/openedx/core/djangoapps/content/block_structure/store.py\", line 159, in _add_to_cache\n self._cache.set(cache_key, serialized_data, timeout=config.cache_timeout_in_seconds())\n File \"/edx/app/edxapp/edx-platform/common/djangoapps/request_cache/middleware.py\", line 96, in wrapper\n result = f(*args, **kwargs)\n File \"/edx/app/edxapp/edx-platform/openedx/core/djangoapps/content/block_structure/config/__init__.py\", line 39, in cache_timeout_in_seconds\n return BlockStructureConfiguration.current().cache_timeout_in_seconds\n File \"/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/config_models/models.py\", line 143, in current\n current = cls.objects.filter(**key_dict).order_by('-change_date')[0]\n File \"/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/db/models/query.py\", line 201, in __getitem__\n return list(qs)[0]\n File \"/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/db/models/query.py\", line 162, in __iter__\n self._fetch_all()\n File \"/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/db/models/query.py\", line 965, in _fetch_all\n self._result_cache = list(self.iterator())\n File \"/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/db/models/query.py\", line 238, in iterator\n results = compiler.execute_sql()\n File \"/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/db/models/sql/compiler.py\", line 840, in execute_sql\n cursor.execute(sql, params)\n File \"/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/db/backends/utils.py\", line 79, in execute\n return super(CursorDebugWrapper, self).execute(sql, params)\n File \"/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/db/backends/utils.py\", line 64, in execute\n return self.cursor.execute(sql, params)\n File \"/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/db/utils.py\", line 98, in __exit__\n six.reraise(dj_exc_type, dj_exc_value, traceback)\n File \"/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/db/backends/utils.py\", line 64, in execute\n return self.cursor.execute(sql, params)\n File \"/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/db/backends/mysql/base.py\", line 124, in execute\n return self.cursor.execute(query, args)\n File \"/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/MySQLdb/cursors.py\", line 205, in execute\n self.errorhandler(self, exc, value)\n File \"/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/MySQLdb/connections.py\", line 36, in defaulterrorhandler\n raise errorclass, errorvalue\nProgrammingError: (1146, \"Table 'edxapp.block_structure_config' doesn't exist\")\n2017-03-27 09:39:27,887 ERROR 2338 [edx.celery.task] tasks.py:71 - update_course_in_cache encountered unknown error. Retry #3\nTraceback (most recent call last):\n File \"/edx/app/edxapp/edx-platform/openedx/core/djangoapps/content/block_structure/tasks.py\", line 54, in _call_and_retry_if_needed\n api_method(course_key)\n File \"/edx/app/edxapp/edx-platform/openedx/core/djangoapps/content/block_structure/api.py\", line 29, in update_course_in_cache\n return get_block_structure_manager(course_key).update_collected_if_needed()\n File \"/edx/app/edxapp/edx-platform/openedx/core/djangoapps/content/block_structure/manager.py\", line 115, in update_collected_if_needed\n self._update_collected()\n File \"/edx/app/edxapp/edx-platform/openedx/core/djangoapps/content/block_structure/manager.py\", line 128, in _update_collected\n self.store.add(block_structure)\n File \"/edx/app/edxapp/edx-platform/openedx/core/djangoapps/content/block_structure/store.py\", line 67, in add\n self._add_to_cache(serialized_data, bs_model)\n File \"/edx/app/edxapp/edx-platform/openedx/core/djangoapps/content/block_structure/store.py\", line 159, in _add_to_cache\n self._cache.set(cache_key, serialized_data, timeout=config.cache_timeout_in_seconds())\n File \"/edx/app/edxapp/edx-platform/common/djangoapps/request_cache/middleware.py\", line 96, in wrapper\n result = f(*args, **kwargs)\n File \"/edx/app/edxapp/edx-platform/openedx/core/djangoapps/content/block_structure/config/__init__.py\", line 39, in cache_timeout_in_seconds\n return BlockStructureConfiguration.current().cache_timeout_in_seconds\n File \"/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/config_models/models.py\", line 143, in current\n current = cls.objects.filter(**key_dict).order_by('-change_date')[0]\n File \"/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/db/models/query.py\", line 201, in __getitem__\n return list(qs)[0]\n File \"/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/db/models/query.py\", line 162, in __iter__\n self._fetch_all()\n File \"/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/db/models/query.py\", line 965, in _fetch_all\n self._result_cache = list(self.iterator())\n File \"/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/db/models/query.py\", line 238, in iterator\n results = compiler.execute_sql()\n File \"/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/db/models/sql/compiler.py\", line 840, in execute_sql\n cursor.execute(sql, params)\n File \"/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/db/backends/utils.py\", line 79, in execute\n return super(CursorDebugWrapper, self).execute(sql, params)\n File \"/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/db/backends/utils.py\", line 64, in execute\n return self.cursor.execute(sql, params)\n File \"/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/db/utils.py\", line 98, in __exit__\n six.reraise(dj_exc_type, dj_exc_value, traceback)\n File \"/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/db/backends/utils.py\", line 64, in execute\n return self.cursor.execute(sql, params)\n File \"/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/db/backends/mysql/base.py\", line 124, in execute\n return self.cursor.execute(query, args)\n File \"/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/MySQLdb/cursors.py\", line 205, in execute\n self.errorhandler(self, exc, value)\n File \"/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/MySQLdb/connections.py\", line 36, in defaulterrorhandler\n raise errorclass, errorvalue\nProgrammingError: (1146, \"Table 'edxapp.block_structure_config' doesn't exist\")\n2017-03-27 09:39:27,894 ERROR 2338 [edx.celery.task] tasks.py:71 - update_course_in_cache encountered unknown error. Retry #4\nTraceback (most recent call last):\n File \"/edx/app/edxapp/edx-platform/openedx/core/djangoapps/content/block_structure/tasks.py\", line 54, in _call_and_retry_if_needed\n api_method(course_key)\n File \"/edx/app/edxapp/edx-platform/openedx/core/djangoapps/content/block_structure/api.py\", line 29, in update_course_in_cache\n return get_block_structure_manager(course_key).update_collected_if_needed()\n File \"/edx/app/edxapp/edx-platform/openedx/core/djangoapps/content/block_structure/manager.py\", line 115, in update_collected_if_needed\n self._update_collected()\n File \"/edx/app/edxapp/edx-platform/openedx/core/djangoapps/content/block_structure/manager.py\", line 128, in _update_collected\n self.store.add(block_structure)\n File \"/edx/app/edxapp/edx-platform/openedx/core/djangoapps/content/block_structure/store.py\", line 67, in add\n self._add_to_cache(serialized_data, bs_model)\n File \"/edx/app/edxapp/edx-platform/openedx/core/djangoapps/content/block_structure/store.py\", line 159, in _add_to_cache\n self._cache.set(cache_key, serialized_data, timeout=config.cache_timeout_in_seconds())\n File \"/edx/app/edxapp/edx-platform/common/djangoapps/request_cache/middleware.py\", line 96, in wrapper\n result = f(*args, **kwargs)\n File \"/edx/app/edxapp/edx-platform/openedx/core/djangoapps/content/block_structure/config/__init__.py\", line 39, in cache_timeout_in_seconds\n return BlockStructureConfiguration.current().cache_timeout_in_seconds\n File \"/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/config_models/models.py\", line 143, in current\n current = cls.objects.filter(**key_dict).order_by('-change_date')[0]\n File \"/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/db/models/query.py\", line 201, in __getitem__\n return list(qs)[0]\n File \"/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/db/models/query.py\", line 162, in __iter__\n self._fetch_all()\n File \"/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/db/models/query.py\", line 965, in _fetch_all\n self._result_cache = list(self.iterator())\n File \"/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/db/models/query.py\", line 238, in iterator\n results = compiler.execute_sql()\n File \"/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/db/models/sql/compiler.py\", line 840, in execute_sql\n cursor.execute(sql, params)\n File \"/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/db/backends/utils.py\", line 79, in execute\n return super(CursorDebugWrapper, self).execute(sql, params)\n File \"/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/db/backends/utils.py\", line 64, in execute\n return self.cursor.execute(sql, params)\n File \"/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/db/utils.py\", line 98, in __exit__\n six.reraise(dj_exc_type, dj_exc_value, traceback)\n File \"/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/db/backends/utils.py\", line 64, in execute\n return self.cursor.execute(sql, params)\n File \"/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/db/backends/mysql/base.py\", line 124, in execute\n return self.cursor.execute(query, args)\n File \"/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/MySQLdb/cursors.py\", line 205, in execute\n self.errorhandler(self, exc, value)\n File \"/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/MySQLdb/connections.py\", line 36, in defaulterrorhandler\n raise errorclass, errorvalue\nProgrammingError: (1146, \"Table 'edxapp.block_structure_config' doesn't exist\")\n2017-03-27 09:39:27,901 ERROR 2338 [edx.celery.task] tasks.py:71 - update_course_in_cache encountered unknown error. Retry #5\nTraceback (most recent call last):\n File \"/edx/app/edxapp/edx-platform/openedx/core/djangoapps/content/block_structure/tasks.py\", line 54, in _call_and_retry_if_needed\n api_method(course_key)\n File \"/edx/app/edxapp/edx-platform/openedx/core/djangoapps/content/block_structure/api.py\", line 29, in update_course_in_cache\n return get_block_structure_manager(course_key).update_collected_if_needed()\n File \"/edx/app/edxapp/edx-platform/openedx/core/djangoapps/content/block_structure/manager.py\", line 115, in update_collected_if_needed\n self._update_collected()\n File \"/edx/app/edxapp/edx-platform/openedx/core/djangoapps/content/block_structure/manager.py\", line 128, in _update_collected\n self.store.add(block_structure)\n File \"/edx/app/edxapp/edx-platform/openedx/core/djangoapps/content/block_structure/store.py\", line 67, in add\n self._add_to_cache(serialized_data, bs_model)\n File \"/edx/app/edxapp/edx-platform/openedx/core/djangoapps/content/block_structure/store.py\", line 159, in _add_to_cache\n self._cache.set(cache_key, serialized_data, timeout=config.cache_timeout_in_seconds())\n File \"/edx/app/edxapp/edx-platform/common/djangoapps/request_cache/middleware.py\", line 96, in wrapper\n result = f(*args, **kwargs)\n File \"/edx/app/edxapp/edx-platform/openedx/core/djangoapps/content/block_structure/config/__init__.py\", line 39, in cache_timeout_in_seconds\n return BlockStructureConfiguration.current().cache_timeout_in_seconds\n File \"/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/config_models/models.py\", line 143, in current\n current = cls.objects.filter(**key_dict).order_by('-change_date')[0]\n File \"/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/db/models/query.py\", line 201, in __getitem__\n return list(qs)[0]\n File \"/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/db/models/query.py\", line 162, in __iter__\n self._fetch_all()\n File \"/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/db/models/query.py\", line 965, in _fetch_all\n self._result_cache = list(self.iterator())\n File \"/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/db/models/query.py\", line 238, in iterator\n results = compiler.execute_sql()\n File \"/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/db/models/sql/compiler.py\", line 840, in execute_sql\n cursor.execute(sql, params)\n File \"/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/db/backends/utils.py\", line 79, in execute\n return super(CursorDebugWrapper, self).execute(sql, params)\n File \"/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/db/backends/utils.py\", line 64, in execute\n return self.cursor.execute(sql, params)\n File \"/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/db/utils.py\", line 98, in __exit__\n six.reraise(dj_exc_type, dj_exc_value, traceback)\n File \"/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/db/backends/utils.py\", line 64, in execute\n return self.cursor.execute(sql, params)\n File \"/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/db/backends/mysql/base.py\", line 124, in execute\n return self.cursor.execute(query, args)\n File \"/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/MySQLdb/cursors.py\", line 205, in execute\n self.errorhandler(self, exc, value)\n File \"/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/MySQLdb/connections.py\", line 36, in defaulterrorhandler\n raise errorclass, errorvalue\nProgrammingError: (1146, \"Table 'edxapp.block_structure_config' doesn't exist\")\n2017-03-27 09:39:27,991 INFO 2338 [edx.celery.task] tasks.py:157 - Starting XBlockCaches update for course_key: course-v1:edX+DemoX+Demo_Course\n2017-03-27 09:39:28,050 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@course+block@course\n2017-03-27 09:39:28,079 INFO 2338 [edx.celery.task] tasks.py:159 - Ending XBlockCaches update for course_key: course-v1:edX+DemoX+Demo_Course\n2017-03-27 09:39:28,095 INFO 2338 [xmodule.modulestore.django] django.py:207 - Sent course_published signal to <function _listen_for_course_publish at 0x7fa41f0a2848> with kwargs {'course_key': CourseLocator('edX', 'DemoX', 'Demo_Course', None, None)}. Response was: None\n2017-03-27 09:39:28,095 INFO 2338 [xmodule.modulestore.django] django.py:207 - Sent course_published signal to <function listen_for_course_publish at 0x7fa41e2f9578> with kwargs {'course_key': CourseLocator('edX', 'DemoX', 'Demo_Course', None, None)}. Response was: None\n2017-03-27 09:39:28,095 INFO 2338 [xmodule.modulestore.django] django.py:207 - Sent course_published signal to <function _listen_for_course_publish at 0x7fa41e2d27d0> with kwargs {'course_key': CourseLocator('edX', 'DemoX', 'Demo_Course', None, None)}. Response was: None\n2017-03-27 09:39:28,096 INFO 2338 [xmodule.modulestore.django] django.py:207 - Sent course_published signal to <function _listen_for_course_publish at 0x7fa41c664668> with kwargs {'course_key': CourseLocator('edX', 'DemoX', 'Demo_Course', None, None)}. Response was: None\n2017-03-27 09:39:28,096 INFO 2338 [xmodule.modulestore.django] django.py:207 - Sent course_published signal to <function listen_for_course_publish at 0x7fa41c486cf8> with kwargs {'course_key': CourseLocator('edX', 'DemoX', 'Demo_Course', None, None)}. Response was: None\n2017-03-27 09:39:28,096 INFO 2338 [xmodule.modulestore.django] django.py:207 - Sent course_published signal to <function _listen_for_course_publish at 0x7fa41c48a0c8> with kwargs {'course_key': CourseLocator('edX', 'DemoX', 'Demo_Course', None, None)}. Response was: None\n2017-03-27 09:39:28,096 INFO 2338 [xmodule.modulestore.django] django.py:207 - Sent course_published signal to <function _listen_for_course_publish at 0x7fa41c48a398> with kwargs {'course_key': CourseLocator('edX', 'DemoX', 'Demo_Course', None, None)}. Response was: (1054, \"Unknown column 'course_overviews_courseoverview.marketing_url' in 'field list'\")\n2017-03-27 09:39:28,096 INFO 2338 [xmodule.modulestore.django] django.py:207 - Sent course_published signal to <function trigger_update_xblocks_cache_task at 0x7fa41c48a578> with kwargs {'course_key': CourseLocator('edX', 'DemoX', 'Demo_Course', None, None)}. Response was: None\n2017-03-27 09:39:28,096 INFO 2338 [xmodule.modulestore.django] django.py:207 - Sent course_published signal to <function _listen_for_course_publish at 0x7fa41c48a500> with kwargs {'course_key': CourseLocator('edX', 'DemoX', 'Demo_Course', None, None)}. Response was: None\n2017-03-27 09:39:31,019 ERROR 2338 [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 0x7fa41b99d368>\nTraceback (most recent call last):\n File \"/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/contentstore/content.py\", line 440, in generate_thumbnail\n with Image.open(source) as image:\n File \"/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/PIL/Image.py\", line 2319, in open\n % (filename if filename else fp))\nIOError: cannot identify image file <StringIO.StringIO instance at 0x7fa41b99d368>\n2017-03-27 09:39:31,050 ERROR 2338 [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 0x7fa41a8d9200>\nTraceback (most recent call last):\n File \"/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/contentstore/content.py\", line 440, in generate_thumbnail\n with Image.open(source) as image:\n File \"/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/PIL/Image.py\", line 2319, in open\n % (filename if filename else fp))\nIOError: cannot identify image file <StringIO.StringIO instance at 0x7fa41a8d9200>\n2017-03-27 09:39:34,411 INFO 2338 [root] xml_importer.py:290 - No assets.xml file is present with asset metadata.\n2017-03-27 09:39:37,201 INFO 2338 [xmodule.modulestore.django] django.py:207 - Sent pre_publish signal to <function on_pre_publish at 0x7fa41fbdbed8> with kwargs {'course_key': CourseLocator('edX', 'DemoX', 'Demo_Course', None, None)}. Response was: None\n2017-03-27 09:39:37,747 ERROR 2338 [edx.celery.task] tasks.py:71 - update_course_in_cache encountered unknown error. Retry #0\nTraceback (most recent call last):\n File \"/edx/app/edxapp/edx-platform/openedx/core/djangoapps/content/block_structure/tasks.py\", line 54, in _call_and_retry_if_needed\n api_method(course_key)\n File \"/edx/app/edxapp/edx-platform/openedx/core/djangoapps/content/block_structure/api.py\", line 29, in update_course_in_cache\n return get_block_structure_manager(course_key).update_collected_if_needed()\n File \"/edx/app/edxapp/edx-platform/openedx/core/djangoapps/content/block_structure/manager.py\", line 115, in update_collected_if_needed\n self._update_collected()\n File \"/edx/app/edxapp/edx-platform/openedx/core/djangoapps/content/block_structure/manager.py\", line 127, in _update_collected\n BlockStructureTransformers.collect(block_structure)\n File \"/edx/app/edxapp/edx-platform/openedx/core/djangoapps/content/block_structure/transformers.py\", line 80, in collect\n transformer.collect(block_structure)\n File \"/edx/app/edxapp/edx-platform/lms/djangoapps/course_api/blocks/transformers/blocks_api.py\", line 50, in collect\n StudentViewTransformer.collect(block_structure)\n File \"/edx/app/edxapp/edx-platform/lms/djangoapps/course_api/blocks/transformers/student_view.py\", line 63, in collect\n student_view_data = block.student_view_data()\n File \"/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/video_module/video_module.py\", line 949, in student_view_data\n for lang in self.available_translations(transcripts_info, verify_assets=False)\n File \"/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/video_module/video_module.py\", line 949, in <dictcomp>\n for lang in self.available_translations(transcripts_info, verify_assets=False)\n File \"/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/x_module.py\", line 1480, in handler_url\n return descriptor_global_handler_url(block, handler_name, suffix, query, thirdparty)\n File \"/edx/app/edxapp/edx-platform/cms/lib/xblock/runtime.py\", line 14, in handler_url\n raise NotImplementedError(\"edX Studio doesn't support third-party xblock handler urls\")\nNotImplementedError: edX Studio doesn't support third-party xblock handler urls\n2017-03-27 09:39:38,161 ERROR 2338 [edx.celery.task] tasks.py:71 - update_course_in_cache encountered unknown error. Retry #1\nTraceback (most recent call last):\n File \"/edx/app/edxapp/edx-platform/openedx/core/djangoapps/content/block_structure/tasks.py\", line 54, in _call_and_retry_if_needed\n api_method(course_key)\n File \"/edx/app/edxapp/edx-platform/openedx/core/djangoapps/content/block_structure/api.py\", line 29, in update_course_in_cache\n return get_block_structure_manager(course_key).update_collected_if_needed()\n File \"/edx/app/edxapp/edx-platform/openedx/core/djangoapps/content/block_structure/manager.py\", line 115, in update_collected_if_needed\n self._update_collected()\n File \"/edx/app/edxapp/edx-platform/openedx/core/djangoapps/content/block_structure/manager.py\", line 127, in _update_collected\n BlockStructureTransformers.collect(block_structure)\n File \"/edx/app/edxapp/edx-platform/openedx/core/djangoapps/content/block_structure/transformers.py\", line 80, in collect\n transformer.collect(block_structure)\n File \"/edx/app/edxapp/edx-platform/lms/djangoapps/course_api/blocks/transformers/blocks_api.py\", line 50, in collect\n StudentViewTransformer.collect(block_structure)\n File \"/edx/app/edxapp/edx-platform/lms/djangoapps/course_api/blocks/transformers/student_view.py\", line 63, in collect\n student_view_data = block.student_view_data()\n File \"/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/video_module/video_module.py\", line 949, in student_view_data\n for lang in self.available_translations(transcripts_info, verify_assets=False)\n File \"/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/video_module/video_module.py\", line 949, in <dictcomp>\n for lang in self.available_translations(transcripts_info, verify_assets=False)\n File \"/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/x_module.py\", line 1480, in handler_url\n return descriptor_global_handler_url(block, handler_name, suffix, query, thirdparty)\n File \"/edx/app/edxapp/edx-platform/cms/lib/xblock/runtime.py\", line 14, in handler_url\n raise NotImplementedError(\"edX Studio doesn't support third-party xblock handler urls\")\nNotImplementedError: edX Studio doesn't support third-party xblock handler urls\n2017-03-27 09:39:38,413 ERROR 2338 [edx.celery.task] tasks.py:71 - update_course_in_cache encountered unknown error. Retry #2\nTraceback (most recent call last):\n File \"/edx/app/edxapp/edx-platform/openedx/core/djangoapps/content/block_structure/tasks.py\", line 54, in _call_and_retry_if_needed\n api_method(course_key)\n File \"/edx/app/edxapp/edx-platform/openedx/core/djangoapps/content/block_structure/api.py\", line 29, in update_course_in_cache\n return get_block_structure_manager(course_key).update_collected_if_needed()\n File \"/edx/app/edxapp/edx-platform/openedx/core/djangoapps/content/block_structure/manager.py\", line 115, in update_collected_if_needed\n self._update_collected()\n File \"/edx/app/edxapp/edx-platform/openedx/core/djangoapps/content/block_structure/manager.py\", line 127, in _update_collected\n BlockStructureTransformers.collect(block_structure)\n File \"/edx/app/edxapp/edx-platform/openedx/core/djangoapps/content/block_structure/transformers.py\", line 80, in collect\n transformer.collect(block_structure)\n File \"/edx/app/edxapp/edx-platform/lms/djangoapps/course_api/blocks/transformers/blocks_api.py\", line 50, in collect\n StudentViewTransformer.collect(block_structure)\n File \"/edx/app/edxapp/edx-platform/lms/djangoapps/course_api/blocks/transformers/student_view.py\", line 63, in collect\n student_view_data = block.student_view_data()\n File \"/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/video_module/video_module.py\", line 949, in student_view_data\n for lang in self.available_translations(transcripts_info, verify_assets=False)\n File \"/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/video_module/video_module.py\", line 949, in <dictcomp>\n for lang in self.available_translations(transcripts_info, verify_assets=False)\n File \"/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/x_module.py\", line 1480, in handler_url\n return descriptor_global_handler_url(block, handler_name, suffix, query, thirdparty)\n File \"/edx/app/edxapp/edx-platform/cms/lib/xblock/runtime.py\", line 14, in handler_url\n raise NotImplementedError(\"edX Studio doesn't support third-party xblock handler urls\")\nNotImplementedError: edX Studio doesn't support third-party xblock handler urls\n2017-03-27 09:39:38,671 ERROR 2338 [edx.celery.task] tasks.py:71 - update_course_in_cache encountered unknown error. Retry #3\nTraceback (most recent call last):\n File \"/edx/app/edxapp/edx-platform/openedx/core/djangoapps/content/block_structure/tasks.py\", line 54, in _call_and_retry_if_needed\n api_method(course_key)\n File \"/edx/app/edxapp/edx-platform/openedx/core/djangoapps/content/block_structure/api.py\", line 29, in update_course_in_cache\n return get_block_structure_manager(course_key).update_collected_if_needed()\n File \"/edx/app/edxapp/edx-platform/openedx/core/djangoapps/content/block_structure/manager.py\", line 115, in update_collected_if_needed\n self._update_collected()\n File \"/edx/app/edxapp/edx-platform/openedx/core/djangoapps/content/block_structure/manager.py\", line 127, in _update_collected\n BlockStructureTransformers.collect(block_structure)\n File \"/edx/app/edxapp/edx-platform/openedx/core/djangoapps/content/block_structure/transformers.py\", line 80, in collect\n transformer.collect(block_structure)\n File \"/edx/app/edxapp/edx-platform/lms/djangoapps/course_api/blocks/transformers/blocks_api.py\", line 50, in collect\n StudentViewTransformer.collect(block_structure)\n File \"/edx/app/edxapp/edx-platform/lms/djangoapps/course_api/blocks/transformers/student_view.py\", line 63, in collect\n student_view_data = block.student_view_data()\n File \"/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/video_module/video_module.py\", line 949, in student_view_data\n for lang in self.available_translations(transcripts_info, verify_assets=False)\n File \"/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/video_module/video_module.py\", line 949, in <dictcomp>\n for lang in self.available_translations(transcripts_info, verify_assets=False)\n File \"/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/x_module.py\", line 1480, in handler_url\n return descriptor_global_handler_url(block, handler_name, suffix, query, thirdparty)\n File \"/edx/app/edxapp/edx-platform/cms/lib/xblock/runtime.py\", line 14, in handler_url\n raise NotImplementedError(\"edX Studio doesn't support third-party xblock handler urls\")\nNotImplementedError: edX Studio doesn't support third-party xblock handler urls\n2017-03-27 09:39:38,923 ERROR 2338 [edx.celery.task] tasks.py:71 - update_course_in_cache encountered unknown error. Retry #4\nTraceback (most recent call last):\n File \"/edx/app/edxapp/edx-platform/openedx/core/djangoapps/content/block_structure/tasks.py\", line 54, in _call_and_retry_if_needed\n api_method(course_key)\n File \"/edx/app/edxapp/edx-platform/openedx/core/djangoapps/content/block_structure/api.py\", line 29, in update_course_in_cache\n return get_block_structure_manager(course_key).update_collected_if_needed()\n File \"/edx/app/edxapp/edx-platform/openedx/core/djangoapps/content/block_structure/manager.py\", line 115, in update_collected_if_needed\n self._update_collected()\n File \"/edx/app/edxapp/edx-platform/openedx/core/djangoapps/content/block_structure/manager.py\", line 127, in _update_collected\n BlockStructureTransformers.collect(block_structure)\n File \"/edx/app/edxapp/edx-platform/openedx/core/djangoapps/content/block_structure/transformers.py\", line 80, in collect\n transformer.collect(block_structure)\n File \"/edx/app/edxapp/edx-platform/lms/djangoapps/course_api/blocks/transformers/blocks_api.py\", line 50, in collect\n StudentViewTransformer.collect(block_structure)\n File \"/edx/app/edxapp/edx-platform/lms/djangoapps/course_api/blocks/transformers/student_view.py\", line 63, in collect\n student_view_data = block.student_view_data()\n File \"/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/video_module/video_module.py\", line 949, in student_view_data\n for lang in self.available_translations(transcripts_info, verify_assets=False)\n File \"/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/video_module/video_module.py\", line 949, in <dictcomp>\n for lang in self.available_translations(transcripts_info, verify_assets=False)\n File \"/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/x_module.py\", line 1480, in handler_url\n return descriptor_global_handler_url(block, handler_name, suffix, query, thirdparty)\n File \"/edx/app/edxapp/edx-platform/cms/lib/xblock/runtime.py\", line 14, in handler_url\n raise NotImplementedError(\"edX Studio doesn't support third-party xblock handler urls\")\nNotImplementedError: edX Studio doesn't support third-party xblock handler urls\n2017-03-27 09:39:39,177 ERROR 2338 [edx.celery.task] tasks.py:71 - update_course_in_cache encountered unknown error. Retry #5\nTraceback (most recent call last):\n File \"/edx/app/edxapp/edx-platform/openedx/core/djangoapps/content/block_structure/tasks.py\", line 54, in _call_and_retry_if_needed\n api_method(course_key)\n File \"/edx/app/edxapp/edx-platform/openedx/core/djangoapps/content/block_structure/api.py\", line 29, in update_course_in_cache\n return get_block_structure_manager(course_key).update_collected_if_needed()\n File \"/edx/app/edxapp/edx-platform/openedx/core/djangoapps/content/block_structure/manager.py\", line 115, in update_collected_if_needed\n self._update_collected()\n File \"/edx/app/edxapp/edx-platform/openedx/core/djangoapps/content/block_structure/manager.py\", line 127, in _update_collected\n BlockStructureTransformers.collect(block_structure)\n File \"/edx/app/edxapp/edx-platform/openedx/core/djangoapps/content/block_structure/transformers.py\", line 80, in collect\n transformer.collect(block_structure)\n File \"/edx/app/edxapp/edx-platform/lms/djangoapps/course_api/blocks/transformers/blocks_api.py\", line 50, in collect\n StudentViewTransformer.collect(block_structure)\n File \"/edx/app/edxapp/edx-platform/lms/djangoapps/course_api/blocks/transformers/student_view.py\", line 63, in collect\n student_view_data = block.student_view_data()\n File \"/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/video_module/video_module.py\", line 949, in student_view_data\n for lang in self.available_translations(transcripts_info, verify_assets=False)\n File \"/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/video_module/video_module.py\", line 949, in <dictcomp>\n for lang in self.available_translations(transcripts_info, verify_assets=False)\n File \"/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/x_module.py\", line 1480, in handler_url\n return descriptor_global_handler_url(block, handler_name, suffix, query, thirdparty)\n File \"/edx/app/edxapp/edx-platform/cms/lib/xblock/runtime.py\", line 14, in handler_url\n raise NotImplementedError(\"edX Studio doesn't support third-party xblock handler urls\")\nNotImplementedError: edX Studio doesn't support third-party xblock handler urls\n2017-03-27 09:39:39,190 INFO 2338 [edx.celery.task] tasks.py:157 - Starting XBlockCaches update for course_key: course-v1:edX+DemoX+Demo_Course\n2017-03-27 09:39:39,214 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@course+block@course\n2017-03-27 09:39:39,248 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@discussion+block@e5eac7e1a5a24f5fa7ed77bb6d136591\n2017-03-27 09:39:39,275 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@sequential+block@175e76c4951144a29d46211361266e0e\n2017-03-27 09:39:39,310 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@vertical+block@vertical_bc69a47c6fae\n2017-03-27 09:39:39,342 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@problem+block@303034da25524878a2e66fb57c91cf85\n2017-03-27 09:39:39,367 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@discussion+block@discussion_5deb6081620d\n2017-03-27 09:39:39,387 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@discussion+block@ffa5817d49e14fec83ad6187cbe16358\n2017-03-27 09:39:39,423 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@discussion+block@e0d7423118ab432582d03e8e8dad8e36\n2017-03-27 09:39:39,439 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@sequential+block@dbe8fc027bcb4fe9afb744d2e8415855\n2017-03-27 09:39:39,454 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@discussion+block@e2cb0e0994f84b0abfa5f4ae42ed9d44\n2017-03-27 09:39:39,468 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@vertical+block@54bb9b142c6c4c22afc62bcb628f0e68\n2017-03-27 09:39:39,482 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@problem+block@c554538a57664fac80783b99d9d6da7c\n2017-03-27 09:39:39,502 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@vertical+block@4a1bba2a403f40bca5ec245e945b0d76\n2017-03-27 09:39:39,518 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@discussion+block@f480df4ce91347c5ae4301ddf6146238\n2017-03-27 09:39:39,533 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@chapter+block@graded_interactions\n2017-03-27 09:39:39,550 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@problem+block@700x_editmolB\n2017-03-27 09:39:39,564 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@vertical+block@3c4b575924bf4b75a2f3542df5c354fc\n2017-03-27 09:39:39,581 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@problem+block@a0effb954cca4759994f1ac9e9434bf4\n2017-03-27 09:39:39,598 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@vertical+block@d6eaa391d2be41dea20b8b1bfbcb1c45\n2017-03-27 09:39:39,610 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@vertical+block@47dbd5f836544e61877a483c0b75606c\n2017-03-27 09:39:39,620 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@problem+block@932e6f2ce8274072a355a94560216d1a\n2017-03-27 09:39:39,634 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@vertical+block@vertical_aae927868e55\n2017-03-27 09:39:39,647 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@html+block@f9f3a25e7bab46e583fd1fbbd7a2f6a0\n2017-03-27 09:39:39,657 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@vertical+block@f91d8d31f7cf48ce990f8d8745ae4cfa\n2017-03-27 09:39:39,668 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@html+block@e0254b911fa246218bd98bbdadffef06\n2017-03-27 09:39:39,688 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@sequential+block@simulations\n2017-03-27 09:39:39,707 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@sequential+block@graded_simulations\n2017-03-27 09:39:39,730 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@problem+block@700x_proteinmake\n2017-03-27 09:39:39,752 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@html+block@8bb218cccf8d40519a971ff0e4901ccf\n2017-03-27 09:39:39,777 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@problem+block@logic_gate_problem\n2017-03-27 09:39:39,797 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@discussion+block@9f9e1373cc8243b985c8750cc8acec7d\n2017-03-27 09:39:39,820 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@vertical+block@vertical_0270f6de40fc\n2017-03-27 09:39:39,838 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@vertical+block@d0d804e8863c4a95a659c04d8a2b2bc0\n2017-03-27 09:39:39,867 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@html+block@2bee8c4248e842a19ba1e73ed8d426c2\n2017-03-27 09:39:39,888 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@discussion+block@12ad4f3ff4c14114a6e629b00e000976\n2017-03-27 09:39:39,904 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@html+block@891211e17f9a472290a5f12c7a6626d7\n2017-03-27 09:39:39,921 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@sequential+block@workflow\n2017-03-27 09:39:39,935 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@chapter+block@social_integration\n2017-03-27 09:39:39,949 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@html+block@ed5dccf14ae94353961f46fa07217491\n2017-03-27 09:39:39,964 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@discussion+block@501aed9d902349eeb2191fa505548de2\n2017-03-27 09:39:39,979 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@html+block@8293139743f34377817d537b69911530\n2017-03-27 09:39:39,994 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@vertical+block@vertical_0fab6aa52165\n2017-03-27 09:39:40,010 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@html+block@0a3b4139f51a4917a3aff9d519b1eeb6\n2017-03-27 09:39:40,035 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@discussion+block@23e6eda482c04335af2bb265beacaf59\n2017-03-27 09:39:40,050 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@discussion+block@ddede76df71045ffa16de9d1481d2119\n2017-03-27 09:39:40,067 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@video+block@5c90cffecd9b48b188cbfea176bf7fe9\n2017-03-27 09:39:40,084 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@problem+block@9cee77a606ea4c1aa5440e0ea5d0f618\n2017-03-27 09:39:40,115 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@video+block@7e9b434e6de3435ab99bd3fb25bde807\n2017-03-27 09:39:40,136 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@problem+block@0d759dee4f9d459c8956136dbde55f02\n2017-03-27 09:39:40,152 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@vertical+block@e3601c0abee6427d8c17e6d6f8fdddd1\n2017-03-27 09:39:40,169 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@chapter+block@interactive_demonstrations\n2017-03-27 09:39:40,184 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@problem+block@d2e35c1d294b4ba0b3b1048615605d2a\n2017-03-27 09:39:40,220 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@sequential+block@48ecb924d7fe4b66a230137626bfa93e\n2017-03-27 09:39:40,253 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@discussion+block@03f051f9a8814881a3783d2511613aa6\n2017-03-27 09:39:40,269 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@discussion+block@1a810b1a3b2447b998f0917d0e5a802b\n2017-03-27 09:39:40,284 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@vertical+block@vertical_98cf62510471\n2017-03-27 09:39:40,294 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@vertical+block@867dddb6f55d410caaa9c1eb9c6743ec\n2017-03-27 09:39:40,306 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@discussion+block@6f7a6670f87147149caeff6afa07a526\n2017-03-27 09:39:40,328 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@html+block@6bcccc2d7343416e9e03fd7325b2f232\n2017-03-27 09:39:40,372 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@discussion+block@4d672c5893cb4f1dad0de67d2008522e\n2017-03-27 09:39:40,409 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@problem+block@ex_practice_limited_checks\n2017-03-27 09:39:40,468 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@html+block@5e009378f0b64585baa0a14b155974b9\n2017-03-27 09:39:40,502 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@chapter+block@d8a6192ade314473a78242dfeedfbf5b\n2017-03-27 09:39:40,532 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@problem+block@75f9562c77bc4858b61f907bb810d974\n2017-03-27 09:39:40,564 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@html+block@d45779ad3d024a40a09ad8cc317c0970\n2017-03-27 09:39:40,591 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@chapter+block@1414ffd5143b4b508f739b563ab468b7\n2017-03-27 09:39:40,669 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@discussion+block@4f06b358a96f4d1dae57d6d81acd06f2\n2017-03-27 09:39:40,713 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@html+block@700x_pathways\n2017-03-27 09:39:40,724 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@vertical+block@fb79dcbad35b466a8c6364f8ffee9050\n2017-03-27 09:39:40,759 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@html+block@82d599b014b246c7a9b5dfc750dc08a9\n2017-03-27 09:39:40,811 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@problem+block@Sample_Algebraic_Problem\n2017-03-27 09:39:40,835 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@html+block@f4a39219742149f781a1dda6f43a623c\n2017-03-27 09:39:40,863 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@chapter+block@9fca584977d04885bc911ea76a9ef29e\n2017-03-27 09:39:40,900 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@discussion+block@ade92343df3d4953a40ab3adc8805390\n2017-03-27 09:39:40,937 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@discussion+block@c6cd4bea43454aaea60ad01beb0cf213\n2017-03-27 09:39:40,957 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@discussion+block@4aba537a78774bd5a862485a8563c345\n2017-03-27 09:39:40,976 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@vertical+block@vertical_2dbb0072785e\n2017-03-27 09:39:40,998 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@problem+block@ex_practice_3\n2017-03-27 09:39:41,022 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@problem+block@ex_practice_2\n2017-03-27 09:39:41,062 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@sequential+block@07bc32474380492cb34f76e5f9d9a135\n2017-03-27 09:39:41,092 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@discussion+block@67c26b1e826e47aaa29757f62bcd1ad0\n2017-03-27 09:39:41,118 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@discussion+block@5ab88e67d46049b9aa694cb240c39cef\n2017-03-27 09:39:41,131 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@vertical+block@c7e98fd39a6944edb6b286c32e1150ff\n2017-03-27 09:39:41,145 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@discussion+block@cd177caa62444fbca48aa8f843f09eac\n2017-03-27 09:39:41,159 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@html+block@html_07d547513285\n2017-03-27 09:39:41,175 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@vertical+block@vertical_f04afeac0131\n2017-03-27 09:39:41,192 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@vertical+block@3dc16db8d14842e38324e95d4030b8a0\n2017-03-27 09:39:41,205 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@sequential+block@edx_introduction\n2017-03-27 09:39:41,218 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@problem+block@python_grader\n2017-03-27 09:39:41,230 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@discussion+block@6244918637ed4ff4b5f94a840a7e4b43\n2017-03-27 09:39:41,259 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@vertical+block@vertical_d32bf9b2242c\n2017-03-27 09:39:41,291 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@vertical+block@4f6c1b4e316a419ab5b6bf30e6c708e9\n2017-03-27 09:39:41,323 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@discussion+block@b8cec2a19ebf463f90cd3544c7927b0e\n2017-03-27 09:39:41,361 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@problem+block@45d46192272c4f6db6b63586520bbdf4\n2017-03-27 09:39:41,402 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@html+block@6018785795994726950614ce7d0f38c5\n2017-03-27 09:39:41,432 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@vertical+block@vertical_3888db0bc286\n2017-03-27 09:39:41,463 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@html+block@78d7d3642f3a4dbabbd1b017861aa5f2\n2017-03-27 09:39:41,496 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@video+block@0b9e39477cf34507a7a48f74be381fdd\n2017-03-27 09:39:41,515 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@vertical+block@b6662b497c094bcc9b870d8270c90c93\n2017-03-27 09:39:41,533 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@discussion+block@0aa7a3bdbe18427795b0c1a1d7c3cb9a\n2017-03-27 09:39:41,551 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@vertical+block@2152d4a4aadc4cb0af5256394a3d1fc7\n2017-03-27 09:39:41,571 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@vertical+block@vertical_36e0beb03f0a\n2017-03-27 09:39:41,610 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@sequential+block@19a30717eff543078a5d94ae9d6c18a5\n2017-03-27 09:39:41,630 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@html+block@d5a5caaf35e84ebc9a747038465dcfb4\n2017-03-27 09:39:41,647 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@vertical+block@934cc32c177d41b580c8413e561346b3\n2017-03-27 09:39:41,666 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@html+block@78e3719e864e45f3bee938461f3c3de6\n2017-03-27 09:39:41,680 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@vertical+block@3f2c11aba9434e459676a7d7acc4d960\n2017-03-27 09:39:41,702 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@vertical+block@vertical_1fef54c2b23b\n2017-03-27 09:39:41,715 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@html+block@6b6bee43c7c641509da71c9299cc9f5a\n2017-03-27 09:39:41,734 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@vertical+block@e8a5cc2aed424838853defab7be45e42\n2017-03-27 09:39:41,752 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@video+block@636541acbae448d98ab484b028c9a7f6\n2017-03-27 09:39:41,770 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@vertical+block@d6cee45205a449369d7ef8f159b22bdf\n2017-03-27 09:39:41,785 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@vertical+block@vertical_0c92347a5c00\n2017-03-27 09:39:41,814 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@html+block@c2f7008c9ccf4bd09d5d800c98fb0722\n2017-03-27 09:39:41,843 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@html+block@html_49b4494da2f7\n2017-03-27 09:39:41,876 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@html+block@030e35c4756a4ddc8d40b95fbbfff4d4\n2017-03-27 09:39:41,915 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@vertical+block@312cb4faed17420e82ab3178fc3e251a\n2017-03-27 09:39:41,968 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@html+block@Lab_5B_Mosfet_Amplifier_Experiment\n2017-03-27 09:39:42,036 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@openassessment+block@b24c33ea35954c7889e1d2944d3fe397\n2017-03-27 09:39:42,087 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@discussion+block@ed01bcd164e64038a78964a16eac3edc\n2017-03-27 09:39:42,170 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@vertical+block@26d89b08f75d48829a63520ed8b0037d\n2017-03-27 09:39:42,281 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@vertical+block@vertical_c037f3757df1\n2017-03-27 09:39:42,318 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@vertical+block@1b0e2c2c84884b95b1c99fb678cc964c\n2017-03-27 09:39:42,360 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@problem+block@free_form_simulation\n2017-03-27 09:39:42,386 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@html+block@2574c523e97b477a9d72fbb37bfb995f\n2017-03-27 09:39:42,417 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@problem+block@Sample_ChemFormula_Problem\n2017-03-27 09:39:42,437 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@vertical+block@256f17a44983429fb1a60802203ee4e0\n2017-03-27 09:39:42,458 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@html+block@2b94658d2eee4d85ae13f83bc24cfca9\n2017-03-27 09:39:42,477 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@discussion+block@870371212ba04dcf9536d7c7b8f3109e\n2017-03-27 09:39:42,496 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@vertical+block@2889db1677a549abb15eb4d886f95d1c\n2017-03-27 09:39:42,515 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@discussion+block@3169f89efde2452993f2f2d9bc74f5b2\n2017-03-27 09:39:42,534 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@vertical+block@134df56c516a4a0dbb24dd5facef746e\n2017-03-27 09:39:42,551 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@html+block@148ae8fa73ea460eb6f05505da0ba6e6\n2017-03-27 09:39:42,564 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@discussion+block@722085be27c84ac693cfebc8ac5da700\n2017-03-27 09:39:42,577 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@problem+block@d1b84dcd39b0423d9e288f27f0f7f242\n2017-03-27 09:39:42,604 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@discussion+block@412dc8dbb6674014862237b23c1f643f\n2017-03-27 09:39:42,638 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@problem+block@651e0945b77f42e0a4c89b8c3e6f5b3b\n2017-03-27 09:39:42,701 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@html+block@55cbc99f262443d886a25cf84594eafb\n2017-03-27 09:39:42,731 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@sequential+block@6ab9c442501d472c8ed200e367b4edfa\n2017-03-27 09:39:42,751 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@sequential+block@basic_questions\n2017-03-27 09:39:42,772 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+branch@draft-branch+version@58d91610633cd2092241ebb1+type@vertical+block@vertical_ac391cde8a91\n2017-03-27 09:39:42,791 INFO 2338 [edx.celery.task] tasks.py:159 - Ending XBlockCaches update for course_key: course-v1:edX+DemoX+Demo_Course\n2017-03-27 09:39:42,797 INFO 2338 [xmodule.modulestore.django] django.py:207 - Sent course_published signal to <function _listen_for_course_publish at 0x7fa41f0a2848> with kwargs {'course_key': CourseLocator('edX', 'DemoX', 'Demo_Course', None, None)}. Response was: None\n2017-03-27 09:39:42,797 INFO 2338 [xmodule.modulestore.django] django.py:207 - Sent course_published signal to <function listen_for_course_publish at 0x7fa41e2f9578> with kwargs {'course_key': CourseLocator('edX', 'DemoX', 'Demo_Course', None, None)}. Response was: None\n2017-03-27 09:39:42,797 INFO 2338 [xmodule.modulestore.django] django.py:207 - Sent course_published signal to <function _listen_for_course_publish at 0x7fa41e2d27d0> with kwargs {'course_key': CourseLocator('edX', 'DemoX', 'Demo_Course', None, None)}. Response was: None\n2017-03-27 09:39:42,797 INFO 2338 [xmodule.modulestore.django] django.py:207 - Sent course_published signal to <function _listen_for_course_publish at 0x7fa41c664668> with kwargs {'course_key': CourseLocator('edX', 'DemoX', 'Demo_Course', None, None)}. Response was: None\n2017-03-27 09:39:42,797 INFO 2338 [xmodule.modulestore.django] django.py:207 - Sent course_published signal to <function listen_for_course_publish at 0x7fa41c486cf8> with kwargs {'course_key': CourseLocator('edX', 'DemoX', 'Demo_Course', None, None)}. Response was: None\n2017-03-27 09:39:42,797 INFO 2338 [xmodule.modulestore.django] django.py:207 - Sent course_published signal to <function _listen_for_course_publish at 0x7fa41c48a0c8> with kwargs {'course_key': CourseLocator('edX', 'DemoX', 'Demo_Course', None, None)}. Response was: None\n2017-03-27 09:39:42,798 INFO 2338 [xmodule.modulestore.django] django.py:207 - Sent course_published signal to <function _listen_for_course_publish at 0x7fa41c48a398> with kwargs {'course_key': CourseLocator('edX', 'DemoX', 'Demo_Course', None, None)}. Response was: (1054, \"Unknown column 'course_overviews_courseoverview.marketing_url' in 'field list'\")\n2017-03-27 09:39:42,798 INFO 2338 [xmodule.modulestore.django] django.py:207 - Sent course_published signal to <function trigger_update_xblocks_cache_task at 0x7fa41c48a578> with kwargs {'course_key': CourseLocator('edX', 'DemoX', 'Demo_Course', None, None)}. Response was: None\n2017-03-27 09:39:42,798 INFO 2338 [xmodule.modulestore.django] django.py:207 - Sent course_published signal to <function _listen_for_course_publish at 0x7fa41c48a500> with kwargs {'course_key': CourseLocator('edX', 'DemoX', 'Demo_Course', None, None)}. Response was: None\n2017-03-27 09:39:42,814 WARNING 2338 [xmodule.modulestore.xml] xml.py:233 - i4x://edX/DemoX/html/d45779ad3d024a40a09ad8cc317c0970 has more than one definition\n2017-03-27 09:39:42,823 WARNING 2338 [xmodule.modulestore.xml] xml.py:233 - i4x://edX/DemoX/html/55cbc99f262443d886a25cf84594eafb has more than one definition\n2017-03-27 09:39:42,823 WARNING 2338 [root] mixins.py:519 - XBlock <class 'xblock.internal.DiscussionXBlockWithMixins'> does not contain field url_name\n2017-03-27 09:39:42,832 WARNING 2338 [xmodule.modulestore.xml] xml.py:233 - i4x://edX/DemoX/discussion/ade92343df3d4953a40ab3adc8805390 has more than one definition\n2017-03-27 09:39:42,858 WARNING 2338 [xmodule.modulestore.xml] xml.py:233 - i4x://edX/DemoX/html/ed5dccf14ae94353961f46fa07217491 has more than one definition\n2017-03-27 09:39:42,860 ERROR 2338 [xmodule.vertical_block] vertical_block.py:129 - Unable to load child when parsing Vertical. Continuing...\nTraceback (most recent call last):\n File \"/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/vertical_block.py\", line 126, in definition_from_xml\n child_block = system.process_xml(etree.tostring(child, encoding='unicode'))\n File \"/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/modulestore/xml.py\", line 196, in process_xml\n id_manager,\n File \"/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/x_module.py\", line 1601, in xblock_from_node\n self._convert_reference_fields_to_keys(block) # difference from XBlock.runtime\n File \"/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/x_module.py\", line 1645, in _convert_reference_fields_to_keys\n field_value = getattr(xblock, field.name)\n File \"/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/xblock/fields.py\", line 507, in __get__\n value = self.from_json(field_data.get(xblock, self.name))\n File \"/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/xblock/fields.py\", line 796, in from_json\n raise TypeError('Value stored in a List must be None or a list, found %s' % type(value))\nTypeError: Value stored in a List must be None or a list, found <type 'str'>\n2017-03-27 09:39:42,861 WARNING 2338 [root] mixins.py:519 - XBlock <class 'xblock.internal.DiscussionXBlockWithMixins'> does not contain field url_name\n2017-03-27 09:39:42,869 WARNING 2338 [xmodule.modulestore.xml] xml.py:233 - i4x://edX/DemoX/discussion/9f9e1373cc8243b985c8750cc8acec7d has more than one definition\n2017-03-27 09:39:42,878 WARNING 2338 [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\n2017-03-27 09:39:43,089 WARNING 2338 [root] mixins.py:519 - XBlock <class 'xblock.internal.DiscussionXBlockWithMixins'> does not contain field url_name\n2017-03-27 09:39:43,123 WARNING 2338 [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\n2017-03-27 09:39:43,195 WARNING 2338 [xmodule.modulestore.xml] xml.py:233 - i4x://edX/DemoX/openassessment/b24c33ea35954c7889e1d2944d3fe397 has more than one definition\n2017-03-27 09:39:43,196 WARNING 2338 [root] mixins.py:519 - XBlock <class 'xblock.internal.DiscussionXBlockWithMixins'> does not contain field url_name\n2017-03-27 09:39:43,204 WARNING 2338 [xmodule.modulestore.xml] xml.py:233 - i4x://edX/DemoX/discussion/12ad4f3ff4c14114a6e629b00e000976 has more than one definition\n2017-03-27 09:39:43,223 WARNING 2338 [xmodule.modulestore.xml] xml.py:233 - i4x://edX/DemoX/html/030e35c4756a4ddc8d40b95fbbfff4d4 has more than one definition\n2017-03-27 09:39:43,233 WARNING 2338 [xmodule.modulestore.xml] xml.py:233 - i4x://edX/DemoX/video/0b9e39477cf34507a7a48f74be381fdd has more than one definition\n2017-03-27 09:39:43,283 WARNING 2338 [xmodule.modulestore.xml] xml.py:233 - i4x://edX/DemoX/html/2b94658d2eee4d85ae13f83bc24cfca9 has more than one definition\n2017-03-27 09:39:43,293 WARNING 2338 [xmodule.modulestore.xml] xml.py:233 - i4x://edX/DemoX/problem/700x_editmolB has more than one definition\n2017-03-27 09:39:43,294 WARNING 2338 [root] mixins.py:519 - XBlock <class 'xblock.internal.DiscussionXBlockWithMixins'> does not contain field url_name\n2017-03-27 09:39:43,302 WARNING 2338 [xmodule.modulestore.xml] xml.py:233 - i4x://edX/DemoX/discussion/0aa7a3bdbe18427795b0c1a1d7c3cb9a has more than one definition\n2017-03-27 09:39:43,321 WARNING 2338 [xmodule.modulestore.xml] xml.py:233 - i4x://edX/DemoX/problem/Sample_ChemFormula_Problem has more than one definition\n2017-03-27 09:39:43,322 WARNING 2338 [root] mixins.py:519 - XBlock <class 'xblock.internal.DiscussionXBlockWithMixins'> does not contain field url_name\n2017-03-27 09:39:43,330 WARNING 2338 [xmodule.modulestore.xml] xml.py:233 - i4x://edX/DemoX/discussion/4d672c5893cb4f1dad0de67d2008522e has more than one definition\n2017-03-27 09:39:43,349 WARNING 2338 [xmodule.modulestore.xml] xml.py:233 - i4x://edX/DemoX/html/78e3719e864e45f3bee938461f3c3de6 has more than one definition\n2017-03-27 09:39:43,359 WARNING 2338 [xmodule.modulestore.xml] xml.py:233 - i4x://edX/DemoX/problem/700x_proteinmake has more than one definition\n2017-03-27 09:39:43,360 WARNING 2338 [root] mixins.py:519 - XBlock <class 'xblock.internal.DiscussionXBlockWithMixins'> does not contain field url_name\n2017-03-27 09:39:43,368 WARNING 2338 [xmodule.modulestore.xml] xml.py:233 - i4x://edX/DemoX/discussion/ed01bcd164e64038a78964a16eac3edc has more than one definition\n2017-03-27 09:39:43,396 WARNING 2338 [xmodule.modulestore.xml] xml.py:233 - i4x://edX/DemoX/html/Lab_5B_Mosfet_Amplifier_Experiment has more than one definition\n2017-03-27 09:39:43,396 WARNING 2338 [root] mixins.py:519 - XBlock <class 'xblock.internal.DiscussionXBlockWithMixins'> does not contain field url_name\n2017-03-27 09:39:43,405 WARNING 2338 [xmodule.modulestore.xml] xml.py:233 - i4x://edX/DemoX/discussion/03f051f9a8814881a3783d2511613aa6 has more than one definition\n2017-03-27 09:39:44,308 INFO 2338 [xmodule.modulestore.django] django.py:207 - Sent pre_publish signal to <function on_pre_publish at 0x7fa41fbdbed8> with kwargs {'course_key': CourseLocator('edX', 'DemoX', 'Demo_Course', None, None)}. Response was: None\n2017-03-27 09:39:44,909 ERROR 2338 [edx.celery.task] tasks.py:71 - update_course_in_cache encountered unknown error. Retry #0\nTraceback (most recent call last):\n File \"/edx/app/edxapp/edx-platform/openedx/core/djangoapps/content/block_structure/tasks.py\", line 54, in _call_and_retry_if_needed\n api_method(course_key)\n File \"/edx/app/edxapp/edx-platform/openedx/core/djangoapps/content/block_structure/api.py\", line 29, in update_course_in_cache\n return get_block_structure_manager(course_key).update_collected_if_needed()\n File \"/edx/app/edxapp/edx-platform/openedx/core/djangoapps/content/block_structure/manager.py\", line 115, in update_collected_if_needed\n self._update_collected()\n File \"/edx/app/edxapp/edx-platform/openedx/core/djangoapps/content/block_structure/manager.py\", line 127, in _update_collected\n BlockStructureTransformers.collect(block_structure)\n File \"/edx/app/edxapp/edx-platform/openedx/core/djangoapps/content/block_structure/transformers.py\", line 80, in collect\n transformer.collect(block_structure)\n File \"/edx/app/edxapp/edx-platform/lms/djangoapps/course_api/blocks/transformers/blocks_api.py\", line 50, in collect\n StudentViewTransformer.collect(block_structure)\n File \"/edx/app/edxapp/edx-platform/lms/djangoapps/course_api/blocks/transformers/student_view.py\", line 63, in collect\n student_view_data = block.student_view_data()\n File \"/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/video_module/video_module.py\", line 949, in student_view_data\n for lang in self.available_translations(transcripts_info, verify_assets=False)\n File \"/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/video_module/video_module.py\", line 949, in <dictcomp>\n for lang in self.available_translations(transcripts_info, verify_assets=False)\n File \"/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/x_module.py\", line 1480, in handler_url\n return descriptor_global_handler_url(block, handler_name, suffix, query, thirdparty)\n File \"/edx/app/edxapp/edx-platform/cms/lib/xblock/runtime.py\", line 14, in handler_url\n raise NotImplementedError(\"edX Studio doesn't support third-party xblock handler urls\")\nNotImplementedError: edX Studio doesn't support third-party xblock handler urls\n2017-03-27 09:39:45,184 ERROR 2338 [edx.celery.task] tasks.py:71 - update_course_in_cache encountered unknown error. Retry #1\nTraceback (most recent call last):\n File \"/edx/app/edxapp/edx-platform/openedx/core/djangoapps/content/block_structure/tasks.py\", line 54, in _call_and_retry_if_needed\n api_method(course_key)\n File \"/edx/app/edxapp/edx-platform/openedx/core/djangoapps/content/block_structure/api.py\", line 29, in update_course_in_cache\n return get_block_structure_manager(course_key).update_collected_if_needed()\n File \"/edx/app/edxapp/edx-platform/openedx/core/djangoapps/content/block_structure/manager.py\", line 115, in update_collected_if_needed\n self._update_collected()\n File \"/edx/app/edxapp/edx-platform/openedx/core/djangoapps/content/block_structure/manager.py\", line 127, in _update_collected\n BlockStructureTransformers.collect(block_structure)\n File \"/edx/app/edxapp/edx-platform/openedx/core/djangoapps/content/block_structure/transformers.py\", line 80, in collect\n transformer.collect(block_structure)\n File \"/edx/app/edxapp/edx-platform/lms/djangoapps/course_api/blocks/transformers/blocks_api.py\", line 50, in collect\n StudentViewTransformer.collect(block_structure)\n File \"/edx/app/edxapp/edx-platform/lms/djangoapps/course_api/blocks/transformers/student_view.py\", line 63, in collect\n student_view_data = block.student_view_data()\n File \"/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/video_module/video_module.py\", line 949, in student_view_data\n for lang in self.available_translations(transcripts_info, verify_assets=False)\n File \"/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/video_module/video_module.py\", line 949, in <dictcomp>\n for lang in self.available_translations(transcripts_info, verify_assets=False)\n File \"/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/x_module.py\", line 1480, in handler_url\n return descriptor_global_handler_url(block, handler_name, suffix, query, thirdparty)\n File \"/edx/app/edxapp/edx-platform/cms/lib/xblock/runtime.py\", line 14, in handler_url\n raise NotImplementedError(\"edX Studio doesn't support third-party xblock handler urls\")\nNotImplementedError: edX Studio doesn't support third-party xblock handler urls\n2017-03-27 09:39:45,458 ERROR 2338 [edx.celery.task] tasks.py:71 - update_course_in_cache encountered unknown error. Retry #2\nTraceback (most recent call last):\n File \"/edx/app/edxapp/edx-platform/openedx/core/djangoapps/content/block_structure/tasks.py\", line 54, in _call_and_retry_if_needed\n api_method(course_key)\n File \"/edx/app/edxapp/edx-platform/openedx/core/djangoapps/content/block_structure/api.py\", line 29, in update_course_in_cache\n return get_block_structure_manager(course_key).update_collected_if_needed()\n File \"/edx/app/edxapp/edx-platform/openedx/core/djangoapps/content/block_structure/manager.py\", line 115, in update_collected_if_needed\n self._update_collected()\n File \"/edx/app/edxapp/edx-platform/openedx/core/djangoapps/content/block_structure/manager.py\", line 127, in _update_collected\n BlockStructureTransformers.collect(block_structure)\n File \"/edx/app/edxapp/edx-platform/openedx/core/djangoapps/content/block_structure/transformers.py\", line 80, in collect\n transformer.collect(block_structure)\n File \"/edx/app/edxapp/edx-platform/lms/djangoapps/course_api/blocks/transformers/blocks_api.py\", line 50, in collect\n StudentViewTransformer.collect(block_structure)\n File \"/edx/app/edxapp/edx-platform/lms/djangoapps/course_api/blocks/transformers/student_view.py\", line 63, in collect\n student_view_data = block.student_view_data()\n File \"/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/video_module/video_module.py\", line 949, in student_view_data\n for lang in self.available_translations(transcripts_info, verify_assets=False)\n File \"/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/video_module/video_module.py\", line 949, in <dictcomp>\n for lang in self.available_translations(transcripts_info, verify_assets=False)\n File \"/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/x_module.py\", line 1480, in handler_url\n return descriptor_global_handler_url(block, handler_name, suffix, query, thirdparty)\n File \"/edx/app/edxapp/edx-platform/cms/lib/xblock/runtime.py\", line 14, in handler_url\n raise NotImplementedError(\"edX Studio doesn't support third-party xblock handler urls\")\nNotImplementedError: edX Studio doesn't support third-party xblock handler urls\n2017-03-27 09:39:45,731 ERROR 2338 [edx.celery.task] tasks.py:71 - update_course_in_cache encountered unknown error. Retry #3\nTraceback (most recent call last):\n File \"/edx/app/edxapp/edx-platform/openedx/core/djangoapps/content/block_structure/tasks.py\", line 54, in _call_and_retry_if_needed\n api_method(course_key)\n File \"/edx/app/edxapp/edx-platform/openedx/core/djangoapps/content/block_structure/api.py\", line 29, in update_course_in_cache\n return get_block_structure_manager(course_key).update_collected_if_needed()\n File \"/edx/app/edxapp/edx-platform/openedx/core/djangoapps/content/block_structure/manager.py\", line 115, in update_collected_if_needed\n self._update_collected()\n File \"/edx/app/edxapp/edx-platform/openedx/core/djangoapps/content/block_structure/manager.py\", line 127, in _update_collected\n BlockStructureTransformers.collect(block_structure)\n File \"/edx/app/edxapp/edx-platform/openedx/core/djangoapps/content/block_structure/transformers.py\", line 80, in collect\n transformer.collect(block_structure)\n File \"/edx/app/edxapp/edx-platform/lms/djangoapps/course_api/blocks/transformers/blocks_api.py\", line 50, in collect\n StudentViewTransformer.collect(block_structure)\n File \"/edx/app/edxapp/edx-platform/lms/djangoapps/course_api/blocks/transformers/student_view.py\", line 63, in collect\n student_view_data = block.student_view_data()\n File \"/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/video_module/video_module.py\", line 949, in student_view_data\n for lang in self.available_translations(transcripts_info, verify_assets=False)\n File \"/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/video_module/video_module.py\", line 949, in <dictcomp>\n for lang in self.available_translations(transcripts_info, verify_assets=False)\n File \"/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/x_module.py\", line 1480, in handler_url\n return descriptor_global_handler_url(block, handler_name, suffix, query, thirdparty)\n File \"/edx/app/edxapp/edx-platform/cms/lib/xblock/runtime.py\", line 14, in handler_url\n raise NotImplementedError(\"edX Studio doesn't support third-party xblock handler urls\")\nNotImplementedError: edX Studio doesn't support third-party xblock handler urls\n2017-03-27 09:39:46,006 ERROR 2338 [edx.celery.task] tasks.py:71 - update_course_in_cache encountered unknown error. Retry #4\nTraceback (most recent call last):\n File \"/edx/app/edxapp/edx-platform/openedx/core/djangoapps/content/block_structure/tasks.py\", line 54, in _call_and_retry_if_needed\n api_method(course_key)\n File \"/edx/app/edxapp/edx-platform/openedx/core/djangoapps/content/block_structure/api.py\", line 29, in update_course_in_cache\n return get_block_structure_manager(course_key).update_collected_if_needed()\n File \"/edx/app/edxapp/edx-platform/openedx/core/djangoapps/content/block_structure/manager.py\", line 115, in update_collected_if_needed\n self._update_collected()\n File \"/edx/app/edxapp/edx-platform/openedx/core/djangoapps/content/block_structure/manager.py\", line 127, in _update_collected\n BlockStructureTransformers.collect(block_structure)\n File \"/edx/app/edxapp/edx-platform/openedx/core/djangoapps/content/block_structure/transformers.py\", line 80, in collect\n transformer.collect(block_structure)\n File \"/edx/app/edxapp/edx-platform/lms/djangoapps/course_api/blocks/transformers/blocks_api.py\", line 50, in collect\n StudentViewTransformer.collect(block_structure)\n File \"/edx/app/edxapp/edx-platform/lms/djangoapps/course_api/blocks/transformers/student_view.py\", line 63, in collect\n student_view_data = block.student_view_data()\n File \"/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/video_module/video_module.py\", line 949, in student_view_data\n for lang in self.available_translations(transcripts_info, verify_assets=False)\n File \"/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/video_module/video_module.py\", line 949, in <dictcomp>\n for lang in self.available_translations(transcripts_info, verify_assets=False)\n File \"/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/x_module.py\", line 1480, in handler_url\n return descriptor_global_handler_url(block, handler_name, suffix, query, thirdparty)\n File \"/edx/app/edxapp/edx-platform/cms/lib/xblock/runtime.py\", line 14, in handler_url\n raise NotImplementedError(\"edX Studio doesn't support third-party xblock handler urls\")\nNotImplementedError: edX Studio doesn't support third-party xblock handler urls\n2017-03-27 09:39:46,280 ERROR 2338 [edx.celery.task] tasks.py:71 - update_course_in_cache encountered unknown error. Retry #5\nTraceback (most recent call last):\n File \"/edx/app/edxapp/edx-platform/openedx/core/djangoapps/content/block_structure/tasks.py\", line 54, in _call_and_retry_if_needed\n api_method(course_key)\n File \"/edx/app/edxapp/edx-platform/openedx/core/djangoapps/content/block_structure/api.py\", line 29, in update_course_in_cache\n return get_block_structure_manager(course_key).update_collected_if_needed()\n File \"/edx/app/edxapp/edx-platform/openedx/core/djangoapps/content/block_structure/manager.py\", line 115, in update_collected_if_needed\n self._update_collected()\n File \"/edx/app/edxapp/edx-platform/openedx/core/djangoapps/content/block_structure/manager.py\", line 127, in _update_collected\n BlockStructureTransformers.collect(block_structure)\n File \"/edx/app/edxapp/edx-platform/openedx/core/djangoapps/content/block_structure/transformers.py\", line 80, in collect\n transformer.collect(block_structure)\n File \"/edx/app/edxapp/edx-platform/lms/djangoapps/course_api/blocks/transformers/blocks_api.py\", line 50, in collect\n StudentViewTransformer.collect(block_structure)\n File \"/edx/app/edxapp/edx-platform/lms/djangoapps/course_api/blocks/transformers/student_view.py\", line 63, in collect\n student_view_data = block.student_view_data()\n File \"/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/video_module/video_module.py\", line 949, in student_view_data\n for lang in self.available_translations(transcripts_info, verify_assets=False)\n File \"/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/video_module/video_module.py\", line 949, in <dictcomp>\n for lang in self.available_translations(transcripts_info, verify_assets=False)\n File \"/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/x_module.py\", line 1480, in handler_url\n return descriptor_global_handler_url(block, handler_name, suffix, query, thirdparty)\n File \"/edx/app/edxapp/edx-platform/cms/lib/xblock/runtime.py\", line 14, in handler_url\n raise NotImplementedError(\"edX Studio doesn't support third-party xblock handler urls\")\nNotImplementedError: edX Studio doesn't support third-party xblock handler urls\n2017-03-27 09:39:46,295 INFO 2338 [edx.celery.task] tasks.py:157 - Starting XBlockCaches update for course_key: course-v1:edX+DemoX+Demo_Course\n2017-03-27 09:39:46,355 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@discussion+block@e5eac7e1a5a24f5fa7ed77bb6d136591\n2017-03-27 09:39:46,449 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@sequential+block@175e76c4951144a29d46211361266e0e\n2017-03-27 09:39:46,521 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@vertical+block@vertical_bc69a47c6fae\n2017-03-27 09:39:46,540 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@problem+block@303034da25524878a2e66fb57c91cf85\n2017-03-27 09:39:46,578 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@discussion+block@discussion_5deb6081620d\n2017-03-27 09:39:46,633 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@discussion+block@ffa5817d49e14fec83ad6187cbe16358\n2017-03-27 09:39:46,636 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@discussion+block@e0d7423118ab432582d03e8e8dad8e36\n2017-03-27 09:39:46,638 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@sequential+block@dbe8fc027bcb4fe9afb744d2e8415855\n2017-03-27 09:39:46,640 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@discussion+block@e2cb0e0994f84b0abfa5f4ae42ed9d44\n2017-03-27 09:39:46,643 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@vertical+block@54bb9b142c6c4c22afc62bcb628f0e68\n2017-03-27 09:39:46,645 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@problem+block@c554538a57664fac80783b99d9d6da7c\n2017-03-27 09:39:46,851 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@vertical+block@4a1bba2a403f40bca5ec245e945b0d76\n2017-03-27 09:39:46,896 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@discussion+block@f480df4ce91347c5ae4301ddf6146238\n2017-03-27 09:39:46,941 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@problem+block@700x_editmolB\n2017-03-27 09:39:46,986 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@vertical+block@3c4b575924bf4b75a2f3542df5c354fc\n2017-03-27 09:39:46,989 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@problem+block@a0effb954cca4759994f1ac9e9434bf4\n2017-03-27 09:39:46,991 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@vertical+block@d6eaa391d2be41dea20b8b1bfbcb1c45\n2017-03-27 09:39:46,994 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@vertical+block@47dbd5f836544e61877a483c0b75606c\n2017-03-27 09:39:46,997 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@problem+block@932e6f2ce8274072a355a94560216d1a\n2017-03-27 09:39:46,999 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@vertical+block@vertical_aae927868e55\n2017-03-27 09:39:47,001 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@html+block@f9f3a25e7bab46e583fd1fbbd7a2f6a0\n2017-03-27 09:39:47,004 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@vertical+block@f91d8d31f7cf48ce990f8d8745ae4cfa\n2017-03-27 09:39:47,006 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@html+block@e0254b911fa246218bd98bbdadffef06\n2017-03-27 09:39:47,009 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@sequential+block@simulations\n2017-03-27 09:39:47,124 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@sequential+block@graded_simulations\n2017-03-27 09:39:47,177 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@problem+block@700x_proteinmake\n2017-03-27 09:39:47,194 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@html+block@8bb218cccf8d40519a971ff0e4901ccf\n2017-03-27 09:39:47,222 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@problem+block@logic_gate_problem\n2017-03-27 09:39:47,280 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@discussion+block@9f9e1373cc8243b985c8750cc8acec7d\n2017-03-27 09:39:47,283 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@vertical+block@vertical_0270f6de40fc\n2017-03-27 09:39:47,286 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@vertical+block@d0d804e8863c4a95a659c04d8a2b2bc0\n2017-03-27 09:39:47,289 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@html+block@2bee8c4248e842a19ba1e73ed8d426c2\n2017-03-27 09:39:47,292 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@discussion+block@12ad4f3ff4c14114a6e629b00e000976\n2017-03-27 09:39:47,295 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@html+block@891211e17f9a472290a5f12c7a6626d7\n2017-03-27 09:39:47,332 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@sequential+block@workflow\n2017-03-27 09:39:47,366 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@html+block@ed5dccf14ae94353961f46fa07217491\n2017-03-27 09:39:47,404 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@discussion+block@501aed9d902349eeb2191fa505548de2\n2017-03-27 09:39:47,407 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@html+block@8293139743f34377817d537b69911530\n2017-03-27 09:39:47,409 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@vertical+block@vertical_0fab6aa52165\n2017-03-27 09:39:47,412 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@html+block@0a3b4139f51a4917a3aff9d519b1eeb6\n2017-03-27 09:39:47,414 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@discussion+block@23e6eda482c04335af2bb265beacaf59\n2017-03-27 09:39:47,417 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@discussion+block@ddede76df71045ffa16de9d1481d2119\n2017-03-27 09:39:47,420 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@video+block@5c90cffecd9b48b188cbfea176bf7fe9\n2017-03-27 09:39:47,422 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@problem+block@9cee77a606ea4c1aa5440e0ea5d0f618\n2017-03-27 09:39:47,425 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@video+block@7e9b434e6de3435ab99bd3fb25bde807\n2017-03-27 09:39:47,427 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@problem+block@0d759dee4f9d459c8956136dbde55f02\n2017-03-27 09:39:47,430 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@vertical+block@e3601c0abee6427d8c17e6d6f8fdddd1\n2017-03-27 09:39:47,433 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@problem+block@d2e35c1d294b4ba0b3b1048615605d2a\n2017-03-27 09:39:47,435 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@sequential+block@48ecb924d7fe4b66a230137626bfa93e\n2017-03-27 09:39:47,437 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@discussion+block@03f051f9a8814881a3783d2511613aa6\n2017-03-27 09:39:47,440 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@discussion+block@1a810b1a3b2447b998f0917d0e5a802b\n2017-03-27 09:39:47,442 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@vertical+block@vertical_98cf62510471\n2017-03-27 09:39:47,444 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@vertical+block@867dddb6f55d410caaa9c1eb9c6743ec\n2017-03-27 09:39:47,447 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@discussion+block@6f7a6670f87147149caeff6afa07a526\n2017-03-27 09:39:47,449 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@html+block@6bcccc2d7343416e9e03fd7325b2f232\n2017-03-27 09:39:47,452 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@discussion+block@4d672c5893cb4f1dad0de67d2008522e\n2017-03-27 09:39:47,454 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@problem+block@ex_practice_limited_checks\n2017-03-27 09:39:47,457 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@html+block@5e009378f0b64585baa0a14b155974b9\n2017-03-27 09:39:47,460 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@problem+block@75f9562c77bc4858b61f907bb810d974\n2017-03-27 09:39:47,512 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@html+block@d45779ad3d024a40a09ad8cc317c0970\n2017-03-27 09:39:47,515 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@discussion+block@4f06b358a96f4d1dae57d6d81acd06f2\n2017-03-27 09:39:47,519 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@html+block@700x_pathways\n2017-03-27 09:39:47,521 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@vertical+block@fb79dcbad35b466a8c6364f8ffee9050\n2017-03-27 09:39:47,524 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@html+block@82d599b014b246c7a9b5dfc750dc08a9\n2017-03-27 09:39:47,527 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@problem+block@Sample_Algebraic_Problem\n2017-03-27 09:39:47,530 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@html+block@f4a39219742149f781a1dda6f43a623c\n2017-03-27 09:39:47,533 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@discussion+block@ade92343df3d4953a40ab3adc8805390\n2017-03-27 09:39:47,536 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@discussion+block@c6cd4bea43454aaea60ad01beb0cf213\n2017-03-27 09:39:47,538 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@discussion+block@4aba537a78774bd5a862485a8563c345\n2017-03-27 09:39:47,541 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@vertical+block@vertical_2dbb0072785e\n2017-03-27 09:39:47,543 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@problem+block@ex_practice_3\n2017-03-27 09:39:47,546 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@problem+block@ex_practice_2\n2017-03-27 09:39:47,548 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@sequential+block@07bc32474380492cb34f76e5f9d9a135\n2017-03-27 09:39:47,550 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@discussion+block@67c26b1e826e47aaa29757f62bcd1ad0\n2017-03-27 09:39:47,553 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@discussion+block@5ab88e67d46049b9aa694cb240c39cef\n2017-03-27 09:39:47,555 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@vertical+block@c7e98fd39a6944edb6b286c32e1150ff\n2017-03-27 09:39:47,558 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@discussion+block@cd177caa62444fbca48aa8f843f09eac\n2017-03-27 09:39:47,560 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@html+block@html_07d547513285\n2017-03-27 09:39:47,563 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@vertical+block@vertical_f04afeac0131\n2017-03-27 09:39:47,565 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@vertical+block@3dc16db8d14842e38324e95d4030b8a0\n2017-03-27 09:39:47,567 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@sequential+block@edx_introduction\n2017-03-27 09:39:47,570 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@problem+block@python_grader\n2017-03-27 09:39:47,573 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@discussion+block@6244918637ed4ff4b5f94a840a7e4b43\n2017-03-27 09:39:47,576 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@vertical+block@vertical_d32bf9b2242c\n2017-03-27 09:39:47,578 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@vertical+block@4f6c1b4e316a419ab5b6bf30e6c708e9\n2017-03-27 09:39:47,581 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@discussion+block@b8cec2a19ebf463f90cd3544c7927b0e\n2017-03-27 09:39:47,583 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@problem+block@45d46192272c4f6db6b63586520bbdf4\n2017-03-27 09:39:47,586 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@html+block@6018785795994726950614ce7d0f38c5\n2017-03-27 09:39:47,588 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@vertical+block@vertical_3888db0bc286\n2017-03-27 09:39:47,590 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@html+block@78d7d3642f3a4dbabbd1b017861aa5f2\n2017-03-27 09:39:47,593 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@video+block@0b9e39477cf34507a7a48f74be381fdd\n2017-03-27 09:39:47,596 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@vertical+block@b6662b497c094bcc9b870d8270c90c93\n2017-03-27 09:39:47,599 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@discussion+block@0aa7a3bdbe18427795b0c1a1d7c3cb9a\n2017-03-27 09:39:47,601 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@vertical+block@2152d4a4aadc4cb0af5256394a3d1fc7\n2017-03-27 09:39:47,604 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@vertical+block@vertical_36e0beb03f0a\n2017-03-27 09:39:47,606 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@sequential+block@19a30717eff543078a5d94ae9d6c18a5\n2017-03-27 09:39:47,608 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@html+block@d5a5caaf35e84ebc9a747038465dcfb4\n2017-03-27 09:39:47,610 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@vertical+block@934cc32c177d41b580c8413e561346b3\n2017-03-27 09:39:47,613 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@html+block@78e3719e864e45f3bee938461f3c3de6\n2017-03-27 09:39:47,615 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@vertical+block@3f2c11aba9434e459676a7d7acc4d960\n2017-03-27 09:39:47,618 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@vertical+block@vertical_1fef54c2b23b\n2017-03-27 09:39:47,620 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@html+block@6b6bee43c7c641509da71c9299cc9f5a\n2017-03-27 09:39:47,623 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@vertical+block@e8a5cc2aed424838853defab7be45e42\n2017-03-27 09:39:47,626 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@video+block@636541acbae448d98ab484b028c9a7f6\n2017-03-27 09:39:47,629 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@vertical+block@d6cee45205a449369d7ef8f159b22bdf\n2017-03-27 09:39:47,631 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@vertical+block@vertical_0c92347a5c00\n2017-03-27 09:39:47,634 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@html+block@c2f7008c9ccf4bd09d5d800c98fb0722\n2017-03-27 09:39:47,637 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@html+block@html_49b4494da2f7\n2017-03-27 09:39:47,640 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@html+block@030e35c4756a4ddc8d40b95fbbfff4d4\n2017-03-27 09:39:47,642 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@vertical+block@312cb4faed17420e82ab3178fc3e251a\n2017-03-27 09:39:47,645 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@html+block@Lab_5B_Mosfet_Amplifier_Experiment\n2017-03-27 09:39:47,648 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@openassessment+block@b24c33ea35954c7889e1d2944d3fe397\n2017-03-27 09:39:47,651 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@discussion+block@ed01bcd164e64038a78964a16eac3edc\n2017-03-27 09:39:47,653 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@vertical+block@26d89b08f75d48829a63520ed8b0037d\n2017-03-27 09:39:47,655 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@vertical+block@vertical_c037f3757df1\n2017-03-27 09:39:47,658 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@vertical+block@1b0e2c2c84884b95b1c99fb678cc964c\n2017-03-27 09:39:47,661 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@problem+block@free_form_simulation\n2017-03-27 09:39:47,663 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@html+block@2574c523e97b477a9d72fbb37bfb995f\n2017-03-27 09:39:47,666 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@problem+block@Sample_ChemFormula_Problem\n2017-03-27 09:39:47,669 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@vertical+block@256f17a44983429fb1a60802203ee4e0\n2017-03-27 09:39:47,672 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@html+block@2b94658d2eee4d85ae13f83bc24cfca9\n2017-03-27 09:39:47,675 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@discussion+block@870371212ba04dcf9536d7c7b8f3109e\n2017-03-27 09:39:47,677 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@vertical+block@2889db1677a549abb15eb4d886f95d1c\n2017-03-27 09:39:47,680 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@discussion+block@3169f89efde2452993f2f2d9bc74f5b2\n2017-03-27 09:39:47,682 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@vertical+block@134df56c516a4a0dbb24dd5facef746e\n2017-03-27 09:39:47,685 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@html+block@148ae8fa73ea460eb6f05505da0ba6e6\n2017-03-27 09:39:47,688 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@discussion+block@722085be27c84ac693cfebc8ac5da700\n2017-03-27 09:39:47,690 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@problem+block@d1b84dcd39b0423d9e288f27f0f7f242\n2017-03-27 09:39:47,693 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@discussion+block@412dc8dbb6674014862237b23c1f643f\n2017-03-27 09:39:47,696 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@problem+block@651e0945b77f42e0a4c89b8c3e6f5b3b\n2017-03-27 09:39:47,699 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@html+block@55cbc99f262443d886a25cf84594eafb\n2017-03-27 09:39:47,701 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@sequential+block@6ab9c442501d472c8ed200e367b4edfa\n2017-03-27 09:39:47,703 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@sequential+block@basic_questions\n2017-03-27 09:39:47,706 INFO 2338 [edx.celery.task] tasks.py:117 - Updating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@vertical+block@vertical_ac391cde8a91\n2017-03-27 09:39:47,723 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@video+block@af7fe1335eb841cd81ce31c7ee8eb069\n2017-03-27 09:39:47,742 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@vertical+block@45c7cedb4bfe46f4a68c78787151cfb5\n2017-03-27 09:39:47,762 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@html+block@9d5104b502f24ee89c3d2f4ce9d347cf\n2017-03-27 09:39:47,785 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@video+block@ab98b0e385e64445ae97e730ffdf17e7\n2017-03-27 09:39:47,806 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@vertical+block@4e592689563243c484af947465eaef0d\n2017-03-27 09:39:47,854 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@html+block@ffcd6351126d4ca984409180e41d1b51\n2017-03-27 09:39:47,903 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@html+block@87fa6792d79f4862be098e5169e93339\n2017-03-27 09:39:47,937 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@vertical+block@a79d59cd72034188a71d388f4954a606\n2017-03-27 09:39:47,958 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@html+block@2d3efa8db04346548bd5e5374de77628\n2017-03-27 09:39:47,974 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@vertical+block@f0e6d90842c44cc7a50fd1a18a7dd982\n2017-03-27 09:39:47,994 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@discussion+block@1c8d47c425724346a7968fa1bc745dcd\n2017-03-27 09:39:48,012 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@vertical+block@fb6b62dbec4348528629cf2232b86aea\n2017-03-27 09:39:48,030 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@vertical+block@8f89194410954e768bde1764985454a7\n2017-03-27 09:39:48,045 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@html+block@eb469ec408fa4ab1a9b86c634ca9bfa9\n2017-03-27 09:39:48,063 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@problem+block@9b9687073e904ae197799dc415df899f\n2017-03-27 09:39:48,088 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@vertical+block@7efc7bf4a47b4a6cb6595c32cde7712a\n2017-03-27 09:39:48,102 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@problem+block@d7daeff25e4f4026bdd269ae69e03e02\n2017-03-27 09:39:48,114 INFO 2338 [edx.celery.task] tasks.py:132 - Creating XBlockCache with usage_key: block-v1:edX+DemoX+Demo_Course+type@vertical+block@d91b9e5d8bc64d57a1332d06bf2f2193\n2017-03-27 09:39:48,127 INFO 2338 [edx.celery.task] tasks.py:159 - Ending XBlockCaches update for course_key: course-v1:edX+DemoX+Demo_Course\n2017-03-27 09:39:48,132 INFO 2338 [xmodule.modulestore.django] django.py:207 - Sent course_published signal to <function _listen_for_course_publish at 0x7fa41f0a2848> with kwargs {'course_key': CourseLocator('edX', 'DemoX', 'Demo_Course', None, None)}. Response was: None\n2017-03-27 09:39:48,132 INFO 2338 [xmodule.modulestore.django] django.py:207 - Sent course_published signal to <function listen_for_course_publish at 0x7fa41e2f9578> with kwargs {'course_key': CourseLocator('edX', 'DemoX', 'Demo_Course', None, None)}. Response was: None\n2017-03-27 09:39:48,132 INFO 2338 [xmodule.modulestore.django] django.py:207 - Sent course_published signal to <function _listen_for_course_publish at 0x7fa41e2d27d0> with kwargs {'course_key': CourseLocator('edX', 'DemoX', 'Demo_Course', None, None)}. Response was: None\n2017-03-27 09:39:48,132 INFO 2338 [xmodule.modulestore.django] django.py:207 - Sent course_published signal to <function _listen_for_course_publish at 0x7fa41c664668> with kwargs {'course_key': CourseLocator('edX', 'DemoX', 'Demo_Course', None, None)}. Response was: None\n2017-03-27 09:39:48,132 INFO 2338 [xmodule.modulestore.django] django.py:207 - Sent course_published signal to <function listen_for_course_publish at 0x7fa41c486cf8> with kwargs {'course_key': CourseLocator('edX', 'DemoX', 'Demo_Course', None, None)}. Response was: None\n2017-03-27 09:39:48,133 INFO 2338 [xmodule.modulestore.django] django.py:207 - Sent course_published signal to <function _listen_for_course_publish at 0x7fa41c48a0c8> with kwargs {'course_key': CourseLocator('edX', 'DemoX', 'Demo_Course', None, None)}. Response was: None\n2017-03-27 09:39:48,133 INFO 2338 [xmodule.modulestore.django] django.py:207 - Sent course_published signal to <function _listen_for_course_publish at 0x7fa41c48a398> with kwargs {'course_key': CourseLocator('edX', 'DemoX', 'Demo_Course', None, None)}. Response was: (1054, \"Unknown column 'course_overviews_courseoverview.marketing_url' in 'field list'\")\n2017-03-27 09:39:48,133 INFO 2338 [xmodule.modulestore.django] django.py:207 - Sent course_published signal to <function trigger_update_xblocks_cache_task at 0x7fa41c48a578> with kwargs {'course_key': CourseLocator('edX', 'DemoX', 'Demo_Course', None, None)}. Response was: None\n2017-03-27 09:39:48,133 INFO 2338 [xmodule.modulestore.django] django.py:207 - Sent course_published signal to <function _listen_for_course_publish at 0x7fa41c48a500> with kwargs {'course_key': CourseLocator('edX', 'DemoX', 'Demo_Course', None, None)}. Response was: None", "stdout": "Importing. Data_dir=/edx/var/edxapp/data, source_dirs=('/edx/app/demo/edx-demo-course',)\nSeeding forum roles for course course-v1:edX+DemoX+Demo_Course", "stdout_lines": ["Importing. Data_dir=/edx/var/edxapp/data, source_dirs=('/edx/app/demo/edx-demo-course',)", "Seeding forum roles for course course-v1:edX+DemoX+Demo_Course"], "warnings": []}
Would like to know how to delete everything and start fresh.
LMS ecommerce_worker user needed by the trusted client should be setup as staff user
Encountered following error on a fresh install of devstack
~/workspace/devstack @ slab [spg] ๐ Sat Mar 18 09:43:33 $ docker version
Client:
Version: 17.03.0-ce
API version: 1.26
Go version: go1.7.5
Git commit: 60ccb22
Built: Thu Feb 23 10:40:59 2017
OS/Arch: darwin/amd64
Server:
Version: 17.03.0-ce
API version: 1.26 (minimum version 1.12)
Go version: go1.7.5
Git commit: 3a232c8
Built: Tue Feb 28 07:52:04 2017
OS/Arch: linux/amd64
Experimental: true
~/workspace/devstack @ slab [spg] ๐ Sat Mar 18 09:47:02 $ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
7929adf53533 edxops/credentials:devstack "/edx/app/credenti..." 4 minutes ago Up 3 minutes 0.0.0.0:18150->18150/tcp edx.devstack.credentials
378f89fd0241 edxops/ecommerce:devstack "/edx/app/ecommerc..." 4 minutes ago Up 3 minutes 0.0.0.0:18130->18130/tcp edx.devstack.ecommerce
6d559d852db7 edxops/discovery:devstack "/edx/app/discover..." 4 minutes ago Up 4 minutes 0.0.0.0:18381->18381/tcp edx.devstack.discovery
5b0b0396cf65 eugenmayer/rsync "/entrypoint.sh su..." About an hour ago Up About an hour 0.0.0.0:10875->873/tcp edxapp-sync
e5a77fd09612 eugenmayer/rsync "/entrypoint.sh su..." About an hour ago Up About an hour 0.0.0.0:10874->873/tcp ecommerce-sync
e9a16e976ad2 eugenmayer/rsync "/entrypoint.sh su..." About an hour ago Up About an hour 0.0.0.0:10873->873/tcp discovery-sync
0db02101e9ec eugenmayer/rsync "/entrypoint.sh su..." About an hour ago Up About an hour 0.0.0.0:10872->873/tcp credentials-sync
4687bd31e313 edxops/elasticsearch:devstack "/docker-entrypoin..." 6 hours ago Up 4 minutes 9200/tcp, 9300/tcp edx.devstack.elasticsearch
368bda55f76d memcached:1.4.24 "/entrypoint.sh me..." 6 hours ago Up 4 minutes 11211/tcp edx.devstack.memcached
66508fd9ef7e mysql:5.6 "docker-entrypoint..." 11 hours ago Up 4 minutes 3306/tcp edx.devstack.mysql
c1031e145402 mongo:3.0.14 "/entrypoint.sh mo..." 11 hours ago Up 4 minutes 27017/tcp edx.devstack.mongo
~/workspace/devstack @ slab [spg] ๐ Sat Mar 18 08:42:37 $ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
edxops/edxapp devstack 4a48ca9f4498 20 hours ago 2.71 GB
edxops/ecommerce devstack f80140c63c6f 22 hours ago 1.69 GB
edxops/discovery devstack 49fd8792b4b0 22 hours ago 1.43 GB
edxops/credentials devstack 5d045e2e7878 22 hours ago 1.33 GB
mysql 5.6 673eeb95a1a4 2 weeks ago 328 MB
mongo 3.0.14 134dce136e2e 2 weeks ago 270 MB
eugenmayer/rsync latest 9ca469cbe0e4 3 weeks ago 54.1 MB
edxops/elasticsearch devstack bff0a7ae0833 7 weeks ago 347 MB
memcached 1.4.24 66438aa20444 16 months ago 132 MB
~/workspace/devstack @ slab [spg] ๐ Sat Mar 18 08:43:03 $ make devstack.start
docker-compose -f docker-compose.yml -f docker-compose-host.yml up
edx.devstack.elasticsearch is up-to-date
edx.devstack.memcached is up-to-date
edx.devstack.mongo is up-to-date
edx.devstack.mysql is up-to-date
Recreating 62643b387c41_62643b387c41_62643b387c41_62643b387c41_edx.devstack.edxapp
Recreating edx.devstack.discovery
Recreating edx.devstack.ecommerce
Recreating edx.devstack.credentials
ERROR: for edxapp Cannot start service edxapp: oci runtime error: container_linux.go:247: starting container process caused "exec: \"/edx/app/edxapp/devstack.sh\": stat /edx/app/edxapp/devstack.sh: no such file or directory"
ERROR: Encountered errors while bringing up the project.
~/workspace/devstack @ slab [spg] ๐ Sat Mar 18 09:11:54 $ docker info
Containers: 13
Running: 11
Paused: 0
Stopped: 2
Images: 9
Server Version: 17.03.0-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 ipvlan macvlan null overlay
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 977c511eda0925a723debdc94d09459af49d082a
runc version: a01dafd48bc1c7cc12bdb01206f9fea7dd6feb70
init version: 949e6fa
Security Options:
seccomp
Profile: default
Kernel Version: 4.9.12-moby
Operating System: Alpine Linux v3.5
OSType: linux
Architecture: x86_64
CPUs: 2
Total Memory: 3.855 GiB
Name: moby
ID: AFF5:DQKX:44ZC:HNNQ:AO4R:BVS4:RTQO:K7IU:MVZY:L3KI:QO2V:OOY3
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): true
File Descriptors: 100
Goroutines: 97
System Time: 2017-03-18T03:42:00.772886575Z
EventsListeners: 1
No Proxy: *.local, 169.254/16
Registry: https://index.docker.io/v1/
Experimental: true
Insecure Registries:
127.0.0.0/8
Live Restore Enabled: false
~/workspace/devstack @ slab [spg] ๐ Sat Mar 18 09:12:01 $ make devstack.stop docker-compose stop Stopping edx.devstack.ecommerce ... done Stopping edx.devstack.credentials ... done Stopping edx.devstack.discovery ... done Stopping edx.devstack.elasticsearch ... done Stopping edx.devstack.memcached ... done Stopping edx.devstack.mysql ... done Stopping edx.devstack.mongo ... done
~/workspace/devstack @ slab [spg] ๐ Sat Mar 18 09:16:41 $ make devstack.start.sync
docker-sync-stack start
note: You can also run docker-sync in the background with docker-sync --daemon
ok Starting rsync
ok Synced /Users/spg/workspace/credentials/
success Rsync server started
ok Synced /Users/spg/workspace/credentials/
success Starting to watch /Users/spg/workspace/credentials/ - Press CTRL-C to stop
ok Starting rsync
ok Synced /Users/spg/workspace/course-discovery/
success Rsync server started
ok Synced /Users/spg/workspace/course-discovery/
success Starting to watch /Users/spg/workspace/course-discovery/ - Press CTRL-C to stop
ok Starting rsync
ok Synced /Users/spg/workspace/ecommerce/
success Rsync server started
ok Synced /Users/spg/workspace/ecommerce/
success Starting to watch /Users/spg/workspace/ecommerce/ - Press CTRL-C to stop
ok Starting rsync
symlink has no referent: "/Users/spg/workspace/edx-platform/cms/static/edx-pattern-library/fonts"
symlink has no referent: "/Users/spg/workspace/edx-platform/cms/static/edx-pattern-library/js"
symlink has no referent: "/Users/spg/workspace/edx-platform/cms/static/edx-ui-toolkit/js"
symlink has no referent: "/Users/spg/workspace/edx-platform/cms/static/xmodule_js/common_static/edx-pattern-library/fonts"
symlink has no referent: "/Users/spg/workspace/edx-platform/cms/static/xmodule_js/common_static/edx-pattern-library/js"
symlink has no referent: "/Users/spg/workspace/edx-platform/cms/static/xmodule_js/common_static/edx-ui-toolkit/js"
symlink has no referent: "/Users/spg/workspace/edx-platform/common/lib/xmodule/xmodule/js/common_static/edx-pattern-library/fonts"
symlink has no referent: "/Users/spg/workspace/edx-platform/common/lib/xmodule/xmodule/js/common_static/edx-pattern-library/js"
symlink has no referent: "/Users/spg/workspace/edx-platform/common/lib/xmodule/xmodule/js/common_static/edx-ui-toolkit/js"
symlink has no referent: "/Users/spg/workspace/edx-platform/common/static/edx-pattern-library/fonts"
symlink has no referent: "/Users/spg/workspace/edx-platform/common/static/edx-pattern-library/js"
symlink has no referent: "/Users/spg/workspace/edx-platform/common/static/edx-ui-toolkit/js"
symlink has no referent: "/Users/spg/workspace/edx-platform/lms/static/edx-pattern-library/fonts"
symlink has no referent: "/Users/spg/workspace/edx-platform/lms/static/edx-pattern-library/js"
symlink has no referent: "/Users/spg/workspace/edx-platform/lms/static/edx-ui-toolkit/js"
symlink has no referent: "/Users/spg/workspace/edx-platform/lms/static/xmodule_js/common_static/edx-pattern-library/fonts"
symlink has no referent: "/Users/spg/workspace/edx-platform/lms/static/xmodule_js/common_static/edx-pattern-library/js"
symlink has no referent: "/Users/spg/workspace/edx-platform/lms/static/xmodule_js/common_static/edx-ui-toolkit/js"
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1249) [sender=3.1.2]
error Error starting sync, exit code 23
message sending incremental file list
./
sent 354,006 bytes received 3,254 bytes 64,956.36 bytes/sec
total size is 254,372,915 speedup is 712.01
success Rsync server started
symlink has no referent: "/Users/spg/workspace/edx-platform/cms/static/edx-pattern-library/fonts"
symlink has no referent: "/Users/spg/workspace/edx-platform/cms/static/edx-pattern-library/js"
symlink has no referent: "/Users/spg/workspace/edx-platform/cms/static/edx-ui-toolkit/js"
symlink has no referent: "/Users/spg/workspace/edx-platform/cms/static/xmodule_js/common_static/edx-pattern-library/fonts"
symlink has no referent: "/Users/spg/workspace/edx-platform/cms/static/xmodule_js/common_static/edx-pattern-library/js"
symlink has no referent: "/Users/spg/workspace/edx-platform/cms/static/xmodule_js/common_static/edx-ui-toolkit/js"
symlink has no referent: "/Users/spg/workspace/edx-platform/common/lib/xmodule/xmodule/js/common_static/edx-pattern-library/fonts"
symlink has no referent: "/Users/spg/workspace/edx-platform/common/lib/xmodule/xmodule/js/common_static/edx-pattern-library/js"
symlink has no referent: "/Users/spg/workspace/edx-platform/common/lib/xmodule/xmodule/js/common_static/edx-ui-toolkit/js"
symlink has no referent: "/Users/spg/workspace/edx-platform/common/static/edx-pattern-library/fonts"
symlink has no referent: "/Users/spg/workspace/edx-platform/common/static/edx-pattern-library/js"
symlink has no referent: "/Users/spg/workspace/edx-platform/common/static/edx-ui-toolkit/js"
symlink has no referent: "/Users/spg/workspace/edx-platform/lms/static/edx-pattern-library/fonts"
symlink has no referent: "/Users/spg/workspace/edx-platform/lms/static/edx-pattern-library/js"
symlink has no referent: "/Users/spg/workspace/edx-platform/lms/static/edx-ui-toolkit/js"
symlink has no referent: "/Users/spg/workspace/edx-platform/lms/static/xmodule_js/common_static/edx-pattern-library/fonts"
symlink has no referent: "/Users/spg/workspace/edx-platform/lms/static/xmodule_js/common_static/edx-pattern-library/js"
symlink has no referent: "/Users/spg/workspace/edx-platform/lms/static/xmodule_js/common_static/edx-ui-toolkit/js"
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1249) [sender=3.1.2]
error Error starting sync, exit code 23
message sending incremental file list
sent 353,975 bytes received 3,223 bytes 714,396.00 bytes/sec
total size is 254,372,915 speedup is 712.13
success Starting to watch /Users/spg/workspace/edx-platform/ - Press CTRL-C to stop
ok Found explicit docker-compose-dev.yml and using it from docker-compose-sync.yml
ok starting compose
Removing edx.devstack.edxapp
Starting edx.devstack.mongo
Starting edx.devstack.memcached
Starting edx.devstack.mysql
Starting edx.devstack.elasticsearch
Recreating 62643b387c41_62643b387c41_62643b387c41_62643b387c41_62643b387c41_edx.devstack.edxapp
Recreating edx.devstack.discovery
Recreating edx.devstack.credentials
Recreating edx.devstack.ecommerce
ERROR: for edxapp Cannot start service edxapp: oci runtime error: container_linux.go:247: starting container process caused "exec: \"/edx/app/edxapp/devstack.sh\": stat /edx/app/edxapp/devstack.sh: no such file or directory"
Encountered errors while bringing up the project.
EXCEPTION: #<Docker::Compose::Error: 'up' failed with status 'pid 68628 exit 1': Removing edx.devstack.edxapp>
MESSAGE: 'up' failed with status 'pid 68628 exit 1': Removing edx.devstack.edxapp
The discussion on #6 uncovered the fact that weโedXโdon't have a best-practice around pinning dependencies. Determine this best practice and which, if any, tools we should use to implement/enforce this practice.
A few potential tools:
I did make destroy
and removed all docker containers and images.
While provisioning, script ran into the following issue:
Creating edx.devstack.lms ... error
ERROR: for edx.devstack.lms Cannot create container for service lms: invalid bind mount spec "/Users/marko/docker/edx-platform:/edx/app/edxapp/edx-platform:cached": invalid mode: cached
ERROR: for lms Cannot create container for service lms: invalid bind mount spec "/Users/marko/docker/edx-platform:/edx/app/edxapp/edx-platform:cached": invalid mode: cached
ERROR: Encountered errors while bringing up the project.
make: *** [dev.provision.run] Error 1
I'm working with this dev stack.
I have made many launches before this problem and all time was well. I made changes in requirements/base.txt
in edx-platform
and after tested it i pull this changes to my custom branch in my fork.
I proceed to launch this fork in the server by first time and i got this error:
Creating edx.devstack.lms ... done
++ docker-compose exec lms bash -c 'source /edx/app/edxapp/edxapp_env && cd /edx/app/edxapp/edx-platform && NO_PYTHON_UNINSTALL=1 paver install_prereqs'
---> pavelib.prereqs.install_prereqs
---> 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/)
make: *** [Makefile:23: dev.provision.run] Error 137
I proceed to test my custom fork in local and i got the same error:
Creating edx.devstack.lms ... done
++ docker-compose exec lms bash -c 'source /edx/app/edxapp/edxapp_env && cd /edx/app/edxapp/edx-platform && NO_PYTHON_UNINSTALL=1 paver install_prereqs'
---> pavelib.prereqs.install_prereqs
---> 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/)
make: *** [Makefile:23: dev.provision.run] Error 137
So, i tested with the master
branch, without my changes in these branch, but making some changes in the same file; i got these error:
++ docker-compose exec lms bash -c 'source /edx/app/edxapp/edxapp_env && cd /edx/app/edxapp/edx-platform && NO_PYTHON_UNINSTALL=1 paver install_prereqs'
---> pavelib.prereqs.install_prereqs
---> pavelib.prereqs.install_node_prereqs
Node prereqs unchanged, skipping...
---> pavelib.prereqs.install_python_prereqs
---> pavelib.prereqs.uninstall_python_packages
NO_PYTHON_UNINSTALL is set. No attempts will be made to uninstall old Python libs.
pip install -q --disable-pip-version-check --exists-action w -r requirements/edx/pre.txt
make: *** [Makefile:23: dev.provision.run] Error 137
So, finally i proceed to remove all changes and launches again and:
++ docker-compose exec lms bash -c 'source /edx/app/edxapp/edxapp_env && cd /edx/app/edxapp/edx-platform && NO_PYTHON_UNINSTALL=1 paver install_prereqs'
---> pavelib.prereqs.install_prereqs
---> pavelib.prereqs.install_node_prereqs
Node prereqs unchanged, skipping...
---> pavelib.prereqs.install_python_prereqs
---> pavelib.prereqs.uninstall_python_packages
NO_PYTHON_UNINSTALL is set. No attempts will be made to uninstall old Python libs.
pip install -q --disable-pip-version-check --exists-action w -r requirements/edx/pre.txt
pip install -q --disable-pip-version-check --exists-action w -r requirements/edx/github.txt
pip install -q --disable-pip-version-check --exists-action w -r requirements/edx/local.txt
pip install -q --disable-pip-version-check --exists-action w -r requirements/edx/base.txt
pip install -q --disable-pip-version-check --exists-action w -r requirements/edx/paver.txt
pip install -q --disable-pip-version-check --exists-action w -r requirements/edx/post.txt
pip freeze > /edx/app/edxapp/edx-platform/test_root/log/pip_freeze.log
++ docker-compose restart lms
Which is the commonly denominator in both problems? PAVER
.
How can we launch in a first instance of our custom libraries with docker?
I can't understand it, i had to remove the repository, download again and modify it manually before to launch by first time.
The problem with this is that each time that we want make changes in the server we have to remove all source, clone again, and make all changes manually, as you can see this is not propperly and waste many time.
We can't do this all time that we made changes in requirements.
make dev.provision
Successful provisioning.
MacOS 10.12.5, Docker version 17.06.0-ce, build 02c1d87
TASK [demo : create some test users] ******************************************* [WARNING]: Exception in safe_eval() on expr: [{u'username': u'honor', u'is_superuser': False, u'hashed_password': u'pbkdf2_sha256$20000$TjE34FJjc3vv$0B7GUmH8RwrOc/BvMoxjb5j8EgnWTt3sxorDANeF7Qw=', u'is_staff': False, u'email': u'[email protected]'}, {u'username': u'audit', u'is_superuser': False, u'hashed_password': u'pbkdf2_sha256$20000$TjE34FJjc3vv$0B7GUmH8RwrOc/BvMoxjb5j8EgnWTt3sxorDANeF7Qw=', u'is_staff': False, u'email': u'[email protected]'}, {u'username': u'verified', u'is_superuser': False, u'hashed_password': u'pbkdf2_sha256$20000$TjE34FJjc3vv$0B7GUmH8RwrOc/BvMoxjb5j8EgnWTt3sxorDANeF7Qw=', u'is_staff': False, u'email': u'[email protected]'}, {u'username': u'staff', u'is_superuser': False, u'hashed_password': u'pbkdf2_sha256$20000$TjE34FJjc3vv$0B7GUmH8RwrOc/BvMoxjb5j8EgnWTt3sxorDANeF7Qw=', u'is_staff': True, u'email': u'[email protected]'}, Undefined] (name 'Undefined' is not defined) fatal: [127.0.0.1]: FAILED! => {"failed": true, "msg": "the field 'args' has an invalid value, which appears to include a variable that is undefined. The error was: 'unicode object' has no attribute 'hashed_password'\n\nThe error appears to have been in '/edx/app/edx_ansible/edx_ansible/playbooks/roles/demo/tasks/deploy.yml': line 39, column 3, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n\n- name: create some test users\n ^ here\n"} to retry, use: --limit @/edx/app/edx_ansible/edx_ansible/playbooks/edx-east/demo.retryPLAY RECAP *********************************************************************
127.0.0.1 : ok=30 changed=8 unreachable=0 failed=1
I'm not sure if this is an upstream issue in edx/configuration.
Local volumes used by devstack grow by ~560MB each time you bring the containers back up.
The first time you provision and start the devstack:
$ docker-compose ps
Name Command State Ports
---------------------------------------------------------------------------------------------------------
edx.devstack.credentials bash -c source /edx/app/cr ... Up 0.0.0.0:18150->18150/tcp
edx.devstack.discovery bash -c source /edx/app/di ... Up 0.0.0.0:18381->18381/tcp
edx.devstack.ecommerce bash -c source /edx/app/ec ... Up 0.0.0.0:18130->18130/tcp
edx.devstack.elasticsearch /docker-entrypoint.sh elas ... Up 9200/tcp, 9300/tcp
edx.devstack.lms bash -c source /edx/app/ed ... Up 0.0.0.0:18000->18000/tcp, 18010/tcp
edx.devstack.memcached /entrypoint.sh memcached Up 11211/tcp
edx.devstack.mongo docker-entrypoint.sh mongo ... Up 27017/tcp
edx.devstack.mysql docker-entrypoint.sh mysql ... Up 3306/tcp
edx.devstack.studio bash -c source /edx/app/ed ... Up 18000/tcp, 0.0.0.0:18010->18010/tcp
$ docker system df
TYPE TOTAL ACTIVE SIZE RECLAIMABLE
Images 8 8 6.475 GB 835.1 MB (12%)
Containers 9 9 637.3 kB 0 B (0%)
Local Volumes 19 19 864.2 MB 0 B (0%)
The second time:
$ docker-compose down && docker-compose up -d && docker system df
...lots of down and up messages...
TYPE TOTAL ACTIVE SIZE RECLAIMABLE
Images 8 8 6.475 GB 835.1 MB (12%)
Containers 9 9 72.42 kB 0 B (0%)
Local Volumes 35 19 1.429 GB 564.6 MB (39%)
And the third time:
$ docker-compose down && docker-compose up -d && docker system df
...lots of down and up messages...
TYPE TOTAL ACTIVE SIZE RECLAIMABLE
Images 8 8 6.475 GB 835.1 MB (12%)
Containers 9 9 72.42 kB 0 B (0%)
Local Volumes 51 19 1.993 GB 1.129 GB (56%)
The provisioning script currently brings the services online, but does not take them down after completion. Update the provisioning script to take the services down if they were not already running. If they were running, assume the user wants to keep them running.
The Docker image for the services does not include the static assets for Django Debug Toolbar. This seems to be due to the fact that the ENABLE_DJANGO_TOOLBAR
environment variable is not set when devstack.sh
is called at start time. Find a way to properly transfer this value when calling Ansible so that these assets are compiled. It would also be nice if the value is set when the Docker image is created so that they are available without having to run devstack.sh
.
See https://www.whois.com/whois/docker.host. We probably shouldnโt use it for loopback.
I suggest maybe docker-host.localhost
?
After setting up courses and refreshing course meta-data in catalog service, trying to go to
/courses in LMS yields the following error:
edx.devstack.edxapp | 2017-01-25 10:07:57,926 ERROR 52 [search.views] views.py:226 - Search view exception when searching for for user 2: ConnectionError('N/A', "HTTPConnectionPool(host=u'port', port=9200): Max retries exceeded with url: /courseware_index (Caused by <class 'socket.gaierror'>: [Errno -2] Name or service not known)", MaxRetryError("HTTPConnectionPool(host=u'port', port=9200): Max retries exceeded with url: /courseware_index (Caused by <class 'socket.gaierror'>: [Errno -2] Name or service not known)",))
edx.devstack.edxapp | Traceback (most recent call last):
edx.devstack.edxapp | File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/search/views.py", line 195, in course_discovery
edx.devstack.edxapp | field_dictionary=field_dictionary,
edx.devstack.edxapp | File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/search/api.py", line 83, in course_discovery_search
edx.devstack.edxapp | searcher = SearchEngine.get_search_engine(getattr(settings, "COURSEWARE_INDEX_NAME", "courseware_index"))
edx.devstack.edxapp | File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/search/search_engine_base.py", line 50, in get_search_engine
edx.devstack.edxapp | return search_engine_class(index=index) if search_engine_class else None
edx.devstack.edxapp | File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/search/elastic.py", line 275, in init
edx.devstack.edxapp | if not self._es.indices.exists(index=self.index_name):
edx.devstack.edxapp | File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/elasticsearch/client/utils.py", line 70, in _wrapped
edx.devstack.edxapp | return func(*args, params=params, **kwargs)
edx.devstack.edxapp | File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/elasticsearch/client/indices.py", line 149, in exists
edx.devstack.edxapp | self.transport.perform_request('HEAD', _make_path(index), params=params)
edx.devstack.edxapp | File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/elasticsearch/transport.py", line 274, in perform_request
edx.devstack.edxapp | status, headers, data = connection.perform_request(method, url, params, body, ignore=ignore)
edx.devstack.edxapp | File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/elasticsearch/connection/http_urllib3.py", line 51, in perform_request
edx.devstack.edxapp | raise ConnectionError('N/A', str(e), e)
edx.devstack.edxapp | ConnectionError: ConnectionError(HTTPConnectionPool(host=u'port', port=9200): Max retries exceeded with url: /courseware_index (Caused by <class 'socket.gaierror'>: [Errno -2] Name or service not known)) caused by: MaxRetryError(HTTPConnectionPool(host=u'port', port=9200): Max retries exceeded with url: /courseware_index (Caused by <class 'socket.gaierror'>: [Errno -2] Name or service not known))
edx.devstack.edxapp |
edx.devstack.edxapp | ==> /edx/var/log/nginx/access.log <==
edx.devstack.edxapp | - - 172.19.0.1 - - [25/Jan/2017:15:07:57 +0000] "POST /search/course_discovery/ HTTP/1.1" 500 65 0.276 "http://localhost:18000/courses" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.95 Safari/537.36"
We should add the following to the README on how to restart a service while shelled into it.
/edx/app/supervisor/venvs/supervisor/bin/supervisorctl restart
We use Splunk at edX to aggregate logs. It would be nice to have a similar solution for devstack. Splunk may be cost-prohibitive, so consider alternative solutions.
I get the following error when executing make devstack.provision:
`./provision.sh
Creating network "devstack_default" with the default driver
Creating edx.devstack.mysql
Creating edx.devstack.memcached
Creating edx.devstack.elasticsearch
Creating edx.devstack.programs
Creating edx.devstack.discovery
Creating edx.devstack.ecommerce
Creating edx.devstack.credentials
Python 2.7.6 (default, Jun 22 2015, 17:58:13)
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
Traceback (most recent call last):
File "", line 1, in
File "/edx/app/credentials/venvs/credentials/local/lib/python2.7/site-packages/django/contrib/auth/models.py", line 191, in create_superuser
**extra_fields)
File "/edx/app/credentials/venvs/credentials/local/lib/python2.7/site-packages/django/contrib/auth/models.py", line 182, in _create_user
user.save(using=self._db)
File "/edx/app/credentials/venvs/credentials/local/lib/python2.7/site-packages/django/db/models/base.py", line 734, in save
force_update=force_update, update_fields=update_fields)
File "/edx/app/credentials/venvs/credentials/local/lib/python2.7/site-packages/django/db/models/base.py", line 762, in save_base
updated = self._save_table(raw, cls, force_insert, force_update, using, update_fields)
File "/edx/app/credentials/venvs/credentials/local/lib/python2.7/site-packages/django/db/models/base.py", line 846, in _save_table
result = self._do_insert(cls._base_manager, using, fields, update_pk, raw)
File "/edx/app/credentials/venvs/credentials/local/lib/python2.7/site-packages/django/db/models/base.py", line 885, in _do_insert
using=using, raw=raw)
File "/edx/app/credentials/venvs/credentials/local/lib/python2.7/site-packages/django/db/models/manager.py", line 127, in manager_method
return getattr(self.get_queryset(), name)(*args, **kwargs)
File "/edx/app/credentials/venvs/credentials/local/lib/python2.7/site-packages/django/db/models/query.py", line 920, in _insert
return query.get_compiler(using=using).execute_sql(return_id)
File "/edx/app/credentials/venvs/credentials/local/lib/python2.7/site-packages/django/db/models/sql/compiler.py", line 974, in execute_sql
cursor.execute(sql, params)
File "/edx/app/credentials/venvs/credentials/local/lib/python2.7/site-packages/django/db/backends/utils.py", line 79, in execute
return super(CursorDebugWrapper, self).execute(sql, params)
File "/edx/app/credentials/venvs/credentials/local/lib/python2.7/site-packages/django/db/backends/utils.py", line 64, in execute
return self.cursor.execute(sql, params)
File "/edx/app/credentials/venvs/credentials/local/lib/python2.7/site-packages/django/db/utils.py", line 98, in exit
six.reraise(dj_exc_type, dj_exc_value, traceback)
File "/edx/app/credentials/venvs/credentials/local/lib/python2.7/site-packages/django/db/backends/utils.py", line 64, in execute
return self.cursor.execute(sql, params)
File "/edx/app/credentials/venvs/credentials/local/lib/python2.7/site-packages/django/db/backends/mysql/base.py", line 124, in execute
return self.cursor.execute(query, args)
File "/edx/app/credentials/venvs/credentials/local/lib/python2.7/site-packages/MySQLdb/cursors.py", line 205, in execute
self.errorhandler(self, exc, value)
File "/edx/app/credentials/venvs/credentials/local/lib/python2.7/site-packages/MySQLdb/connections.py", line 36, in defaulterrorhandler
raise errorclass, errorvalue
ProgrammingError: (1146, "Table 'credentials.core_user' doesn't exist")
Traceback (most recent call last):
File "/edx/app/discovery/discovery/course_discovery/settings/utils.py", line 9, in get_env_setting
return environ[setting]
File "/edx/app/discovery/venvs/discovery/lib/python3.5/os.py", line 725, in getitem
raise KeyError(key) from None
KeyError: 'COURSE_DISCOVERY_CFG'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/edx/app/discovery/discovery/manage.py", line 15, in
execute_from_command_line(sys.argv)
File "/edx/app/discovery/venvs/discovery/lib/python3.5/site-packages/django/core/management/init.py", line 353, in execute_from_command_line
utility.execute()
File "/edx/app/discovery/venvs/discovery/lib/python3.5/site-packages/django/core/management/init.py", line 345, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/edx/app/discovery/venvs/discovery/lib/python3.5/site-packages/django/core/management/base.py", line 360, in run_from_argv
connections.close_all()
File "/edx/app/discovery/venvs/discovery/lib/python3.5/site-packages/django/db/utils.py", line 230, in close_all
for alias in self:
File "/edx/app/discovery/venvs/discovery/lib/python3.5/site-packages/django/db/utils.py", line 224, in iter
return iter(self.databases)
File "/edx/app/discovery/venvs/discovery/lib/python3.5/site-packages/django/utils/functional.py", line 33, in get
res = instance.dict[self.name] = self.func(instance)
File "/edx/app/discovery/venvs/discovery/lib/python3.5/site-packages/django/db/utils.py", line 157, in databases
self._databases = settings.DATABASES
File "/edx/app/discovery/venvs/discovery/lib/python3.5/site-packages/django/conf/init.py", line 55, in getattr
self._setup(name)
File "/edx/app/discovery/venvs/discovery/lib/python3.5/site-packages/django/conf/init.py", line 43, in _setup
self._wrapped = Settings(settings_module)
File "/edx/app/discovery/venvs/discovery/lib/python3.5/site-packages/django/conf/init.py", line 99, in init
mod = importlib.import_module(self.SETTINGS_MODULE)
File "/edx/app/discovery/venvs/discovery/lib/python3.5/importlib/init.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "", line 986, in _gcd_import
File "", line 969, in _find_and_load
File "", line 958, in _find_and_load_unlocked
File "", line 673, in _load_unlocked
File "", line 665, in exec_module
File "", line 222, in _call_with_frames_removed
File "/edx/app/discovery/discovery/course_discovery/settings/devstack.py", line 1, in
from course_discovery.settings.production import *
File "/edx/app/discovery/discovery/course_discovery/settings/production.py", line 25, in
CONFIG_FILE = get_env_setting('COURSE_DISCOVERY_CFG')
File "/edx/app/discovery/discovery/course_discovery/settings/utils.py", line 12, in get_env_setting
raise ImproperlyConfigured(error_msg)
django.core.exceptions.ImproperlyConfigured: Set the [COURSE_DISCOVERY_CFG] env variable!
/edx/app/ecommerce/venvs/ecommerce/local/lib/python2.7/site-packages/haystack/utils/init.py:12: RemovedInDjango19Warning: django.utils.importlib will be removed in Django 1.9.
from django.utils import importlib
2016-12-27 12:14:21,083 WARNING 32 [py.warnings] /edx/app/ecommerce/venvs/ecommerce/local/lib/python2.7/site-packages/django/utils/importlib.py:9 - /edx/app/ecommerce/venvs/ecommerce/local/lib/python2.7/site-packages/haystack/utils/init.py:12: RemovedInDjango19Warning: django.utils.importlib will be removed in Django 1.9.
from django.utils import importlib
/edx/app/ecommerce/venvs/ecommerce/local/lib/python2.7/site-packages/oscar/apps/catalogue/abstract_models.py:20: RemovedInDjango19Warning: django.contrib.contenttypes.generic is deprecated and will be removed in Django 1.9. Its contents have been moved to the fields, forms, and admin submodules of django.contrib.contenttypes.
from django.contrib.contenttypes.generic import GenericForeignKey
2016-12-27 12:14:21,366 WARNING 32 [py.warnings] /edx/app/ecommerce/venvs/ecommerce/local/lib/python2.7/site-packages/django/contrib/contenttypes/generic.py:10 - /edx/app/ecommerce/venvs/ecommerce/local/lib/python2.7/site-packages/oscar/apps/catalogue/abstract_models.py:20: RemovedInDjango19Warning: django.contrib.contenttypes.generic is deprecated and will be removed in Django 1.9. Its contents have been moved to the fields, forms, and admin submodules of django.contrib.contenttypes.
from django.contrib.contenttypes.generic import GenericForeignKey
2016-12-27 12:14:25,105 ERROR 32 [ecommerce.core.config] /edx/app/ecommerce/ecommerce/ecommerce/core/config.py:32 - DB error when validating configuration - most likely DB was not created yet - skipping
Traceback (most recent call last):
File "/edx/app/ecommerce/ecommerce/ecommerce/core/config.py", line 30, in ready
validate_configuration()
File "/edx/app/ecommerce/ecommerce/ecommerce/core/models.py", line 517, in validate_configuration
for config in SiteConfiguration.objects.all():
File "/edx/app/ecommerce/venvs/ecommerce/local/lib/python2.7/site-packages/django/db/models/query.py", line 162, in iter
self._fetch_all()
File "/edx/app/ecommerce/venvs/ecommerce/local/lib/python2.7/site-packages/django/db/models/query.py", line 965, in _fetch_all
self._result_cache = list(self.iterator())
File "/edx/app/ecommerce/venvs/ecommerce/local/lib/python2.7/site-packages/django/db/models/query.py", line 238, in iterator
results = compiler.execute_sql()
File "/edx/app/ecommerce/venvs/ecommerce/local/lib/python2.7/site-packages/django/db/models/sql/compiler.py", line 840, in execute_sql
cursor.execute(sql, params)
File "/edx/app/ecommerce/venvs/ecommerce/local/lib/python2.7/site-packages/django/db/backends/utils.py", line 79, in execute
return super(CursorDebugWrapper, self).execute(sql, params)
File "/edx/app/ecommerce/venvs/ecommerce/local/lib/python2.7/site-packages/django/db/backends/utils.py", line 64, in execute
return self.cursor.execute(sql, params)
File "/edx/app/ecommerce/venvs/ecommerce/local/lib/python2.7/site-packages/django/db/utils.py", line 98, in exit
six.reraise(dj_exc_type, dj_exc_value, traceback)
File "/edx/app/ecommerce/venvs/ecommerce/local/lib/python2.7/site-packages/django/db/backends/utils.py", line 64, in execute
return self.cursor.execute(sql, params)
File "/edx/app/ecommerce/venvs/ecommerce/local/lib/python2.7/site-packages/django/db/backends/mysql/base.py", line 124, in execute
return self.cursor.execute(query, args)
File "/edx/app/ecommerce/venvs/ecommerce/local/lib/python2.7/site-packages/MySQLdb/cursors.py", line 205, in execute
self.errorhandler(self, exc, value)
File "/edx/app/ecommerce/venvs/ecommerce/local/lib/python2.7/site-packages/MySQLdb/connections.py", line 36, in defaulterrorhandler
raise errorclass, errorvalue
ProgrammingError: (1146, "Table 'ecommerce.core_siteconfiguration' doesn't exist")
Python 2.7.12 (default, Jul 1 2016, 15:12:24)
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
Traceback (most recent call last):
File "", line 1, in
File "/edx/app/ecommerce/venvs/ecommerce/local/lib/python2.7/site-packages/django/contrib/auth/models.py", line 191, in create_superuser
**extra_fields)
File "/edx/app/ecommerce/venvs/ecommerce/local/lib/python2.7/site-packages/django/contrib/auth/models.py", line 182, in _create_user
user.save(using=self._db)
File "/edx/app/ecommerce/venvs/ecommerce/local/lib/python2.7/site-packages/django/db/models/base.py", line 734, in save
force_update=force_update, update_fields=update_fields)
File "/edx/app/ecommerce/venvs/ecommerce/local/lib/python2.7/site-packages/django/db/models/base.py", line 762, in save_base
updated = self._save_table(raw, cls, force_insert, force_update, using, update_fields)
File "/edx/app/ecommerce/venvs/ecommerce/local/lib/python2.7/site-packages/django/db/models/base.py", line 846, in _save_table
result = self._do_insert(cls._base_manager, using, fields, update_pk, raw)
File "/edx/app/ecommerce/venvs/ecommerce/local/lib/python2.7/site-packages/django/db/models/base.py", line 885, in _do_insert
using=using, raw=raw)
File "/edx/app/ecommerce/venvs/ecommerce/local/lib/python2.7/site-packages/django/db/models/manager.py", line 127, in manager_method
return getattr(self.get_queryset(), name)(*args, **kwargs)
File "/edx/app/ecommerce/venvs/ecommerce/local/lib/python2.7/site-packages/django/db/models/query.py", line 920, in _insert
return query.get_compiler(using=using).execute_sql(return_id)
File "/edx/app/ecommerce/venvs/ecommerce/local/lib/python2.7/site-packages/django/db/models/sql/compiler.py", line 974, in execute_sql
cursor.execute(sql, params)
File "/edx/app/ecommerce/venvs/ecommerce/local/lib/python2.7/site-packages/django/db/backends/utils.py", line 79, in execute
return super(CursorDebugWrapper, self).execute(sql, params)
File "/edx/app/ecommerce/venvs/ecommerce/local/lib/python2.7/site-packages/django/db/backends/utils.py", line 64, in execute
return self.cursor.execute(sql, params)
File "/edx/app/ecommerce/venvs/ecommerce/local/lib/python2.7/site-packages/django/db/utils.py", line 98, in exit
six.reraise(dj_exc_type, dj_exc_value, traceback)
File "/edx/app/ecommerce/venvs/ecommerce/local/lib/python2.7/site-packages/django/db/backends/utils.py", line 64, in execute
return self.cursor.execute(sql, params)
File "/edx/app/ecommerce/venvs/ecommerce/local/lib/python2.7/site-packages/django/db/backends/mysql/base.py", line 124, in execute
return self.cursor.execute(query, args)
File "/edx/app/ecommerce/venvs/ecommerce/local/lib/python2.7/site-packages/MySQLdb/cursors.py", line 205, in execute
self.errorhandler(self, exc, value)
File "/edx/app/ecommerce/venvs/ecommerce/local/lib/python2.7/site-packages/MySQLdb/connections.py", line 36, in defaulterrorhandler
raise errorclass, errorvalue
ProgrammingError: (1146, "Table 'ecommerce.ecommerce_user' doesn't exist")
Python 2.7.6 (default, Jun 22 2015, 17:58:13)
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
Traceback (most recent call last):
File "", line 1, in
File "/edx/app/programs/venvs/programs/local/lib/python2.7/site-packages/django/contrib/auth/models.py", line 191, in create_superuser
**extra_fields)
File "/edx/app/programs/venvs/programs/local/lib/python2.7/site-packages/django/contrib/auth/models.py", line 182, in _create_user
user.save(using=self._db)
File "/edx/app/programs/venvs/programs/local/lib/python2.7/site-packages/django/db/models/base.py", line 734, in save
force_update=force_update, update_fields=update_fields)
File "/edx/app/programs/venvs/programs/local/lib/python2.7/site-packages/django/db/models/base.py", line 762, in save_base
updated = self._save_table(raw, cls, force_insert, force_update, using, update_fields)
File "/edx/app/programs/venvs/programs/local/lib/python2.7/site-packages/django/db/models/base.py", line 846, in _save_table
result = self._do_insert(cls._base_manager, using, fields, update_pk, raw)
File "/edx/app/programs/venvs/programs/local/lib/python2.7/site-packages/django/db/models/base.py", line 885, in _do_insert
using=using, raw=raw)
File "/edx/app/programs/venvs/programs/local/lib/python2.7/site-packages/django/db/models/manager.py", line 127, in manager_method
return getattr(self.get_queryset(), name)(*args, **kwargs)
File "/edx/app/programs/venvs/programs/local/lib/python2.7/site-packages/django/db/models/query.py", line 920, in _insert
return query.get_compiler(using=using).execute_sql(return_id)
File "/edx/app/programs/venvs/programs/local/lib/python2.7/site-packages/django/db/models/sql/compiler.py", line 974, in execute_sql
cursor.execute(sql, params)
File "/edx/app/programs/venvs/programs/local/lib/python2.7/site-packages/django/db/backends/utils.py", line 79, in execute
return super(CursorDebugWrapper, self).execute(sql, params)
File "/edx/app/programs/venvs/programs/local/lib/python2.7/site-packages/django/db/backends/utils.py", line 64, in execute
return self.cursor.execute(sql, params)
File "/edx/app/programs/venvs/programs/local/lib/python2.7/site-packages/django/db/utils.py", line 98, in exit
six.reraise(dj_exc_type, dj_exc_value, traceback)
File "/edx/app/programs/venvs/programs/local/lib/python2.7/site-packages/django/db/backends/utils.py", line 64, in execute
return self.cursor.execute(sql, params)
File "/edx/app/programs/venvs/programs/local/lib/python2.7/site-packages/django/db/backends/mysql/base.py", line 124, in execute
return self.cursor.execute(query, args)
File "/edx/app/programs/venvs/programs/local/lib/python2.7/site-packages/MySQLdb/cursors.py", line 205, in execute
self.errorhandler(self, exc, value)
File "/edx/app/programs/venvs/programs/local/lib/python2.7/site-packages/MySQLdb/connections.py", line 36, in defaulterrorhandler
raise errorclass, errorvalue
ProgrammingError: (1146, "Table 'programs.core_user' doesn't exist")
Traceback (most recent call last):
File "/edx/app/discovery/discovery/course_discovery/settings/utils.py", line 9, in get_env_setting
return environ[setting]
File "/edx/app/discovery/venvs/discovery/lib/python3.5/os.py", line 725, in getitem
raise KeyError(key) from None
KeyError: 'COURSE_DISCOVERY_CFG'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/edx/app/discovery/discovery/manage.py", line 15, in
execute_from_command_line(sys.argv)
File "/edx/app/discovery/venvs/discovery/lib/python3.5/site-packages/django/core/management/init.py", line 353, in execute_from_command_line
utility.execute()
File "/edx/app/discovery/venvs/discovery/lib/python3.5/site-packages/django/core/management/init.py", line 345, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/edx/app/discovery/venvs/discovery/lib/python3.5/site-packages/django/core/management/init.py", line 185, in fetch_command
settings.INSTALLED_APPS
File "/edx/app/discovery/venvs/discovery/lib/python3.5/site-packages/django/conf/init.py", line 55, in getattr
self._setup(name)
File "/edx/app/discovery/venvs/discovery/lib/python3.5/site-packages/django/conf/init.py", line 43, in _setup
self._wrapped = Settings(settings_module)
File "/edx/app/discovery/venvs/discovery/lib/python3.5/site-packages/django/conf/init.py", line 99, in init
mod = importlib.import_module(self.SETTINGS_MODULE)
File "/edx/app/discovery/venvs/discovery/lib/python3.5/importlib/init.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "", line 986, in _gcd_import
File "", line 969, in _find_and_load
File "", line 958, in _find_and_load_unlocked
File "", line 673, in _load_unlocked
File "", line 665, in exec_module
File "", line 222, in _call_with_frames_removed
File "/edx/app/discovery/discovery/course_discovery/settings/devstack.py", line 1, in
from course_discovery.settings.production import *
File "/edx/app/discovery/discovery/course_discovery/settings/production.py", line 25, in
CONFIG_FILE = get_env_setting('COURSE_DISCOVERY_CFG')
File "/edx/app/discovery/discovery/course_discovery/settings/utils.py", line 12, in get_env_setting
raise ImproperlyConfigured(error_msg)
django.core.exceptions.ImproperlyConfigured: Set the [COURSE_DISCOVERY_CFG] env variable!
Makefile:16: recipe for target 'devstack.provision' failed
make: *** [devstack.provision] Error 1
`
When I upload an image (through django admin or otherwise) I get the following error:
PermissionError: [Errno 13] Permission denied: '/edx/var/discovery/media'
Maybe worth adding to the README.md or an INSTALL.md?
Installing from scratch on a Debian machine the following system requirements need to be fulfilled:
Running pip install -r requirements.txt
in the devstack folder will install docker-compose
.
Getting the Python unit tests is a good first step towards getting other tests in edx-platform working. We need these working if we want to use this devstack for developing edxapp.
I just got back to looking at Open edx again.
I am using docker Version 17.06.0-ce-mac18 (18433) Channel: stable d9b66511e0
When I run make dev.clone
I am seeing this
$ make dev.clone
./clone.sh
./clone.sh: line 36: [: : integer expression expected
Not sure if it's connected to #78 but I also get a Studio install without asset compiled which seem to have been experienced by others and reported in slack.
# paver update_assets --settings devstack_docker
---> pavelib.assets.update_assets
---> pavelib.prereqs.install_node_prereqs
Node prereqs unchanged, skipping...
xmodule_assets common/static/xmodule
Traceback (most recent call last):
File "/edx/app/edxapp/venvs/edxapp/bin/xmodule_assets", line 6, in <module>
from pkg_resources import load_entry_point
File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 3030, in <module>
@_call_aside
File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 3014, in _call_aside
f(*args, **kwargs)
File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 3043, in _initialize_master_working_set
working_set = WorkingSet._build_master()
File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 654, in _build_master
ws.require(__requires__)
File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 968, in require
needed = self.resolve(parse_requirements(requirements))
File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 854, 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
xmodule_assets common/static/xmodule
Build failed running pavelib.assets.update_assets: Subprocess return code: 1
Some of the existing target names are hard to work with and/or redundant. I think we can do better.
To be more precise:
devstack.
prefix. What does this add? Can we get rid of it?start
and reset
instead of up
and down
, or (less painful) update-images
instead of pull
. Can we stick to the names used by Docker and Docker Compose where possible? We have the help target to explain where necessary.make <play>-shell
. "Open" means different things to different people (e.g., open a browser).There may be other improvements, but this seems like a good place to start.
@clintonb FYI.
The elasticsearch-head plugin provides a nice UI for viewing indices and running queries. Install it on the Elasticsearch service to aid development.
After install, when trying to navigate on the platform I get this error. There are a couple of messages on google groups about it (one mentionning a mongo lock file) and another mention in the openedx slack which seems like a good lead:
Richard Moch
So: such error happens when the file requirement/edx/local.txt fails to install edx-platform as a Python package
Posted in #generalDec 28th, 2016 at 4:56 PM
Will investigate more.
Our clone.sh
uses --depth 1
to save time, but this makes the repos hard to develop with.
We should just take the cloning penalty, or provide instructions on how to deal with a shallow clone.
++ docker-compose exec lms bash -c 'source /edx/app/edxapp/edxapp_env && cd /edx/app/edxapp/edx-platform && NO_PREREQ_INSTALL=1 paver update_db --settings devstack_docker'
Traceback (most recent call last):
File "/edx/app/edxapp/venvs/edxapp/bin/paver", line 11, in <module>
sys.exit(main())
File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/paver/tasks.py", line 878, in main
_launch_pavement(args)
File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/paver/tasks.py", line 846, in _launch_pavement
exec(compile(source, environment.pavement_file, 'exec'), mod.__dict__)
File "pavement.py", line 14, in <module>
from pavelib import *
File "pavelib/__init__.py", line 4, in <module>
from . import assets, servers, docs, prereqs, quality, tests, js_test, i18n, bok_choy, acceptance_test
File "pavelib/assets.py", line 23, in <module>
from .utils.envs import Env
File "pavelib/utils/envs.py", line 18, in <module>
class Env(object):
File "pavelib/utils/envs.py", line 24, in Env
REPO_ROOT = path(__file__).abspath().parent.parent.parent
File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/path.py", line 293, in abspath
return self._next_class(self.module.abspath(self))
File "/edx/app/edxapp/venvs/edxapp/lib/python2.7/posixpath.py", line 362, in abspath
cwd = os.getcwdu()
OSError: [Errno 2] No such file or directory
make: *** [dev.provision.run] Error 1
I needed to find the default staff login to LMS in the yml file. We should add
[email protected] / edx to the README
Hi there,
I'm wondering whether watching assets is supported in the devstack? Here's what I think I've understood so far:
paver watch_assets
just results in:# paver watch_assets
---> pavelib.assets.watch_assets
find /edx/app/edxapp/edx-platform/lms /edx/app/edxapp/edx-platform/cms /edx/app/edxapp/edx-platform/common -type f -name "*.coffee"
Starting asset watcher...
But changing sass files doesn't do anything, presumably because by default its only watching coffee files.
paver update_assets --watch --settings devstack_docker
Triggers a recompile and collects the assets but doesn't keep the watch process. (maybe related to the background mode? although no process seems to be running after that).
paver update_assets --watch --debug --settings devstack_docker
Given that debug deactivates the background mode I tried this too, but although it does keep a watch process in the foreground and triggers recompiles on file changes correctly it doesn't collect the assets.
It seems from #64 that other apps have other approaches to watching assets and recompiling.
It would be great if correct settings were wrapped up in make devstack.start.watch
command!
Cheers,
Jun
If docker-sync
isn't installed, make down
doesn't behave properly:
$ make down
test -d .docker-sync && docker-sync clean
make: *** [down] Error 1
I'm not able to run edX studio with paver devstack studio
as I 'm having an XModule distribution error
xmodule_assets common/static/xmodule
Traceback (most recent call last):
File "/edx/app/edxapp/venvs/edxapp/bin/xmodule_assets", line 5, in <module>
from pkg_resources import load_entry_point
File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 3084, in <module>
@_call_aside
File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 3070, in _call_aside
f(*args, **kwargs)
File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 3097, in _initialize_master_working_set
working_set = WorkingSet._build_master()
File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 651, in _build_master
ws.require(__requires__)
File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 952, in require
needed = self.resolve(parse_requirements(requirements))
File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 839, in resolve
raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'XModule==0.1.1' distribution was not found and is required by the application
Captured Task Output:
---------------------
---> pavelib.servers.devstack
---> pavelib.prereqs.install_prereqs
---> pavelib.prereqs.install_node_prereqs
---> pavelib.prereqs.install_python_prereqs
---> pavelib.prereqs.uninstall_python_packages
python manage.py cms --settings=devstack reindex_course --setup
---> pavelib.assets.update_assets
python manage.py lms --settings=devstack preprocess_assets lms/static/sass/*.scss lms/static/themed_sass
xmodule_assets common/static/xmodule
Build failed running pavelib.servers.devstack: Subprocess return code: 1
How can I solve this issue without having to reinstall devstack as I don't want to lose all the work I've done
The dest
field has been removed as of docker-sync version 0.3+ (https://github.com/EugenMayer/docker-sync/wiki/1.2-Upgrade-Guide#dest-has-been-removed). This breaks our ability to run make dev.sync.provision
.
I have primarily seen permissions errors around the ecommerce app. Here is a temporary fix until the image is repaired.
make devstack.open.ecommerce
.cd /edx/app/ecommerce/ecommerce
make static
chmod -R g+w /edx/var/ecommerce/
chgrp -R www-data /edx/var/ecommerce/
This issue is the successor of a private issue: https://github.com/openedx/decoupling/issues/58
Currently, Devstack's service images are hosted in the edxops
DockerHub org. Considering devstack as a community tool, this is not ideal for three reasons:
edxops
itself is owned by edX,edxops
are built on an edX-managed Jenkins instance, andA combination of these approaches may be warranted.
openedx
DockerHub org.This succeeds in removing our dependency on edX's DockerHub account and edX's build server. However, it means we'd still be using the non-ideal Ansible-baked images. Worse, we'd be tainting the openedx
DockerHub organization with the Ansible images, which seems like a bit of a step backwards architecturally.
openedx
DockerHub org.There are Dockerfiles checked into most service repos, which currently auto-push mostly-unsued yet idiomatic and Ansible-free images into the openedx
DockerHub org. We could switch devstack over from the edxops
images to these existing openedx
images, with some modifications to ensure that they new images work with devstack. This is harder than Approach 1 but would presumably be beneficial for devstack users and the containerization effort in general.
The build-test-release WG has already decided that Tutor is the one-and-only community-supported installation method for Open edX. Although edX and some other community members still use devstack heavily, Tutor also seems to be the predominant development stack. If we felt that deprecating devstack in favor of Tutor was the right move, then the transition off of the edxops
images be coupled to the transition to Tutor.
As for the openedx
DockerHub org, we'd either shut it down, or perhaps make it a mirror for Tutor images.
This effort required to achieve this is captured in a platform roadmap item: Enhance Tutor so that it may replace Devstack.
I'm trying out Approach 2 for edx-platform and credentials. Relevant PRs:
We are putting down Approach 2 in favor of focusing our energy on Approach 3 (replace devstack with tutor).
Invoke is a Python (2.6+ and 3.3+) task execution tool which takes inspiration from GNU Make and Ruby's Rake. It places an emphasis on minimal boilerplate and provides traditional flag-based style command-line parsing and automatic help-text generation; see the link for more.
We should use invoke instead of Make to avoid the need for arcane lines like this and unhelpful stuff like updating this.
make stop
docker-sync stop
docker-sync clean
This should probably be incorporated into a Make target, similar to clean-marketing-sync
. Renaming it to clean
, and moving it to Makefile
should be sufficient.
Users should be using Docker Sync 0.4.6
, or above.
docker-sync --version
gem update docker-sync
edX uses Mongo 3.0 in production. Devstack should reflect this fact. Use the existing configuration to pull, and configure, the container correctly. Specifically, note that we use the WiredTiger storage engine.
Running edxapp tests creates a new database with every run. This leads to mongod
shutting down due to lack of storage space. I fixed this by deleting all of the test databases.
db.getMongo().getDBNames().forEach(function(name) {
if(name.match("^test")) {
db.getMongo().getDB( name ).dropDatabase();
}
});
We should find a way to have the tests cleanup after themselves.
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.