Repository navigation
[DEPR]: Old Django settings modules #36905
Description
RFC Start Date
2025-06-24
Target Plan Accepted Date
2025-07-08
Target Transition Unblocked Date
Transition is already unblocked
Earliest Breaking Changes Unblocked Date
2025-07-22
Earliest Open edX Named Release with Breaking Changes
Ulmo - 2025-10
Rationale
We have several Django settings files which have not been actively developed or supported for years. We are not aware of any usage of them.
They cause confusion and un-neccessarily consume contributor attention during upgrades.
Note on devstack-related files
All devstack-related settings files were already deprecated when Devstack was deprecated, including:
*/envs/devstack.py*/envs/devstack_docker.py(just an alias to devstack.py)*/envs/devstack_with_worker.py*/envs/devstack_optimized.py*/envs/devstack-experimental.yml
However, we did not immediately remove */envs/devstack.py because Tutor is still using it. As part of this DEPR, we will leave */envs/devstack.py in place, but remove the others.
Note to 2U: edx/devstack is still using */envs/devstack_with_worker.py. You'll need to copy that into the edx/devstack repo just like you did with */envs/devstack.py.
Removal
We will delete:
- cms/envs/analytics_exporter.py
- cms/envs/devstack-experimental.yml
- cms/envs/devstack_docker.py
- cms/envs/devstack_optimized.py
- cms/envs/devstack_with_worker.py
- cms/envs/openstack.py
- cms/envs/test_static_optimized.py
- lms/envs/analytics_exporter.py
- lms/envs/devstack-experimental.yml
- lms/envs/devstack_docker.py
- lms/envs/devstack_optimized.py
- lms/envs/devstack_with_worker.py
- lms/envs/docker-production.py
- lms/envs/openstack.py
- lms/envs/static.py
- lms/envs/test_static_optimized.py
Replacement
Today, these are the supported production settings files:
- lms/envs/production.py
- cms/envs/production.py
Furthermore, these dev settings files are not officially supported, but they will continue existing for now, as Tutor relies on them:
- lms/envs/devstack.py
- cms/envs/devstack.py
In the future, the supported settings files will change. See https://github.com/openedx/edx-platform/blob/master/docs/decisions/0022-settings-simplification.rst.
Deprecation
No plan
Additional Info
None
Task List
Metadata
Metadata
Assignees
Labels
Type
Projects
- StatusShow more project fieldsPlan Completed
Activity
feat!: Remove unused Django settings files
timmc-edx commentedon Jun 14, 2025
The
docker-productionenv is useful inside Docker -- I haven't looked into the details, but we currently use it at 2U because otherwise the result of any management command is filled with tons of stacktraces. Something about adjusting the logging to match the Docker environment. Maybe there could be an environment variable to support a transition away from that?kdmccormick commentedon Jun 24, 2025
Do you have any suggestions @timmc-edx ?
robrap commentedon Jun 24, 2025
Thanks @kdmccormick. Here is a github search for some usage at 2U.
I don't have anything against acceptance of the plan in general. I would like some scheduled transition time for any files that are in use. For anything not in use, they could be removed earlier.
kdmccormick commentedon Jul 21, 2025
Friendly reminder that removal will occur tomorrow.
feat!: Remove unused Django settings files
feat!: Remove unused Django settings files
feat: Write docker-production env file (which is being DEPR'd from repo)
timmc-edx commentedon Jul 21, 2025
Given the file's small size, I think well just vendor it into the dockerfile: edx/public-dockerfiles#158
feat: Write docker-production env file (which is being DEPR'd from re…
feat!: Remove unused Django settings files
feat!: Remove unused Django settings files
kdmccormick commentedon Jul 24, 2025
This was completed by: #36905
feat!: Remove unused Django settings files