Merge pull request #23628 from danialmalik/danial/merge-devstack-docker-with-devstack
Merge all configs of devstack_docker.py into devstack.py
This commit is contained in:
@@ -19,6 +19,8 @@ DEFAULT_TEMPLATE_ENGINE['OPTIONS']['debug'] = DEBUG
|
||||
SITE_NAME = 'localhost:8001'
|
||||
HTTPS = 'off'
|
||||
|
||||
CMS_BASE = 'localhost:18010'
|
||||
|
||||
################################ LOGGERS ######################################
|
||||
|
||||
|
||||
@@ -26,6 +28,12 @@ HTTPS = 'off'
|
||||
for pkg_name in ['track.contexts', 'track.middleware']:
|
||||
logging.getLogger(pkg_name).setLevel(logging.CRITICAL)
|
||||
|
||||
# Docker does not support the syslog socket at /dev/log. Rely on the console.
|
||||
LOGGING['handlers']['local'] = LOGGING['handlers']['tracking'] = {
|
||||
'class': 'logging.NullHandler',
|
||||
}
|
||||
|
||||
LOGGING['loggers']['tracking']['handlers'] = ['console']
|
||||
|
||||
################################ EMAIL ########################################
|
||||
|
||||
@@ -34,8 +42,8 @@ EMAIL_FILE_PATH = '/edx/src/ace_messages/'
|
||||
|
||||
################################# LMS INTEGRATION #############################
|
||||
|
||||
LMS_BASE = "localhost:8000"
|
||||
LMS_ROOT_URL = "http://{}".format(LMS_BASE)
|
||||
LMS_BASE = 'localhost:18000'
|
||||
LMS_ROOT_URL = 'http://{}'.format(LMS_BASE)
|
||||
FEATURES['PREVIEW_LMS_BASE'] = "preview." + LMS_BASE
|
||||
|
||||
########################### PIPELINE #################################
|
||||
@@ -117,10 +125,16 @@ FEATURES['LICENSING'] = True
|
||||
XBLOCK_SETTINGS.update({'VideoBlock': {'licensing_enabled': True}})
|
||||
|
||||
################################ SEARCH INDEX ################################
|
||||
FEATURES['ENABLE_COURSEWARE_INDEX'] = True
|
||||
FEATURES['ENABLE_LIBRARY_INDEX'] = True
|
||||
FEATURES['ENABLE_COURSEWARE_INDEX'] = False
|
||||
FEATURES['ENABLE_LIBRARY_INDEX'] = False
|
||||
SEARCH_ENGINE = "search.elastic.ElasticSearchEngine"
|
||||
|
||||
################################ COURSE DISCUSSIONS ###########################
|
||||
FEATURES['ENABLE_DISCUSSION_SERVICE'] = True
|
||||
|
||||
################################ CREDENTIALS ###########################
|
||||
CREDENTIALS_SERVICE_USERNAME = 'credentials_worker'
|
||||
|
||||
########################## Certificates Web/HTML View #######################
|
||||
FEATURES['CERTIFICATES_HTML_VIEW'] = True
|
||||
|
||||
@@ -138,7 +152,7 @@ REQUIRE_DEBUG = DEBUG
|
||||
########################### OAUTH2 #################################
|
||||
JWT_AUTH.update({
|
||||
'JWT_SECRET_KEY': 'lms-secret',
|
||||
'JWT_ISSUER': 'http://127.0.0.1:8000/oauth2',
|
||||
'JWT_ISSUER': '{}/oauth2'.format(LMS_ROOT_URL),
|
||||
'JWT_AUDIENCE': 'lms-key',
|
||||
'JWT_PUBLIC_SIGNING_JWK_SET': (
|
||||
'{"keys": [{"kid": "devstack_key", "e": "AQAB", "kty": "RSA", "n": "smKFSYowG6nNUAdeqH1jQQnH1PmIHphzBmwJ5vRf1vu'
|
||||
@@ -189,3 +203,8 @@ MODULESTORE = convert_module_store_setting_if_needed(MODULESTORE)
|
||||
|
||||
# Dummy secret key for dev
|
||||
SECRET_KEY = '85920908f28904ed733fe576320db18cabd7b6cd'
|
||||
|
||||
###############################################################################
|
||||
# See if the developer has any local overrides.
|
||||
if os.path.isfile(join(dirname(abspath(__file__)), 'private.py')):
|
||||
from .private import * # pylint: disable=import-error,wildcard-import
|
||||
|
||||
@@ -1,33 +1,3 @@
|
||||
""" Overrides for Docker-based devstack. """
|
||||
|
||||
from .devstack import * # pylint: disable=wildcard-import, unused-wildcard-import
|
||||
|
||||
# Docker does not support the syslog socket at /dev/log. Rely on the console.
|
||||
LOGGING['handlers']['local'] = LOGGING['handlers']['tracking'] = {
|
||||
'class': 'logging.NullHandler',
|
||||
}
|
||||
|
||||
LOGGING['loggers']['tracking']['handlers'] = ['console']
|
||||
|
||||
LMS_BASE = 'localhost:18000'
|
||||
CMS_BASE = 'localhost:18010'
|
||||
LMS_ROOT_URL = 'http://{}'.format(LMS_BASE)
|
||||
|
||||
FEATURES.update({
|
||||
'ENABLE_COURSEWARE_INDEX': False,
|
||||
'ENABLE_LIBRARY_INDEX': False,
|
||||
'ENABLE_DISCUSSION_SERVICE': True,
|
||||
})
|
||||
|
||||
CREDENTIALS_SERVICE_USERNAME = 'credentials_worker'
|
||||
|
||||
JWT_AUTH.update({
|
||||
'JWT_ISSUER': '{}/oauth2'.format(LMS_ROOT_URL),
|
||||
'JWT_SECRET_KEY': 'lms-secret',
|
||||
'JWT_AUDIENCE': 'lms-key',
|
||||
})
|
||||
|
||||
###############################################################################
|
||||
# See if the developer has any local overrides.
|
||||
if os.path.isfile(join(dirname(abspath(__file__)), 'private.py')):
|
||||
from .private import * # pylint: disable=import-error,wildcard-import
|
||||
|
||||
@@ -23,10 +23,7 @@ import os
|
||||
|
||||
########################## Devstack settings ###################################
|
||||
|
||||
if 'BOK_CHOY_HOSTNAME' in os.environ:
|
||||
from .devstack_docker import * # pylint: disable=wildcard-import, unused-wildcard-import
|
||||
else:
|
||||
from .devstack import * # pylint: disable=wildcard-import
|
||||
from .devstack import * # pylint: disable=wildcard-import
|
||||
|
||||
TEST_ROOT = REPO_ROOT / "test_root"
|
||||
|
||||
|
||||
@@ -17,10 +17,7 @@ import os
|
||||
# We intentionally define lots of variables that aren't used, and
|
||||
# want to import all variables from base settings files
|
||||
# pylint: disable=wildcard-import, unused-wildcard-import
|
||||
if 'BOK_CHOY_HOSTNAME' in os.environ:
|
||||
from cms.envs.devstack_docker import *
|
||||
else:
|
||||
from cms.envs.devstack import *
|
||||
from cms.envs.devstack import *
|
||||
|
||||
# Require a separate celery worker
|
||||
CELERY_ALWAYS_EAGER = False
|
||||
|
||||
@@ -25,14 +25,17 @@ ORA2_FILEUPLOAD_BACKEND = 'django'
|
||||
DEBUG = True
|
||||
USE_I18N = True
|
||||
DEFAULT_TEMPLATE_ENGINE['OPTIONS']['debug'] = True
|
||||
SITE_NAME = 'localhost:8000'
|
||||
LMS_BASE = 'localhost:18000'
|
||||
CMS_BASE = 'localhost:18010'
|
||||
SITE_NAME = LMS_BASE
|
||||
|
||||
# By default don't use a worker, execute tasks as if they were local functions
|
||||
CELERY_ALWAYS_EAGER = True
|
||||
HTTPS = 'off'
|
||||
|
||||
LMS_ROOT_URL = "http://localhost:8000"
|
||||
LMS_ROOT_URL = 'http://{}'.format(LMS_BASE)
|
||||
LMS_INTERNAL_ROOT_URL = LMS_ROOT_URL
|
||||
ENTERPRISE_API_URL = LMS_INTERNAL_ROOT_URL + '/enterprise/api/v1/'
|
||||
ENTERPRISE_API_URL = '{}/enterprise/api/v1/'.format(LMS_INTERNAL_ROOT_URL)
|
||||
IDA_LOGOUT_URI_LIST = [
|
||||
'http://localhost:18130/logout/', # ecommerce
|
||||
'http://localhost:18150/logout/', # credentials
|
||||
@@ -49,6 +52,12 @@ LOG_OVERRIDES = [
|
||||
for log_name, log_level in LOG_OVERRIDES:
|
||||
logging.getLogger(log_name).setLevel(log_level)
|
||||
|
||||
# Docker does not support the syslog socket at /dev/log. Rely on the console.
|
||||
LOGGING['handlers']['local'] = LOGGING['handlers']['tracking'] = {
|
||||
'class': 'logging.NullHandler',
|
||||
}
|
||||
|
||||
LOGGING['loggers']['tracking']['handlers'] = ['console']
|
||||
|
||||
################################ EMAIL ########################################
|
||||
|
||||
@@ -162,12 +171,13 @@ FEATURES['LICENSING'] = True
|
||||
|
||||
|
||||
########################## Courseware Search #######################
|
||||
FEATURES['ENABLE_COURSEWARE_SEARCH'] = True
|
||||
SEARCH_ENGINE = "search.elastic.ElasticSearchEngine"
|
||||
FEATURES['ENABLE_COURSEWARE_SEARCH'] = False
|
||||
FEATURES['ENABLE_COURSEWARE_SEARCH_FOR_COURSE_STAFF'] = True
|
||||
SEARCH_ENGINE = 'search.elastic.ElasticSearchEngine'
|
||||
|
||||
|
||||
########################## Dashboard Search #######################
|
||||
FEATURES['ENABLE_DASHBOARD_SEARCH'] = True
|
||||
FEATURES['ENABLE_DASHBOARD_SEARCH'] = False
|
||||
|
||||
|
||||
########################## Certificates Web/HTML View #######################
|
||||
@@ -190,7 +200,7 @@ COURSE_DISCOVERY_MEANINGS = {
|
||||
'language': LANGUAGE_MAP,
|
||||
}
|
||||
|
||||
FEATURES['ENABLE_COURSE_DISCOVERY'] = True
|
||||
FEATURES['ENABLE_COURSE_DISCOVERY'] = False
|
||||
# Setting for overriding default filtering facets for Course discovery
|
||||
# COURSE_DISCOVERY_FILTERS = ["org", "language", "modes"]
|
||||
FEATURES['COURSES_ARE_BROWSEABLE'] = True
|
||||
@@ -228,7 +238,15 @@ if FEATURES.get('ENABLE_THIRD_PARTY_AUTH') and 'third_party_auth.dummy.DummyBack
|
||||
AUTHENTICATION_BACKENDS = ['third_party_auth.dummy.DummyBackend'] + list(AUTHENTICATION_BACKENDS)
|
||||
|
||||
############## ECOMMERCE API CONFIGURATION SETTINGS ###############
|
||||
ECOMMERCE_PUBLIC_URL_ROOT = "http://localhost:8002"
|
||||
ECOMMERCE_PUBLIC_URL_ROOT = 'http://localhost:18130'
|
||||
ECOMMERCE_API_URL = 'http://edx.devstack.ecommerce:18130/api/v2'
|
||||
|
||||
############## Comments CONFIGURATION SETTINGS ###############
|
||||
COMMENTS_SERVICE_URL = 'http://edx.devstack.forum:4567'
|
||||
|
||||
############## Credentials CONFIGURATION SETTINGS ###############
|
||||
CREDENTIALS_INTERNAL_SERVICE_URL = 'http://edx.devstack.credentials:18150'
|
||||
CREDENTIALS_PUBLIC_SERVICE_URL = 'http://localhost:18150'
|
||||
|
||||
############################### BLOCKSTORE #####################################
|
||||
BLOCKSTORE_API_URL = "http://edx.devstack.blockstore:18250/api/v1/"
|
||||
@@ -247,7 +265,7 @@ LOGIN_REDIRECT_WHITELIST = [CMS_BASE]
|
||||
###################### JWTs ######################
|
||||
# pylint: disable=unicode-format-string
|
||||
JWT_AUTH.update({
|
||||
'JWT_ISSUER': 'http://127.0.0.1:8000/oauth2',
|
||||
'JWT_ISSUER': '{}/oauth2'.format(LMS_ROOT_URL),
|
||||
'JWT_AUDIENCE': 'lms-key',
|
||||
'JWT_SECRET_KEY': 'lms-secret',
|
||||
'JWT_SIGNING_ALGORITHM': 'RS512',
|
||||
@@ -294,3 +312,81 @@ EDXNOTES_CLIENT_NAME = 'edx_notes_api-backend-service'
|
||||
############## Settings for Microfrontends #########################
|
||||
LEARNING_MICROFRONTEND_URL = 'http://localhost:2000'
|
||||
ACCOUNT_MICROFRONTEND_URL = 'http://localhost:1997'
|
||||
|
||||
############## Docker based devstack settings #######################
|
||||
|
||||
FEATURES.update({
|
||||
'AUTOMATIC_AUTH_FOR_TESTING': True,
|
||||
'ENABLE_DISCUSSION_SERVICE': True,
|
||||
'SHOW_HEADER_LANGUAGE_SELECTOR': True,
|
||||
'ENABLE_ENTERPRISE_INTEGRATION': False,
|
||||
})
|
||||
|
||||
ENABLE_MKTG_SITE = os.environ.get('ENABLE_MARKETING_SITE', False)
|
||||
MARKETING_SITE_ROOT = os.environ.get('MARKETING_SITE_ROOT', 'http://localhost:8080')
|
||||
|
||||
MKTG_URLS = {
|
||||
'ABOUT': '/about',
|
||||
'ACCESSIBILITY': '/accessibility',
|
||||
'AFFILIATES': '/affiliate-program',
|
||||
'BLOG': '/blog',
|
||||
'CAREERS': '/careers',
|
||||
'CONTACT': '/support/contact_us',
|
||||
'COURSES': '/course',
|
||||
'DONATE': '/donate',
|
||||
'ENTERPRISE': '/enterprise',
|
||||
'FAQ': '/student-faq',
|
||||
'HONOR': '/edx-terms-service',
|
||||
'HOW_IT_WORKS': '/how-it-works',
|
||||
'MEDIA_KIT': '/media-kit',
|
||||
'NEWS': '/news-announcements',
|
||||
'PRESS': '/press',
|
||||
'PRIVACY': '/edx-privacy-policy',
|
||||
'ROOT': MARKETING_SITE_ROOT,
|
||||
'SCHOOLS': '/schools-partners',
|
||||
'SITE_MAP': '/sitemap',
|
||||
'TRADEMARKS': '/trademarks',
|
||||
'TOS': '/edx-terms-service',
|
||||
'TOS_AND_HONOR': '/edx-terms-service',
|
||||
'WHAT_IS_VERIFIED_CERT': '/verified-certificate',
|
||||
}
|
||||
|
||||
ENTERPRISE_MARKETING_FOOTER_QUERY_PARAMS = {}
|
||||
|
||||
CREDENTIALS_SERVICE_USERNAME = 'credentials_worker'
|
||||
|
||||
COURSE_CATALOG_API_URL = 'http://edx.devstack.discovery:18381/api/v1/'
|
||||
|
||||
# Uncomment the lines below if you'd like to see SQL statements in your devstack LMS log.
|
||||
# LOGGING['handlers']['console']['level'] = 'DEBUG'
|
||||
# LOGGING['loggers']['django.db.backends'] = {'handlers': ['console'], 'level': 'DEBUG', 'propagate': False}
|
||||
|
||||
SYSTEM_WIDE_ROLE_CLASSES = os.environ.get("SYSTEM_WIDE_ROLE_CLASSES", SYSTEM_WIDE_ROLE_CLASSES)
|
||||
SYSTEM_WIDE_ROLE_CLASSES.extend(['system_wide_roles.SystemWideRoleAssignment'])
|
||||
|
||||
if FEATURES['ENABLE_ENTERPRISE_INTEGRATION']:
|
||||
SYSTEM_WIDE_ROLE_CLASSES.extend(['enterprise.SystemWideEnterpriseUserRoleAssignment'])
|
||||
|
||||
#####################################################################
|
||||
# See if the developer has any local overrides.
|
||||
if os.path.isfile(join(dirname(abspath(__file__)), 'private.py')):
|
||||
from .private import * # pylint: disable=import-error,wildcard-import
|
||||
|
||||
########################## THEMING #######################
|
||||
# If you want to enable theming in devstack, uncomment this section and add any relevant
|
||||
# theme directories to COMPREHENSIVE_THEME_DIRS
|
||||
|
||||
# We have to import the private method here because production.py calls
|
||||
# derive_settings('lms.envs.production') which runs _make_mako_template_dirs with
|
||||
# the settings from production, which doesn't include these theming settings. Thus,
|
||||
# the templating engine is unable to find the themed templates because they don't exist
|
||||
# in it's path. Re-calling derive_settings doesn't work because the settings was already
|
||||
# changed from a function to a list, and it can't be derived again.
|
||||
|
||||
# from .common import _make_mako_template_dirs
|
||||
# ENABLE_COMPREHENSIVE_THEMING = True
|
||||
# COMPREHENSIVE_THEME_DIRS = [
|
||||
# "/edx/app/edxapp/edx-platform/themes/"
|
||||
# ]
|
||||
# TEMPLATES[1]["DIRS"] = _make_mako_template_dirs
|
||||
# derive_settings(__name__)
|
||||
|
||||
@@ -1,110 +1,3 @@
|
||||
""" Overrides for Docker-based devstack. """
|
||||
|
||||
from .devstack import * # pylint: disable=wildcard-import, unused-wildcard-import
|
||||
|
||||
# Docker does not support the syslog socket at /dev/log. Rely on the console.
|
||||
LOGGING['handlers']['local'] = LOGGING['handlers']['tracking'] = {
|
||||
'class': 'logging.NullHandler',
|
||||
}
|
||||
|
||||
LOGGING['loggers']['tracking']['handlers'] = ['console']
|
||||
|
||||
LMS_BASE = 'localhost:18000'
|
||||
CMS_BASE = 'localhost:18010'
|
||||
SITE_NAME = LMS_BASE
|
||||
LMS_ROOT_URL = 'http://{}'.format(LMS_BASE)
|
||||
LMS_INTERNAL_ROOT_URL = LMS_ROOT_URL
|
||||
|
||||
ECOMMERCE_PUBLIC_URL_ROOT = 'http://localhost:18130'
|
||||
ECOMMERCE_API_URL = 'http://edx.devstack.ecommerce:18130/api/v2'
|
||||
|
||||
COMMENTS_SERVICE_URL = 'http://edx.devstack.forum:4567'
|
||||
|
||||
ENTERPRISE_API_URL = '{}/enterprise/api/v1/'.format(LMS_INTERNAL_ROOT_URL)
|
||||
|
||||
CREDENTIALS_INTERNAL_SERVICE_URL = 'http://edx.devstack.credentials:18150'
|
||||
CREDENTIALS_PUBLIC_SERVICE_URL = 'http://localhost:18150'
|
||||
|
||||
JWT_AUTH.update({
|
||||
'JWT_ISSUER': '{}/oauth2'.format(LMS_ROOT_URL),
|
||||
})
|
||||
|
||||
FEATURES.update({
|
||||
'AUTOMATIC_AUTH_FOR_TESTING': True,
|
||||
'ENABLE_COURSEWARE_SEARCH': False,
|
||||
'ENABLE_COURSEWARE_SEARCH_FOR_COURSE_STAFF': True,
|
||||
'ENABLE_COURSE_DISCOVERY': False,
|
||||
'ENABLE_DASHBOARD_SEARCH': False,
|
||||
'ENABLE_DISCUSSION_SERVICE': True,
|
||||
'SHOW_HEADER_LANGUAGE_SELECTOR': True,
|
||||
'ENABLE_ENTERPRISE_INTEGRATION': False,
|
||||
})
|
||||
|
||||
ENABLE_MKTG_SITE = os.environ.get('ENABLE_MARKETING_SITE', False)
|
||||
MARKETING_SITE_ROOT = os.environ.get('MARKETING_SITE_ROOT', 'http://localhost:8080')
|
||||
|
||||
MKTG_URLS = {
|
||||
'ABOUT': '/about',
|
||||
'ACCESSIBILITY': '/accessibility',
|
||||
'AFFILIATES': '/affiliate-program',
|
||||
'BLOG': '/blog',
|
||||
'CAREERS': '/careers',
|
||||
'CONTACT': '/support/contact_us',
|
||||
'COURSES': '/course',
|
||||
'DONATE': '/donate',
|
||||
'ENTERPRISE': '/enterprise',
|
||||
'FAQ': '/student-faq',
|
||||
'HONOR': '/edx-terms-service',
|
||||
'HOW_IT_WORKS': '/how-it-works',
|
||||
'MEDIA_KIT': '/media-kit',
|
||||
'NEWS': '/news-announcements',
|
||||
'PRESS': '/press',
|
||||
'PRIVACY': '/edx-privacy-policy',
|
||||
'ROOT': MARKETING_SITE_ROOT,
|
||||
'SCHOOLS': '/schools-partners',
|
||||
'SITE_MAP': '/sitemap',
|
||||
'TRADEMARKS': '/trademarks',
|
||||
'TOS': '/edx-terms-service',
|
||||
'TOS_AND_HONOR': '/edx-terms-service',
|
||||
'WHAT_IS_VERIFIED_CERT': '/verified-certificate',
|
||||
}
|
||||
|
||||
ENTERPRISE_MARKETING_FOOTER_QUERY_PARAMS = {}
|
||||
|
||||
CREDENTIALS_SERVICE_USERNAME = 'credentials_worker'
|
||||
|
||||
COURSE_CATALOG_API_URL = 'http://edx.devstack.discovery:18381/api/v1/'
|
||||
|
||||
# Uncomment the lines below if you'd like to see SQL statements in your devstack LMS log.
|
||||
# LOGGING['handlers']['console']['level'] = 'DEBUG'
|
||||
# LOGGING['loggers']['django.db.backends'] = {'handlers': ['console'], 'level': 'DEBUG', 'propagate': False}
|
||||
|
||||
SYSTEM_WIDE_ROLE_CLASSES = os.environ.get("SYSTEM_WIDE_ROLE_CLASSES", SYSTEM_WIDE_ROLE_CLASSES)
|
||||
SYSTEM_WIDE_ROLE_CLASSES.extend(['system_wide_roles.SystemWideRoleAssignment'])
|
||||
|
||||
if FEATURES['ENABLE_ENTERPRISE_INTEGRATION']:
|
||||
SYSTEM_WIDE_ROLE_CLASSES.extend(['enterprise.SystemWideEnterpriseUserRoleAssignment'])
|
||||
|
||||
#####################################################################
|
||||
# See if the developer has any local overrides.
|
||||
if os.path.isfile(join(dirname(abspath(__file__)), 'private.py')):
|
||||
from .private import * # pylint: disable=import-error,wildcard-import
|
||||
|
||||
########################## THEMING #######################
|
||||
# If you want to enable theming in devstack, uncomment this section and add any relevant
|
||||
# theme directories to COMPREHENSIVE_THEME_DIRS
|
||||
|
||||
# We have to import the private method here because production.py calls
|
||||
# derive_settings('lms.envs.production') which runs _make_mako_template_dirs with
|
||||
# the settings from production, which doesn't include these theming settings. Thus,
|
||||
# the templating engine is unable to find the themed templates because they don't exist
|
||||
# in it's path. Re-calling derive_settings doesn't work because the settings was already
|
||||
# changed from a function to a list, and it can't be derived again.
|
||||
|
||||
# from .common import _make_mako_template_dirs
|
||||
# ENABLE_COMPREHENSIVE_THEMING = True
|
||||
# COMPREHENSIVE_THEME_DIRS = [
|
||||
# "/edx/app/edxapp/edx-platform/themes/"
|
||||
# ]
|
||||
# TEMPLATES[1]["DIRS"] = _make_mako_template_dirs
|
||||
# derive_settings(__name__)
|
||||
|
||||
@@ -23,10 +23,7 @@ import os
|
||||
|
||||
########################## Devstack settings ###################################
|
||||
|
||||
if 'BOK_CHOY_HOSTNAME' in os.environ:
|
||||
from .devstack_docker import * # pylint: disable=wildcard-import, unused-wildcard-import
|
||||
else:
|
||||
from .devstack import * # pylint: disable=wildcard-import
|
||||
from .devstack import * # pylint: disable=wildcard-import
|
||||
|
||||
TEST_ROOT = REPO_ROOT / "test_root"
|
||||
|
||||
|
||||
@@ -17,10 +17,7 @@ import os
|
||||
# We intentionally define lots of variables that aren't used, and
|
||||
# want to import all variables from base settings files
|
||||
# pylint: disable=wildcard-import, unused-wildcard-import
|
||||
if 'BOK_CHOY_HOSTNAME' in os.environ:
|
||||
from lms.envs.devstack_docker import *
|
||||
else:
|
||||
from lms.envs.devstack import *
|
||||
from lms.envs.devstack import *
|
||||
|
||||
# Require a separate celery worker
|
||||
CELERY_ALWAYS_EAGER = False
|
||||
|
||||
Reference in New Issue
Block a user