From 6a87f5d53b52422f4a1e12f945495ed9951f7676 Mon Sep 17 00:00:00 2001 From: Alexander Lussier-Cullen Date: Thu, 23 Nov 2023 10:12:15 -0500 Subject: bitbake: toaster: make django temp directory configurable Modify the django settings to make cache, logs and databases save to a configurable directory with TOASTER_DJANGO_TMPDIR instead of the machine root level /tmp directory. In addition, add this variable to the passthroughs for tox. This change is made to facilitate cleaning test files for runs on the autobuilder and avoid errors involving the persisted database. (Bitbake rev: 887aaa91fd54ef24fc3cce42d584b381e37d3343) Signed-off-by: Alexander Lussier-Cullen Signed-off-by: Richard Purdie --- bitbake/lib/toaster/toastermain/settings.py | 7 ++++--- bitbake/lib/toaster/toastermain/settings_test.py | 4 ++-- bitbake/lib/toaster/tox.ini | 1 + 3 files changed, 7 insertions(+), 5 deletions(-) (limited to 'bitbake') diff --git a/bitbake/lib/toaster/toastermain/settings.py b/bitbake/lib/toaster/toastermain/settings.py index 69aa5a10c0..3c12359366 100644 --- a/bitbake/lib/toaster/toastermain/settings.py +++ b/bitbake/lib/toaster/toastermain/settings.py @@ -148,6 +148,8 @@ STATICFILES_FINDERS = ( # Make this unique, and don't share it with anybody. SECRET_KEY = 'NOT_SUITABLE_FOR_HOSTED_DEPLOYMENT' +TMPDIR = os.environ.get('TOASTER_DJANGO_TMPDIR', '/tmp') + class InvalidString(str): def __mod__(self, other): from django.template.base import TemplateSyntaxError @@ -214,7 +216,7 @@ CACHES = { # }, 'default': { 'BACKEND': 'django.core.cache.backends.filebased.FileBasedCache', - 'LOCATION': '/tmp/toaster_cache_%d' % os.getuid(), + 'LOCATION': '%s/toaster_cache_%d' % (TMPDIR, os.getuid()), 'TIMEOUT': 1, } } @@ -312,7 +314,7 @@ for t in os.walk(os.path.dirname(currentdir)): LOGGING = LOGGING_SETTINGS # Build paths inside the project like this: BASE_DIR / 'subdir'. -BUILDDIR = os.environ.get("BUILDDIR", "/tmp") +BUILDDIR = os.environ.get("BUILDDIR", TMPDIR) # LOG VIEWER # https://pypi.org/project/django-log-viewer/ @@ -325,7 +327,6 @@ LOG_VIEWER_PATTERNS = ['INFO', 'DEBUG', 'WARNING', 'ERROR', 'CRITICAL'] # Optionally you can set the next variables in order to customize the admin: LOG_VIEWER_FILE_LIST_TITLE = "Logs list" - if DEBUG and SQL_DEBUG: LOGGING['loggers']['django.db.backends'] = { 'level': 'DEBUG', diff --git a/bitbake/lib/toaster/toastermain/settings_test.py b/bitbake/lib/toaster/toastermain/settings_test.py index 6538d9e453..74def2d240 100644 --- a/bitbake/lib/toaster/toastermain/settings_test.py +++ b/bitbake/lib/toaster/toastermain/settings_test.py @@ -19,10 +19,10 @@ TEMPLATE_DEBUG = DEBUG DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', - 'NAME': '/tmp/toaster-test-db.sqlite', + 'NAME': '%s/toaster-test-db.sqlite' % TMPDIR, 'TEST': { 'ENGINE': 'django.db.backends.sqlite3', - 'NAME': '/tmp/toaster-test-db.sqlite', + 'NAME': '%s/toaster-test-db.sqlite' % TMPDIR, } } } diff --git a/bitbake/lib/toaster/tox.ini b/bitbake/lib/toaster/tox.ini index 9928657106..1516a527ae 100644 --- a/bitbake/lib/toaster/tox.ini +++ b/bitbake/lib/toaster/tox.ini @@ -8,6 +8,7 @@ passenv = * passenv = SSTATE_DIR DL_DIR + TOASTER_DJANGO_TMPDIR setenv = DJANGO_SETTINGS_MODULE=toastermain.settings_test TOASTER_BUILDSERVER=1 -- cgit v1.2.3-54-g00ecf