From 108cf843d44af87c7981f72ee8f7c7b6d6903148 Mon Sep 17 00:00:00 2001 From: Chris Meyers Date: Fri, 15 Nov 2024 13:08:34 -0500 Subject: Add option to skip credential type discovery * Option to avoid database operations in django init path. Useful for running collectstatic, or other management commands, without a database. --- awx/main/apps.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/awx/main/apps.py b/awx/main/apps.py index 1dbfa4879b..8853a2f50d 100644 --- a/awx/main/apps.py +++ b/awx/main/apps.py @@ -1,3 +1,5 @@ +import os + from django.apps import AppConfig from django.utils.translation import gettext_lazy as _ from awx.main.utils.common import bypass_in_test @@ -61,5 +63,11 @@ class MainConfig(AppConfig): def ready(self): super().ready() - self.load_credential_types_feature() + """ + Credential loading triggers database operations. There are cases we want to call + awx-manage collectstatic without a database. All management commands invoke the ready() code + path. Using settings.AWX_SKIP_CREDENTIAL_TYPES_DISCOVER _could_ invoke a database operation. + """ + if not os.environ.get('AWX_SKIP_CREDENTIAL_TYPES_DISCOVER', None): + self.load_credential_types_feature() self.load_named_url_feature() -- cgit v1.2.3