From 584514766d489815718dfe153aa49955d6342577 Mon Sep 17 00:00:00 2001 From: Jeff Bradberry Date: Fri, 4 Mar 2022 12:09:11 -0500 Subject: [PATCH] Disable our wrapping of the Django settings during migrations This will hopefully get us past the unfortunate check against the HostMetric table, which doesn't exist when you are upgrading from 3.8 to 4.x. Additionally, guard against AUTH_LDAP_GROUP_TYPE not being in settings for conf migration 0006. --- awx/conf/apps.py | 9 +++++++-- awx/conf/migrations/_ldap_group_type.py | 2 +- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/awx/conf/apps.py b/awx/conf/apps.py index b865c61948..811baba262 100644 --- a/awx/conf/apps.py +++ b/awx/conf/apps.py @@ -1,3 +1,5 @@ +import sys + # Django from django.apps import AppConfig @@ -12,6 +14,9 @@ class ConfConfig(AppConfig): def ready(self): self.module.autodiscover() - from .settings import SettingsWrapper - SettingsWrapper.initialize() + if not set(sys.argv) & {'migrate', 'check_migrations'}: + + from .settings import SettingsWrapper + + SettingsWrapper.initialize() diff --git a/awx/conf/migrations/_ldap_group_type.py b/awx/conf/migrations/_ldap_group_type.py index 09caa2d28b..b6580f8cae 100644 --- a/awx/conf/migrations/_ldap_group_type.py +++ b/awx/conf/migrations/_ldap_group_type.py @@ -5,7 +5,7 @@ from django.utils.timezone import now def fill_ldap_group_type_params(apps, schema_editor): - group_type = settings.AUTH_LDAP_GROUP_TYPE + group_type = getattr(settings, 'AUTH_LDAP_GROUP_TYPE', None) Setting = apps.get_model('conf', 'Setting') group_type_params = {'name_attr': 'cn', 'member_attr': 'member'}