Hello everyone !
We have a running edX using Tutor 10.5.0 deployed on Kubernetes, and we have a problem with the transcript files, on Studio the transcript is uploaded and showing next to the video, but on the LMS the console is showing a 500 error while loading transcript.
On the CMS pod, the folder /openedx/media/video-transcripts is present and contains the .sjson transcript file
But on the LMS pod, the folder /openedx/media/video-transcripts does not exists.
The error on LMS pod is FileNotFoundError: [Errno 2] No such file or directory: '/openedx/media/video-transcripts/690570c4141a4617be14c9ff6f07300f.sjson'
Any clues on how to get that folder shared between the two ?
Thanks !
Openedx juniper.3
When .srt transcript is uploaded, the .txt file is actually stored as “static” and works fine, but the generated .sjson file used by js stored at /openedx/media/video-transcript which is not persistent and not shared between pods.
The how-to on Kubernetes :
1- Create a storageClass
2- Create a persistentVolume
3- Create a PVC
4- On the lms and cms deployments add :
volumes:
...
- name: data
persistentVolumeClaim:
claimName: openedx-media
volumeMounts:
...
- name: data
mountPath: /openedx/media
I believe I just ran across a similar problem with the transcripts while trying to fix issues after I migrated from native (koa.3) to tutor (koa.3).
I was trying to reindex all courses with the following command:
tutor local run cms ./manage.py cms reindex_course --all
And once in a while I would have problems because it could not find a transcript file FileNotFoundError: [Errno 2] No such file or directory: ‘/openedx/media/video-transcripts/6c0f7dbfd47b4878a1e1ead5e6fe21ee.sjson’
And it gracefully exit with that error message. If I remove the offending course, it goes a little bit further until if finds another problem. This is definitely not a solution.
The transcript file isn’t there and wasn’t on Native either, but under Native it allowed me to index the course in Studio or with the reindex_course --all command. This is not the case with Tutor.
Any suggestions as how I might be able to allow the indexing to proceed like it didn’t on Native without needed to use MinIO or S3? I am listening.