Closed adesrod closed 5 years ago
Hi, This was fixed in 5a34a1191a48bdbb7cad64d7f422f1822906ada8 commit. volumes for media transcripts are required in nginx service
@adesrod can you confirm this is fixed by upgrading? please check the documentation for upgrading instructions.
Hello @regisb, I tried with the last version (tutor version 3) and created and demo course with the command "tutor local importdemocourse", then from the platform I attempted export course but again in the second step I get the next error:
Exporting [Errno 2] No such file or directory: u'/openedx/data/uploads/video-transcripts/4705ad2da7324986af66374ccab78089.sjson'
This is strange. Can you please post here the result of the following command:
cat $(tutor config printroot)/env/local/docker-compose.yml
There shouldn't be any confidential information in there.
cat $(tutor config printroot)/env/local/docker-compose.yml
version: "3"
services:
############# External services
memcached:
image: memcached:1.4.38
restart: unless-stopped
mongodb:
image: mongo:3.2.16
# Use WiredTiger in all environments, just like at edx.org
command: mongod --smallfiles --nojournal --storageEngine wiredTiger
restart: unless-stopped
volumes:
- ../../data/mongodb:/data/db
mysql:
image: mysql:5.6.36
command: mysqld --character-set-server=utf8 --collation-server=utf8_general_ci
restart: unless-stopped
volumes:
- ../../data/mysql:/var/lib/mysql
env_file: ../apps/mysql/auth.env
elasticsearch:
image: elasticsearch:1.5.2
environment:
- "ES_JAVA_OPTS=-Xms1g -Xmx1g"
- "cluster.name=openedx"
- "bootstrap.memory_lock=true"
ulimits:
memlock:
soft: -1
hard: -1
restart: unless-stopped
volumes:
- ../../data/elasticsearch:/usr/share/elasticsearch/data
openedx-assets:
image: regis/openedx:hawthorn
volumes:
- ../../data/openedx:/var/www/openedx
command: bash -c "rm -rf /var/www/openedx/staticfiles && cp -r /openedx/staticfiles/ /var/www/openedx/"
nginx:
image: nginx:1.13
restart: unless-stopped
ports:
- "80:80"
- "443:443"
volumes:
- ../apps/nginx:/etc/nginx/conf.d/
- ../../data/openedx:/var/www/openedx:ro
- ../../data/cms:/openedx/data/cms/:ro
- ../../data/lms:/openedx/data/lms/:ro
- ../../data/letsencrypt:/etc/letsencrypt/:ro
depends_on:
- lms
- cms
- notes
rabbitmq:
image: rabbitmq:3.6.10
volumes:
- ../../data/rabbitmq:/var/lib/rabbitmq
restart: unless-stopped
# Simple SMTP server
smtp:
image: namshi/smtp
restart: unless-stopped
############# Forum
forum:
image: regis/openedx-forum:hawthorn
restart: unless-stopped
depends_on:
- elasticsearch
- mongodb
############# LMS and CMS
lms:
image: regis/openedx:hawthorn
environment:
SERVICE_VARIANT: lms
SETTINGS: ${EDX_PLATFORM_SETTINGS:-tutor.production}
restart: unless-stopped
volumes:
- ../apps/openedx/settings/lms/:/openedx/edx-platform/lms/envs/tutor/
- ../apps/openedx/settings/cms/:/openedx/edx-platform/cms/envs/tutor/
- ../apps/openedx/config/:/openedx/config/
- ../../data/lms:/openedx/data
depends_on:
- elasticsearch
- forum
- memcached
- mongodb
- mysql
- rabbitmq
- smtp
cms:
image: regis/openedx:hawthorn
environment:
SERVICE_VARIANT: cms
SETTINGS: ${EDX_PLATFORM_SETTINGS:-tutor.production}
restart: unless-stopped
volumes:
- ../apps/openedx/settings/lms/:/openedx/edx-platform/lms/envs/tutor/
- ../apps/openedx/settings/cms/:/openedx/edx-platform/cms/envs/tutor/
- ../apps/openedx/config/:/openedx/config/
- ../../data/cms:/openedx/data
depends_on:
- elasticsearch
- memcached
- mongodb
- mysql
- rabbitmq
- smtp
############# LMS and CMS workers
# We could probably create one service per queue here. For small instances, it is not necessary.
lms_worker:
image: regis/openedx:hawthorn
environment:
SERVICE_VARIANT: lms
SETTINGS: ${EDX_PLATFORM_SETTINGS:-tutor.production}
C_FORCE_ROOT: "1" # run celery tasks as root #nofear
command: ./manage.py lms celery worker --loglevel=info --hostname=edx.lms.core.default.%%h --maxtasksperchild 100
restart: unless-stopped
volumes:
- ../apps/openedx/settings/lms/:/openedx/edx-platform/lms/envs/tutor/
- ../apps/openedx/settings/cms/:/openedx/edx-platform/cms/envs/tutor/
- ../apps/openedx/config/:/openedx/config/
- ../../data/lms:/openedx/data
depends_on:
- lms
cms_worker:
image: regis/openedx:hawthorn
environment:
SERVICE_VARIANT: cms
SETTINGS: ${EDX_PLATFORM_SETTINGS:-tutor.production}
C_FORCE_ROOT: "1" # run celery tasks as root #nofear
command: ./manage.py cms celery worker --loglevel=info --hostname=edx.cms.core.default.%%h --maxtasksperchild 100
restart: unless-stopped
volumes:
- ../apps/openedx/settings/lms/:/openedx/edx-platform/lms/envs/tutor/
- ../apps/openedx/settings/cms/:/openedx/edx-platform/cms/envs/tutor/
- ../apps/openedx/config/:/openedx/config/
- ../../data/cms:/openedx/data
depends_on:
- cms
############# Notes: backend store for edX Student Notes
notes:
image: regis/openedx-notes:hawthorn
networks:
default:
aliases:
- notes.openedx
environment:
DJANGO_SETTINGS_MODULE: notesserver.settings.tutor
volumes:
- ../apps/notes/settings/tutor.py:/openedx/edx-notes-api/notesserver/settings/tutor.py
- ../../data/notes:/openedx/data
restart: unless-stopped
depends_on:
- mysql
############# Xqueue: external grading of Open edX problems
xqueue:
image: regis/openedx-xqueue:hawthorn
volumes:
- ../apps/xqueue/settings/tutor.py:/openedx/xqueue/xqueue/tutor.py
- ../../data/xqueue:/openedx/data
environment:
DJANGO_SETTINGS_MODULE: xqueue.tutor
restart: unless-stopped
depends_on:
- mysql
xqueue_consumer:
image: regis/openedx-xqueue:hawthorn
volumes:
- ../apps/xqueue/settings/tutor.py:/openedx/xqueue/xqueue/tutor.py
- ../../data/xqueue:/openedx/data
environment:
DJANGO_SETTINGS_MODULE: xqueue.tutor
restart: unless-stopped
command: ./manage.py run_consumer
depends_on:
- mysql
I see nothing out of the ordinary here. Did you stop all containers prior to upgrading? Please run:
tutor local stop
docker ps
tutor local quickstart
tutor local importdemocourse
Yes, I stopped all containers before anything, but once again I get the same error [Errno 2] No such file or directory: u'/openedx/data/uploads/video-transcripts/3915c7f1ca9d4b1088ee4d6f428470bc.sjson', could be possible fix directly changing some files or something like that? 2. CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
could be possible fix directly changing some files or something like that?
From where I stand I really don't understand where the problem is, so I'm having trouble suggesting a place to do modifications.
- What do you mean with the full stracktrace ?
Well, I thought that the "[Errno 2] No such file or directory" error occurred in the console? Does it show inside the CMS? After the error happens, please paste here the output of the following commands:
tutor local logs --tail=100 cms
tutor local logs --tail=100 cms_worker
~ tutor local logs --tail=100 cms_worker
docker-compose -f /home/ubuntu/.local/share/tutor/env/local/docker-compose.yml --project-name tutor_local logs --tail 100 cms_worker
Attaching to tutor_local_cms_worker_1
cms_worker_1 | File "/openedx/edx-platform/common/lib/xmodule/xmodule/video_module/video_module.py", line 717, in definition_to_xml
cms_worker_1 | course_id=unicode(self.runtime.course_id.for_branch(None))
cms_worker_1 | File "/usr/local/lib/python2.7/dist-packages/edxval/api.py", line 864, in export_to_xml
cms_worker_1 | return create_transcripts_xml(video_id, video_el, resource_fs, static_dir)
cms_worker_1 | File "/usr/local/lib/python2.7/dist-packages/edxval/api.py", line 924, in create_transcripts_xml
cms_worker_1 | static_dir=combine(u'course', static_dir) # File system should not start from /draft directory.
cms_worker_1 | File "/usr/local/lib/python2.7/dist-packages/edxval/api.py", line 882, in create_transcript_file
cms_worker_1 | transcript_data = get_video_transcript_data(video_id, language_code)
cms_worker_1 | File "/usr/local/lib/python2.7/dist-packages/edxval/api.py", line 292, in get_video_transcript_data
cms_worker_1 | return dict(file_name=video_transcript.filename, content=video_transcript.transcript.file.read())
cms_worker_1 | File "/usr/local/lib/python2.7/dist-packages/django/db/models/fields/files.py", line 51, in _get_file
cms_worker_1 | self._file = self.storage.open(self.name, 'rb')
cms_worker_1 | File "/usr/local/lib/python2.7/dist-packages/django/core/files/storage.py", line 38, in open
cms_worker_1 | return self._open(name, mode)
cms_worker_1 | File "/usr/local/lib/python2.7/dist-packages/django/core/files/storage.py", line 300, in _open
cms_worker_1 | return File(open(self.path(name), mode))
cms_worker_1 | IOError: [Errno 2] No such file or directory: u'/openedx/data/uploads/video-transcripts/3915c7f1ca9d4b1088ee4d6f428470bc.sjson'
cms_worker_1 | [2019-02-26 03:49:24,555: ERROR/Worker-1] contentstore.tasks.export_olx[9c310f22-ee97-457a-8ce8-84ae5e323462]: Error exporting course course-v1:UD+103+2018_3
cms_worker_1 | Traceback (most recent call last):
cms_worker_1 | File "/openedx/edx-platform/cms/djangoapps/contentstore/tasks.py", line 539, in export_olx
cms_worker_1 | tarball = create_export_tarball(courselike_module, courselike_key, {}, self.status)
cms_worker_1 | File "/openedx/edx-platform/cms/djangoapps/contentstore/tasks.py", line 565, in create_export_tarball
cms_worker_1 | export_course_to_xml(modulestore(), contentstore(), course_module.id, root_dir, name)
cms_worker_1 | File "/openedx/edx-platform/common/lib/xmodule/xmodule/modulestore/xml_exporter.py", line 346, in export_course_to_xml
cms_worker_1 | CourseExportManager(modulestore, contentstore, course_key, root_dir, course_dir).export()
cms_worker_1 | File "/openedx/edx-platform/common/lib/xmodule/xmodule/modulestore/xml_exporter.py", line 169, in export
cms_worker_1 | courselike.add_xml_to_node(root)
cms_worker_1 | File "/openedx/edx-platform/common/lib/xmodule/xmodule/xml_module.py", line 602, in add_xml_to_node
cms_worker_1 | super(XmlParserMixin, self).add_xml_to_node(node) # pylint: disable=bad-super-call
cms_worker_1 | File "/openedx/edx-platform/common/lib/xmodule/xmodule/x_module.py", line 1114, in add_xml_to_node
cms_worker_1 | xml_string = self.export_to_xml(self.runtime.export_fs)
cms_worker_1 | File "/openedx/edx-platform/common/lib/xmodule/xmodule/xml_module.py", line 591, in export_to_xml
cms_worker_1 | super(XmlDescriptor, self).add_xml_to_node(node)
cms_worker_1 | File "/openedx/edx-platform/common/lib/xmodule/xmodule/xml_module.py", line 454, in add_xml_to_node
cms_worker_1 | xml_object = self.definition_to_xml(self.runtime.export_fs)
cms_worker_1 | File "/openedx/edx-platform/common/lib/xmodule/xmodule/course_module.py", line 1055, in definition_to_xml
cms_worker_1 | xml_object = super(CourseDescriptor, self).definition_to_xml(resource_fs)
cms_worker_1 | File "/openedx/edx-platform/common/lib/xmodule/xmodule/seq_module.py", line 669, in definition_to_xml
cms_worker_1 | self.runtime.add_block_as_child_node(child, xml_object)
cms_worker_1 | File "/openedx/edx-platform/common/lib/xmodule/xmodule/x_module.py", line 1520, in add_block_as_child_node
cms_worker_1 | block.add_xml_to_node(child)
cms_worker_1 | File "/openedx/edx-platform/common/lib/xmodule/xmodule/xml_module.py", line 602, in add_xml_to_node
cms_worker_1 | super(XmlParserMixin, self).add_xml_to_node(node) # pylint: disable=bad-super-call
cms_worker_1 | File "/openedx/edx-platform/common/lib/xmodule/xmodule/x_module.py", line 1114, in add_xml_to_node
cms_worker_1 | xml_string = self.export_to_xml(self.runtime.export_fs)
cms_worker_1 | File "/openedx/edx-platform/common/lib/xmodule/xmodule/xml_module.py", line 591, in export_to_xml
cms_worker_1 | super(XmlDescriptor, self).add_xml_to_node(node)
cms_worker_1 | File "/openedx/edx-platform/common/lib/xmodule/xmodule/xml_module.py", line 454, in add_xml_to_node
cms_worker_1 | xml_object = self.definition_to_xml(self.runtime.export_fs)
cms_worker_1 | File "/openedx/edx-platform/common/lib/xmodule/xmodule/seq_module.py", line 669, in definition_to_xml
cms_worker_1 | self.runtime.add_block_as_child_node(child, xml_object)
cms_worker_1 | File "/openedx/edx-platform/common/lib/xmodule/xmodule/x_module.py", line 1520, in add_block_as_child_node
cms_worker_1 | block.add_xml_to_node(child)
cms_worker_1 | File "/openedx/edx-platform/common/lib/xmodule/xmodule/xml_module.py", line 602, in add_xml_to_node
cms_worker_1 | super(XmlParserMixin, self).add_xml_to_node(node) # pylint: disable=bad-super-call
cms_worker_1 | File "/openedx/edx-platform/common/lib/xmodule/xmodule/x_module.py", line 1114, in add_xml_to_node
cms_worker_1 | xml_string = self.export_to_xml(self.runtime.export_fs)
cms_worker_1 | File "/openedx/edx-platform/common/lib/xmodule/xmodule/xml_module.py", line 591, in export_to_xml
cms_worker_1 | super(XmlDescriptor, self).add_xml_to_node(node)
cms_worker_1 | File "/openedx/edx-platform/common/lib/xmodule/xmodule/xml_module.py", line 454, in add_xml_to_node
cms_worker_1 | xml_object = self.definition_to_xml(self.runtime.export_fs)
cms_worker_1 | File "/openedx/edx-platform/common/lib/xmodule/xmodule/seq_module.py", line 669, in definition_to_xml
cms_worker_1 | self.runtime.add_block_as_child_node(child, xml_object)
cms_worker_1 | File "/openedx/edx-platform/common/lib/xmodule/xmodule/x_module.py", line 1520, in add_block_as_child_node
cms_worker_1 | block.add_xml_to_node(child)
cms_worker_1 | File "/openedx/edx-platform/common/lib/xmodule/xmodule/xml_module.py", line 454, in add_xml_to_node
cms_worker_1 | xml_object = self.definition_to_xml(self.runtime.export_fs)
cms_worker_1 | File "/openedx/edx-platform/common/lib/xmodule/xmodule/vertical_block.py", line 160, in definition_to_xml
cms_worker_1 | self.runtime.add_block_as_child_node(child, xml_object)
cms_worker_1 | File "/openedx/edx-platform/common/lib/xmodule/xmodule/x_module.py", line 1520, in add_block_as_child_node
cms_worker_1 | block.add_xml_to_node(child)
cms_worker_1 | File "/openedx/edx-platform/common/lib/xmodule/xmodule/xml_module.py", line 602, in add_xml_to_node
cms_worker_1 | super(XmlParserMixin, self).add_xml_to_node(node) # pylint: disable=bad-super-call
cms_worker_1 | File "/openedx/edx-platform/common/lib/xmodule/xmodule/x_module.py", line 1114, in add_xml_to_node
cms_worker_1 | xml_string = self.export_to_xml(self.runtime.export_fs)
cms_worker_1 | File "/openedx/edx-platform/common/lib/xmodule/xmodule/xml_module.py", line 591, in export_to_xml
cms_worker_1 | super(XmlDescriptor, self).add_xml_to_node(node)
cms_worker_1 | File "/openedx/edx-platform/common/lib/xmodule/xmodule/xml_module.py", line 454, in add_xml_to_node
cms_worker_1 | xml_object = self.definition_to_xml(self.runtime.export_fs)
cms_worker_1 | File "/openedx/edx-platform/common/lib/xmodule/xmodule/video_module/video_module.py", line 717, in definition_to_xml
cms_worker_1 | course_id=unicode(self.runtime.course_id.for_branch(None))
cms_worker_1 | File "/usr/local/lib/python2.7/dist-packages/edxval/api.py", line 864, in export_to_xml
cms_worker_1 | return create_transcripts_xml(video_id, video_el, resource_fs, static_dir)
cms_worker_1 | File "/usr/local/lib/python2.7/dist-packages/edxval/api.py", line 924, in create_transcripts_xml
cms_worker_1 | static_dir=combine(u'course', static_dir) # File system should not start from /draft directory.
cms_worker_1 | File "/usr/local/lib/python2.7/dist-packages/edxval/api.py", line 882, in create_transcript_file
cms_worker_1 | transcript_data = get_video_transcript_data(video_id, language_code)
cms_worker_1 | File "/usr/local/lib/python2.7/dist-packages/edxval/api.py", line 292, in get_video_transcript_data
cms_worker_1 | return dict(file_name=video_transcript.filename, content=video_transcript.transcript.file.read())
cms_worker_1 | File "/usr/local/lib/python2.7/dist-packages/django/db/models/fields/files.py", line 51, in _get_file
cms_worker_1 | self._file = self.storage.open(self.name, 'rb')
cms_worker_1 | File "/usr/local/lib/python2.7/dist-packages/django/core/files/storage.py", line 38, in open
cms_worker_1 | return self._open(name, mode)
cms_worker_1 | File "/usr/local/lib/python2.7/dist-packages/django/core/files/storage.py", line 300, in _open
cms_worker_1 | return File(open(self.path(name), mode))
cms_worker_1 | IOError: [Errno 2] No such file or directory: u'/openedx/data/uploads/video-transcripts/3915c7f1ca9d4b1088ee4d6f428470bc.sjson'
cms_worker_1 | [2019-02-26 03:49:24,585: INFO/MainProcess] Received task: cms_user_tasks.tasks.send_task_complete_email[514dc601-0df6-458c-8fc8-68e4e6e95579]
cms_worker_1 | [2019-02-26 03:49:24,597: INFO/MainProcess] Task contentstore.tasks.export_olx[9c310f22-ee97-457a-8ce8-84ae5e323462] succeeded in 0.459136160003s: None
cms_worker_1 | [2019-02-26 03:49:24,608: INFO/Worker-2] cms_user_tasks.tasks.send_task_complete_email[514dc601-0df6-458c-8fc8-68e4e6e95579]: Task complete email has been sent to User camilorodriguezpto@gmail.com
cms_worker_1 | [2019-02-26 03:49:24,611: INFO/MainProcess] Task cms_user_tasks.tasks.send_task_complete_email[514dc601-0df6-458c-8fc8-68e4e6e95579] succeeded in 0.0242634239985s: None
~ tutor local logs --tail=100 cms
docker-compose -f /home/ubuntu/.local/share/tutor/env/local/docker-compose.yml --project-name tutor_local logs --tail 100 cms
Attaching to tutor_local_cms_1
cms_1 | 2019-02-26 03:41:24 [6] [INFO] Starting gunicorn 0.17.4
cms_1 | 2019-02-26 03:41:25 [6] [INFO] Listening at: http://0.0.0.0:8000 (6)
cms_1 | 2019-02-26 03:41:25 [6] [INFO] Using worker: sync
cms_1 | 2019-02-26 03:41:25 [10] [INFO] Booting worker with pid: 10
cms_1 | 2019-02-26 03:42:43,050 INFO 10 [tracking] logger.py:50 - {"username": "", "event_type": "/export/course-v1:UD+103+2018_3", "ip": "186.155.50.241", "agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.84 Safari/537.36", "host": "studio.edx4.planestic.udistrital.edu.co", "referer": "", "accept_language": "es-ES,es;q=0.9", "event": "{\"POST\": {}, \"GET\": {}}", "event_source": "server", "context": {"user_id": null, "org_id": "", "course_id": "", "path": "/export/course-v1:UD+103+2018_3"}, "time": "2019-02-26T03:42:43.050798+00:00", "page": null}
cms_1 | 2019-02-26 03:42:43,412 INFO 10 [tracking] logger.py:50 - {"username": "", "event_type": "/signin", "ip": "186.155.50.241", "agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.84 Safari/537.36", "host": "studio.edx4.planestic.udistrital.edu.co", "referer": "", "accept_language": "es-ES,es;q=0.9", "event": "{\"POST\": {}, \"GET\": {\"next\": [\"/export/course-v1:UD+103+2018_3\"]}}", "event_source": "server", "context": {"user_id": null, "org_id": "", "course_id": "", "path": "/signin"}, "time": "2019-02-26T03:42:43.412185+00:00", "page": null}
cms_1 | 2019-02-26 03:42:51,881 INFO 10 [audit] models.py:2422 - Login success - camilo (camilorodriguezpto@gmail.com)
cms_1 | 2019-02-26 03:42:52,058 INFO 10 [tracking] logger.py:50 - {"username": "camilo", "event_type": "/export/course-v1:UD+103+2018_3", "ip": "186.155.50.241", "agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.84 Safari/537.36", "host": "studio.edx4.planestic.udistrital.edu.co", "referer": "https://studio.edx4.planestic.udistrital.edu.co/signin?next=/export/course-v1%3AUD%2B103%2B2018_3", "accept_language": "es-ES,es;q=0.9", "event": "{\"POST\": {}, \"GET\": {}}", "event_source": "server", "context": {"user_id": 79, "org_id": "", "course_id": "", "path": "/export/course-v1:UD+103+2018_3"}, "time": "2019-02-26T03:42:52.058426+00:00", "page": null}
cms_1 | 2019-02-26 03:42:54,008 INFO 10 [tracking] logger.py:50 - {"username": "camilo", "event_type": "/export_status/course-v1:UD+103+2018_3", "ip": "186.155.50.241", "agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.84 Safari/537.36", "host": "studio.edx4.planestic.udistrital.edu.co", "referer": "https://studio.edx4.planestic.udistrital.edu.co/export/course-v1:UD+103+2018_3", "accept_language": "es-ES,es;q=0.9", "event": "{\"POST\": {}, \"GET\": {}}", "event_source": "server", "context": {"user_id": 79, "org_id": "", "course_id": "", "path": "/export_status/course-v1:UD+103+2018_3"}, "time": "2019-02-26T03:42:54.008030+00:00", "page": null}
cms_1 | 2019-02-26 03:43:15,668 INFO 10 [tracking] logger.py:50 - {"username": "camilo", "event_type": "/export/course-v1:UD+103+2018_3", "ip": "186.155.50.241", "agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.84 Safari/537.36", "host": "studio.edx4.planestic.udistrital.edu.co", "referer": "https://studio.edx4.planestic.udistrital.edu.co/export/course-v1:UD+103+2018_3", "accept_language": "es-ES,es;q=0.9", "event": "{\"POST\": {}, \"GET\": {}}", "event_source": "server", "context": {"user_id": 79, "org_id": "", "course_id": "", "path": "/export/course-v1:UD+103+2018_3"}, "time": "2019-02-26T03:43:15.668384+00:00", "page": null}
cms_1 | 2019-02-26 03:43:16,859 INFO 10 [tracking] logger.py:50 - {"username": "camilo", "event_type": "/export_status/course-v1:UD+103+2018_3", "ip": "186.155.50.241", "agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.84 Safari/537.36", "host": "studio.edx4.planestic.udistrital.edu.co", "referer": "https://studio.edx4.planestic.udistrital.edu.co/export/course-v1:UD+103+2018_3", "accept_language": "es-ES,es;q=0.9", "event": "{\"POST\": {}, \"GET\": {}}", "event_source": "server", "context": {"user_id": 79, "org_id": "", "course_id": "", "path": "/export_status/course-v1:UD+103+2018_3"}, "time": "2019-02-26T03:43:16.859590+00:00", "page": null}
cms_1 | 2019-02-26 03:44:34 [6] [INFO] Starting gunicorn 0.17.4
cms_1 | 2019-02-26 03:44:34 [6] [INFO] Listening at: http://0.0.0.0:8000 (6)
cms_1 | 2019-02-26 03:44:34 [6] [INFO] Using worker: sync
cms_1 | 2019-02-26 03:44:34 [10] [INFO] Booting worker with pid: 10
cms_1 | 2019-02-26 03:45:01,101 INFO 10 [tracking] logger.py:50 - {"username": "", "event_type": "/export/", "ip": "186.155.50.241", "agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.84 Safari/537.36", "host": "studio.edx4.planestic.udistrital.edu.co", "referer": "", "accept_language": "es-ES,es;q=0.9", "event": "{\"POST\": {}, \"GET\": {}}", "event_source": "server", "context": {"user_id": null, "org_id": "", "course_id": "", "path": "/export/"}, "time": "2019-02-26T03:45:01.101206+00:00", "page": null}
cms_1 | 2019-02-26 03:45:09,923 INFO 10 [tracking] logger.py:50 - {"username": "", "event_type": "/", "ip": "186.155.50.241", "agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.84 Safari/537.36", "host": "studio.edx4.planestic.udistrital.edu.co", "referer": "", "accept_language": "es-ES,es;q=0.9", "event": "{\"POST\": {}, \"GET\": {}}", "event_source": "server", "context": {"user_id": null, "org_id": "", "course_id": "", "path": "/"}, "time": "2019-02-26T03:45:09.923193+00:00", "page": null}
cms_1 | 2019-02-26 03:45:31,554 INFO 10 [tracking] logger.py:50 - {"username": "", "event_type": "/signin", "ip": "186.155.50.241", "agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.84 Safari/537.36", "host": "studio.edx4.planestic.udistrital.edu.co", "referer": "https://studio.edx4.planestic.udistrital.edu.co/", "accept_language": "es-ES,es;q=0.9", "event": "{\"POST\": {}, \"GET\": {}}", "event_source": "server", "context": {"user_id": null, "org_id": "", "course_id": "", "path": "/signin"}, "time": "2019-02-26T03:45:31.554612+00:00", "page": null}
cms_1 | 2019-02-26 03:45:38,799 INFO 10 [audit] models.py:2422 - Login success - camilo (camilorodriguezpto@gmail.com)
cms_1 | 2019-02-26 03:45:38,950 INFO 10 [tracking] logger.py:50 - {"username": "camilo", "event_type": "/", "ip": "186.155.50.241", "agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.84 Safari/537.36", "host": "studio.edx4.planestic.udistrital.edu.co", "referer": "https://studio.edx4.planestic.udistrital.edu.co/signin", "accept_language": "es-ES,es;q=0.9", "event": "{\"POST\": {}, \"GET\": {}}", "event_source": "server", "context": {"user_id": 79, "org_id": "", "course_id": "", "path": "/"}, "time": "2019-02-26T03:45:38.950470+00:00", "page": null}
cms_1 | 2019-02-26 03:45:39,077 INFO 10 [tracking] logger.py:50 - {"username": "camilo", "event_type": "/home/", "ip": "186.155.50.241", "agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.84 Safari/537.36", "host": "studio.edx4.planestic.udistrital.edu.co", "referer": "https://studio.edx4.planestic.udistrital.edu.co/signin", "accept_language": "es-ES,es;q=0.9", "event": "{\"POST\": {}, \"GET\": {}}", "event_source": "server", "context": {"user_id": 79, "org_id": "", "course_id": "", "path": "/home/"}, "time": "2019-02-26T03:45:39.077573+00:00", "page": null}
cms_1 | 2019-02-26 03:45:42,179 INFO 10 [tracking] logger.py:50 - {"username": "camilo", "event_type": "/course/course-v1:UD+103+2018_3", "ip": "186.155.50.241", "agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.84 Safari/537.36", "host": "studio.edx4.planestic.udistrital.edu.co", "referer": "https://studio.edx4.planestic.udistrital.edu.co/home/", "accept_language": "es-ES,es;q=0.9", "event": "{\"POST\": {}, \"GET\": {}}", "event_source": "server", "context": {"user_id": 79, "org_id": "", "course_id": "", "path": "/course/course-v1:UD+103+2018_3"}, "time": "2019-02-26T03:45:42.179246+00:00", "page": null}
cms_1 | 2019-02-26 03:45:48,382 INFO 10 [tracking] logger.py:50 - {"username": "camilo", "event_type": "/export/course-v1:UD+103+2018_3", "ip": "186.155.50.241", "agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.84 Safari/537.36", "host": "studio.edx4.planestic.udistrital.edu.co", "referer": "https://studio.edx4.planestic.udistrital.edu.co/course/course-v1:UD+103+2018_3", "accept_language": "es-ES,es;q=0.9", "event": "{\"POST\": {}, \"GET\": {}}", "event_source": "server", "context": {"user_id": 79, "org_id": "", "course_id": "", "path": "/export/course-v1:UD+103+2018_3"}, "time": "2019-02-26T03:45:48.382691+00:00", "page": null}
cms_1 | 2019-02-26 03:45:49,632 INFO 10 [tracking] logger.py:50 - {"username": "camilo", "event_type": "/export_status/course-v1:UD+103+2018_3", "ip": "186.155.50.241", "agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.84 Safari/537.36", "host": "studio.edx4.planestic.udistrital.edu.co", "referer": "https://studio.edx4.planestic.udistrital.edu.co/export/course-v1:UD+103+2018_3", "accept_language": "es-ES,es;q=0.9", "event": "{\"POST\": {}, \"GET\": {}}", "event_source": "server", "context": {"user_id": 79, "org_id": "", "course_id": "", "path": "/export_status/course-v1:UD+103+2018_3"}, "time": "2019-02-26T03:45:49.632701+00:00", "page": null}
cms_1 | 2019-02-26 03:49:24,082 INFO 10 [tracking] logger.py:50 - {"username": "camilo", "event_type": "/export/course-v1:UD+103+2018_3", "ip": "186.155.50.241", "agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.84 Safari/537.36", "host": "studio.edx4.planestic.udistrital.edu.co", "referer": "https://studio.edx4.planestic.udistrital.edu.co/export/course-v1:UD+103+2018_3", "accept_language": "es-ES,es;q=0.9", "event": "{\"POST\": {}, \"GET\": {}}", "event_source": "server", "context": {"user_id": 79, "org_id": "", "course_id": "", "path": "/export/course-v1:UD+103+2018_3"}, "time": "2019-02-26T03:49:24.082700+00:00", "page": null}
cms_1 | 2019-02-26 03:49:25,264 INFO 10 [tracking] logger.py:50 - {"username": "camilo", "event_type": "/export_status/course-v1:UD+103+2018_3", "ip": "186.155.50.241", "agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.84 Safari/537.36", "host": "studio.edx4.planestic.udistrital.edu.co", "referer": "https://studio.edx4.planestic.udistrital.edu.co/export/course-v1:UD+103+2018_3", "accept_language": "es-ES,es;q=0.9", "event": "{\"POST\": {}, \"GET\": {}}", "event_source": "server", "context": {"user_id": 79, "org_id": "", "course_id": "", "path": "/export_status/course-v1:UD+103+2018_3"}, "time": "2019-02-26T03:49:25.264279+00:00", "page": null}
cms_1 | 2019-02-26 05:21:57,426 ERROR 10 [django.security.DisallowedHost] exception.py:80 - Invalid HTTP_HOST header: '3.85.231.151'. You may need to add u'3.85.231.151' to ALLOWED_HOSTS.
cms_1 | 2019-02-26 09:21:24,287 ERROR 10 [django.security.DisallowedHost] exception.py:80 - Invalid HTTP_HOST header: '3.85.231.151:443'. You may need to add u'3.85.231.151' to ALLOWED_HOSTS.
cms_1 | 2019-02-26 09:27:10,362 ERROR 10 [django.security.DisallowedHost] exception.py:80 - Invalid HTTP_HOST header: '3.85.231.151'. You may need to add u'3.85.231.151' to ALLOWED_HOSTS.
cms_1 | 2019-02-26 09:27:16,041 ERROR 10 [django.security.DisallowedHost] exception.py:80 - Invalid HTTP_HOST header: '3.85.231.151'. You may need to add u'3.85.231.151' to ALLOWED_HOSTS.
cms_1 | 2019-02-26 09:27:16,321 ERROR 10 [django.security.DisallowedHost] exception.py:80 - Invalid HTTP_HOST header: '3.85.231.151'. You may need to add u'3.85.231.151' to ALLOWED_HOSTS.
cms_1 | 2019-02-26 09:27:16,611 ERROR 10 [django.security.DisallowedHost] exception.py:80 - Invalid HTTP_HOST header: '3.85.231.151'. You may need to add u'3.85.231.151' to ALLOWED_HOSTS.
➜ ~
Let's find out what data you have... Please paste the output of the following commands:
ls $(tutor config printroot)/data/
ls $(tutor config printroot)/data/cms
ls $(tutor config printroot)/data/cms/uploads/
ls $(tutor config printroot)/data/cms/uploads/video-transcripts
ls $(tutor config printroot)/data/cms/uploads/video-transcripts/3915c7f1ca9d4b1088ee4d6f428470bc.sjson
➜ ~ ls $(tutor config printroot)/data/
cms elasticsearch lms mongodb notes portainer xqueue
cms_worker letsencrypt lms_worker mysql openedx rabbitmq
➜ ~ ls $(tutor config printroot)/data/cms
ID UD UDistrital Udistrital edX logs staticfiles ttttyhh uploads
➜ ~ ls $(tutor config printroot)/data/cms/uploads/
olx_import
➜ ~ ls $(tutor config printroot)/data/cms/uploads/video-transcripts
ls: cannot access '/home/ubuntu/.local/share/tutor/data/cms/uploads/video-transcripts': No such file or directory
➜ ~ ls $(tutor config printroot)/data/cms/uploads/video-transcripts/3915c7f1ca9d4b1088ee4d6f428470bc.sjson
ls: cannot access '/home/ubuntu/.local/share/tutor/data/cms/uploads/video-transcripts/3915c7f1ca9d4b1088ee4d6f428470bc.sjson': No such file or directory
Found it :) the problem was that the demo course was being imported using the lms container, and not the cms. The fix will be included in v3.0.6 which will be available in a few minutes. Meanwhile, you can fix the issue locally by running:
sudo mv $(tutor config printroot)/data/lms/uploads/video-transcripts $(tutor config printroot)/data/cms/uploads/video-transcripts
Note that importing other courses from the studio was not affected by this bug.
Thanks for your thorough reporting! You have been very helpful.
Hello again, EDX can´t export courses, when any tutor tries the next message pop up in the second step (exporting)
[Errno 2] No such file or directory: u'/edx/var/edxapp/media/video-transcripts/3915c7f1ca9d4b1088ee4d6f428470bc.sjson'
I appreciate any idea or possible solution
Extra information:
Server: Docker Engine - Community Engine: Version: 18.09.1 API version: 1.39 (minimum version 1.12) Go version: go1.10.6 Git commit: 4c52b90 Built: Wed Jan 9 19:02:44 2019 OS/Arch: linux/amd64 Experimental: false
docker-compose version 1.24.0-rc1, build 0f3d4dda