Skip to content

Commit 63944d9

Browse files
committed
Make older migrations resilient to DNS playbook name change
1 parent 72086dd commit 63944d9

File tree

4 files changed

+72
-66
lines changed

4 files changed

+72
-66
lines changed

api_app/playbooks_manager/migrations/0049_add_adguard_to_free_to_use_and_dns.py

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -9,26 +9,28 @@ def migrate(apps, schema_editor):
99
playbook_config = apps.get_model("playbooks_manager", "PlaybookConfig")
1010
AnalyzerConfig = apps.get_model("analyzers_manager", "AnalyzerConfig")
1111
pc = playbook_config.objects.get(name="FREE_TO_USE_ANALYZERS")
12-
pc2 = playbook_config.objects.get(name="Dns")
13-
pc.analyzers.add(AnalyzerConfig.objects.get(name="AdGuard").id)
14-
pc2.analyzers.add(AnalyzerConfig.objects.get(name="AdGuard").id)
15-
pc.full_clean()
16-
pc.save()
17-
pc2.full_clean()
18-
pc2.save()
12+
pc2 = playbook_config.objects.filter(name="Dns").first() or playbook_config.objects.filter(name="DNS").first()
13+
if pc2:
14+
pc.analyzers.add(AnalyzerConfig.objects.get(name="AdGuard").id)
15+
pc2.analyzers.add(AnalyzerConfig.objects.get(name="AdGuard").id)
16+
pc.full_clean()
17+
pc.save()
18+
pc2.full_clean()
19+
pc2.save()
1920

2021

2122
def reverse_migrate(apps, schema_editor):
2223
playbook_config = apps.get_model("playbooks_manager", "PlaybookConfig")
2324
AnalyzerConfig = apps.get_model("analyzers_manager", "AnalyzerConfig")
2425
pc = playbook_config.objects.get(name="FREE_TO_USE_ANALYZERS")
25-
pc2 = playbook_config.objects.get(name="Dns")
26-
pc.analyzers.remove(AnalyzerConfig.objects.get(name="AdGuard").id)
27-
pc2.analyzers.remove(AnalyzerConfig.objects.get(name="AdGuard").id)
28-
pc.full_clean()
29-
pc.save()
30-
pc2.full_clean()
31-
pc2.save()
26+
pc2 = playbook_config.objects.filter(name="Dns").first() or playbook_config.objects.filter(name="DNS").first()
27+
if pc2:
28+
pc.analyzers.remove(AnalyzerConfig.objects.get(name="AdGuard").id)
29+
pc2.analyzers.remove(AnalyzerConfig.objects.get(name="AdGuard").id)
30+
pc.full_clean()
31+
pc.save()
32+
pc2.full_clean()
33+
pc2.save()
3234

3335

3436
class Migration(migrations.Migration):

api_app/playbooks_manager/migrations/0058_add_ultradns_to_free_to_use_and_dns.py

Lines changed: 29 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -9,39 +9,41 @@ def migrate(apps, schema_editor):
99
playbook_config = apps.get_model("playbooks_manager", "PlaybookConfig")
1010
AnalyzerConfig = apps.get_model("analyzers_manager", "AnalyzerConfig")
1111
pc = playbook_config.objects.get(name="FREE_TO_USE_ANALYZERS")
12-
pc2 = playbook_config.objects.get(name="Dns")
13-
pc.analyzers.add(
14-
AnalyzerConfig.objects.get(name="UltraDNS_DNS").id,
15-
AnalyzerConfig.objects.get(name="UltraDNS_Malicious_Detector").id,
16-
)
17-
pc2.analyzers.add(
18-
AnalyzerConfig.objects.get(name="UltraDNS_DNS").id,
19-
AnalyzerConfig.objects.get(name="UltraDNS_Malicious_Detector").id,
20-
)
21-
pc.full_clean()
22-
pc.save()
23-
pc2.full_clean()
24-
pc2.save()
12+
pc2 = playbook_config.objects.filter(name="Dns").first() or playbook_config.objects.filter(name="DNS").first()
13+
if pc2:
14+
pc.analyzers.add(
15+
AnalyzerConfig.objects.get(name="UltraDNS_DNS").id,
16+
AnalyzerConfig.objects.get(name="UltraDNS_Malicious_Detector").id,
17+
)
18+
pc2.analyzers.add(
19+
AnalyzerConfig.objects.get(name="UltraDNS_DNS").id,
20+
AnalyzerConfig.objects.get(name="UltraDNS_Malicious_Detector").id,
21+
)
22+
pc.full_clean()
23+
pc.save()
24+
pc2.full_clean()
25+
pc2.save()
2526

2627

2728
def reverse_migrate(apps, schema_editor):
2829
playbook_config = apps.get_model("playbooks_manager", "PlaybookConfig")
2930
AnalyzerConfig = apps.get_model("analyzers_manager", "AnalyzerConfig")
3031
pc = playbook_config.objects.get(name="FREE_TO_USE_ANALYZERS")
31-
pc2 = playbook_config.objects.get(name="Dns")
32-
33-
pc.analyzers.remove(
34-
AnalyzerConfig.objects.get(name="UltraDNS_DNS").id,
35-
AnalyzerConfig.objects.get(name="UltraDNS_Malicious_Detector").id,
36-
)
37-
pc.full_clean()
38-
pc.save()
39-
pc2.analyzers.remove(
40-
AnalyzerConfig.objects.get(name="UltraDNS_DNS").id,
41-
AnalyzerConfig.objects.get(name="UltraDNS_Malicious_Detector").id,
42-
)
43-
pc2.full_clean()
44-
pc2.save()
32+
pc2 = playbook_config.objects.filter(name="Dns").first() or playbook_config.objects.filter(name="DNS").first()
33+
34+
if pc2:
35+
pc.analyzers.remove(
36+
AnalyzerConfig.objects.get(name="UltraDNS_DNS").id,
37+
AnalyzerConfig.objects.get(name="UltraDNS_Malicious_Detector").id,
38+
)
39+
pc.full_clean()
40+
pc.save()
41+
pc2.analyzers.remove(
42+
AnalyzerConfig.objects.get(name="UltraDNS_DNS").id,
43+
AnalyzerConfig.objects.get(name="UltraDNS_Malicious_Detector").id,
44+
)
45+
pc2.full_clean()
46+
pc2.save()
4547

4648

4749
class Migration(migrations.Migration):

api_app/playbooks_manager/migrations/0061_replace_dns0_playbooks.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ def migrate(apps, schema_editor):
1313
analyzer_objs = list(AnalyzerConfig.objects.filter(name__in=new_analyzers))
1414

1515
# Playbooks to update
16-
playbook_names = ["FREE_TO_USE_ANALYZERS", "Dns"]
16+
playbook_names = ["FREE_TO_USE_ANALYZERS", "Dns", "DNS"]
1717

1818
for pb_name in playbook_names:
1919
pc = PlaybookConfig.objects.filter(name=pb_name).first()
@@ -31,7 +31,7 @@ def reverse_migrate(apps, schema_editor):
3131
new_analyzers = ["DNS4EU", "DNS4EU_Malicious_Detector"]
3232
analyzer_objs = list(AnalyzerConfig.objects.filter(name__in=new_analyzers))
3333

34-
playbook_names = ["FREE_TO_USE_ANALYZERS", "Dns"]
34+
playbook_names = ["FREE_TO_USE_ANALYZERS", "Dns", "DNS"]
3535

3636
for pb_name in playbook_names:
3737
pc = PlaybookConfig.objects.filter(name=pb_name).first()

api_app/playbooks_manager/migrations/0062_add_cleanbrowsing_to_free_to_use.py

Lines changed: 25 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -9,35 +9,37 @@ def migrate(apps, schema_editor):
99
playbook_config = apps.get_model("playbooks_manager", "PlaybookConfig")
1010
AnalyzerConfig = apps.get_model("analyzers_manager", "AnalyzerConfig")
1111
pc = playbook_config.objects.get(name="FREE_TO_USE_ANALYZERS")
12-
pc2 = playbook_config.objects.get(name="Dns")
13-
pc.analyzers.add(
14-
AnalyzerConfig.objects.get(name="CleanBrowsing_Malicious_Detector").id,
15-
)
16-
pc2.analyzers.add(
17-
AnalyzerConfig.objects.get(name="CleanBrowsing_Malicious_Detector").id,
18-
)
19-
pc.full_clean()
20-
pc.save()
21-
pc2.full_clean()
22-
pc2.save()
12+
pc2 = playbook_config.objects.filter(name="Dns").first() or playbook_config.objects.filter(name="DNS").first()
13+
if pc2:
14+
pc.analyzers.add(
15+
AnalyzerConfig.objects.get(name="CleanBrowsing_Malicious_Detector").id,
16+
)
17+
pc2.analyzers.add(
18+
AnalyzerConfig.objects.get(name="CleanBrowsing_Malicious_Detector").id,
19+
)
20+
pc.full_clean()
21+
pc.save()
22+
pc2.full_clean()
23+
pc2.save()
2324

2425

2526
def reverse_migrate(apps, schema_editor):
2627
playbook_config = apps.get_model("playbooks_manager", "PlaybookConfig")
2728
AnalyzerConfig = apps.get_model("analyzers_manager", "AnalyzerConfig")
2829
pc = playbook_config.objects.get(name="FREE_TO_USE_ANALYZERS")
29-
pc2 = playbook_config.objects.get(name="Dns")
30-
31-
pc.analyzers.remove(
32-
AnalyzerConfig.objects.get(name="CleanBrowsing_Malicious_Detector").id,
33-
)
34-
pc.full_clean()
35-
pc.save()
36-
pc2.analyzers.remove(
37-
AnalyzerConfig.objects.get(name="CleanBrowsing_Malicious_Detector").id,
38-
)
39-
pc2.full_clean()
40-
pc2.save()
30+
pc2 = playbook_config.objects.filter(name="Dns").first() or playbook_config.objects.filter(name="DNS").first()
31+
32+
if pc2:
33+
pc.analyzers.remove(
34+
AnalyzerConfig.objects.get(name="CleanBrowsing_Malicious_Detector").id,
35+
)
36+
pc.full_clean()
37+
pc.save()
38+
pc2.analyzers.remove(
39+
AnalyzerConfig.objects.get(name="CleanBrowsing_Malicious_Detector").id,
40+
)
41+
pc2.full_clean()
42+
pc2.save()
4143

4244

4345
class Migration(migrations.Migration):

0 commit comments

Comments
 (0)