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

1# Generated by Django 5.1.7 on 2025-03-08 18:44 

2 

3import django.db.models.deletion 

4from django.db import migrations, models 

5 

6 

7class Migration(migrations.Migration): 

8 

9 dependencies = [ 

10 ("networks", "0011_ca_created_at_ca_updated_at_firewall_created_at_and_more"), 

11 ] 

12 

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 ]