Coverage for src/meshadmin/server/networks/migrations/0012_host_config_freeze_configrollout.py: 100%
5 statements
« prev ^ index » next coverage.py v7.6.12, created at 2025-04-10 16:08 +0200
« prev ^ index » next coverage.py v7.6.12, created at 2025-04-10 16:08 +0200
1# Generated by Django 5.1.7 on 2025-03-08 18:44
3import django.db.models.deletion
4from django.db import migrations, models
7class Migration(migrations.Migration):
9 dependencies = [
10 ("networks", "0011_ca_created_at_ca_updated_at_firewall_created_at_and_more"),
11 ]
13 operations = [
14 migrations.AddField(
15 model_name="host",
16 name="config_freeze",
17 field=models.BooleanField(
18 default=False,
19 help_text="When true, host will not receive automatic config updates",
20 ),
21 ),
22 migrations.CreateModel(
23 name="ConfigRollout",
24 fields=[
25 (
26 "id",
27 models.BigAutoField(
28 auto_created=True,
29 primary_key=True,
30 serialize=False,
31 verbose_name="ID",
32 ),
33 ),
34 ("created_at", models.DateTimeField(auto_now_add=True)),
35 ("updated_at", models.DateTimeField(auto_now=True)),
36 ("name", models.CharField(max_length=200)),
37 (
38 "status",
39 models.CharField(
40 choices=[
41 ("PENDING", "Pending"),
42 ("IN_PROGRESS", "In Progress"),
43 ("COMPLETED", "Completed"),
44 ("FAILED", "Failed"),
45 ],
46 default="PENDING",
47 max_length=20,
48 ),
49 ),
50 ("notes", models.TextField(blank=True)),
51 (
52 "completed_hosts",
53 models.ManyToManyField(
54 related_name="completed_rollouts", to="networks.host"
55 ),
56 ),
57 (
58 "network",
59 models.ForeignKey(
60 on_delete=django.db.models.deletion.CASCADE,
61 to="networks.network",
62 ),
63 ),
64 (
65 "target_hosts",
66 models.ManyToManyField(
67 related_name="pending_rollouts", to="networks.host"
68 ),
69 ),
70 ],
71 options={
72 "abstract": False,
73 },
74 ),
75 ]