Skip to content

[DEPR]: Setting SERVICE_VARIANT via environment variable #37847

@wgu-taylor-payne

Description

@wgu-taylor-payne

RFC Start Date

N/A -- Already Accepted

Target Plan Accepted Date

N/A -- Already Accepted

Target Transition Unblocked Date

Immediately -- Transition Already Unblocked

Earliest Breaking Changes Unblocked Date

2026-01-08

Rationale

As part of an effort to simplify settings in the platform, it has been decided to set SERVICE_VARIANT to 'cms' in cms/envs/common.py and to 'lms' in lms/envs/common.py, rather than setting this value from the environment. In the past, the values for SERVICE_VARIANT varied, but now in practice they are just 'cms' and 'lms'.

This change removes the ambiguity that exists from older usage patterns of SERVICE_VARIANT, and makes usage of this setting more reliable.

Description

The SERVICE_VARIANT has previously been set in [cms/lms]/envs/common.py by first checking if there is an environment variable set with the same name. If it is set, that value is used, if not the values 'cms' or 'lms' are used.

Now the setting will be set to 'cms' in cms/envs/common.py and to 'lms' in lms/envs/common.py regardless of any environment variable set.

Setting the SERVICE_VARIANT environment variable will have no effect on the value of the SERVICE_VARIANT setting value. It will now purely be a function of which DJANGO_SETTINGS_MODULE is being used (as this will determine if cms/envs/common.py or lms/envs/common.py is imported and executed).

Task List

Metadata

Metadata

Assignees

No one assigned

    Labels

    deprProposal for deprecation & removal per OEP-21

    Type

    No type

    Projects

    Status

    Plan Completed

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions