Modulestore folder

Hi,

I’m configuring AWS S3 to make Open edX stateless, I have already removed logs, user profiles pictures, and badges from the filesystem (volume) and put them in the S3.

However, we have a folder named modulestore in each directory cms and lms, which files are stored in this folder? We have one for each course.

Example:

  • cms/modulestore/Organization1/CourseNumber1
  • lms/modulestore/Organization1/CourseNumber1

I’m not quite sure, to be honest. I just noticed that these folders were generated on the host for every course. In my understanding these folders are used for storing cached files (but I might be wrong). You should ask @dave :wink:

Yeah, I noticed that too.

I just noticed that these folders were generated on the host for every course.

I configured an S3 Bucket and keep the volume to check if Open edX is storing something else in the filesystem. I want to understand to not take risk of using the filesystem in a stateless environment.

@dave do you know something about that?

I can’t think of anything off the top of my head. Caching artifacts should be in memcached. It’s possible that it’s some leftover artifact from the terrible olden days where all courses were XML files on the filesystem and there was no database at all.

Are there any files written there? Like a policy XML or JSON file? Does it appear at startup? After a course has been accessed for the first time? After publish? After export? During the static file compilation phase?

Any files there, the folder is created after the creation of a course.

Maybe in the code this directory is created before a file is stored, to make sure that the directory exist. But at the end the storageClass is an S3 type and the file is stored in the Bucket.

When I have a time I will take a look in the code.

I’ve seen the same thing as well using local storage (not S3)
Folders for each course are created and no data is stored within them