5
5
from django .core .exceptions import ValidationError
6
6
from flags .sources import get_flags
7
7
8
- from ansible_base .lib . dynamic_config . feature_flags .platform_flags import AAP_FEATURE_FLAGS
8
+ from ansible_base .feature_flags .feature_flags import AAP_FEATURE_FLAGS
9
9
10
10
logger = logging .getLogger ('ansible_base.feature_flags.utils' )
11
11
@@ -14,7 +14,7 @@ def get_django_flags():
14
14
return get_flags ()
15
15
16
16
17
- def create_initial_data (** kwargs ):
17
+ def create_initial_data (** kwargs ): # NOSONAR
18
18
"""
19
19
Loads in platform feature flags when the server starts
20
20
"""
@@ -40,22 +40,22 @@ def load_feature_flags():
40
40
"""
41
41
Loads in all feature flags into the database. Updates them if necessary.
42
42
"""
43
- FeatureFlags = apps .get_model ('dab_feature_flags' , 'AAPFlag' )
43
+ feature_flags_model = apps .get_model ('dab_feature_flags' , 'AAPFlag' )
44
44
for flag in AAP_FEATURE_FLAGS :
45
45
try :
46
- existing_flag = FeatureFlags .objects .filter (name = flag ['name' ], condition = flag ['condition' ])
46
+ existing_flag = feature_flags_model .objects .filter (name = flag ['name' ], condition = flag ['condition' ])
47
47
if existing_flag :
48
48
feature_flag = update_feature_flag (existing_flag .first (), flag )
49
49
else :
50
50
if hasattr (settings , flag ['name' ]):
51
51
flag ['value' ] = getattr (settings , flag ['name' ])
52
- feature_flag = FeatureFlags (** flag )
52
+ feature_flag = feature_flags_model (** flag )
53
53
feature_flag .full_clean ()
54
54
feature_flag .save ()
55
55
except ValidationError as e :
56
56
# Ignore this error unless better way to bypass this
57
57
if e .messages [0 ] == 'Aap flag with this Name and Condition already exists.' :
58
- pass
58
+ logger . info ( f"Feature flag: { flag [ 'name' ] } already exists" )
59
59
else :
60
60
error_msg = f"Invalid feature flag: { flag ['name' ]} . Error: { e } "
61
61
logger .error (error_msg )
@@ -70,10 +70,11 @@ def delete_feature_flags():
70
70
for _flag in AAP_FEATURE_FLAGS :
71
71
if flag .name == _flag ['name' ] and flag .condition == _flag ['condition' ]:
72
72
found = True
73
- continue
73
+ break
74
74
if found :
75
75
continue
76
76
if not found :
77
+ logger .info (f"Deleting feature flag: { flag .name } as it is no longer available as a platform flag" )
77
78
flag .delete ()
78
79
79
80
delete_feature_flags ()
0 commit comments