From c3f00276aba871f7809f202d5fff95564a9e7309 Mon Sep 17 00:00:00 2001 From: Alexander Sulfrian Date: Mon, 21 Sep 2015 19:11:25 +0200 Subject: Add matching django migrations for south --- src/lib/Bcfg2/Reporting/migrations/0001_initial.py | 280 +-------------------- .../migrations/0002_convert_perms_to_mode.py | 23 ++ .../Reporting/migrations/0003_expand_hash_key.py | 44 ++++ .../migrations/0004_profile_can_be_null.py | 20 ++ .../migrations/0005_add_selinux_entry_support.py | 222 ++++++++++++++++ .../0006_add_user_group_entry_support.py | 68 +++++ .../migrations/0007_add_flag_fields_interaction.py | 26 ++ 7 files changed, 411 insertions(+), 272 deletions(-) create mode 100644 src/lib/Bcfg2/Reporting/migrations/0002_convert_perms_to_mode.py create mode 100644 src/lib/Bcfg2/Reporting/migrations/0003_expand_hash_key.py create mode 100644 src/lib/Bcfg2/Reporting/migrations/0004_profile_can_be_null.py create mode 100644 src/lib/Bcfg2/Reporting/migrations/0005_add_selinux_entry_support.py create mode 100644 src/lib/Bcfg2/Reporting/migrations/0006_add_user_group_entry_support.py create mode 100644 src/lib/Bcfg2/Reporting/migrations/0007_add_flag_fields_interaction.py diff --git a/src/lib/Bcfg2/Reporting/migrations/0001_initial.py b/src/lib/Bcfg2/Reporting/migrations/0001_initial.py index 0e23397ff..6a52a8b2d 100644 --- a/src/lib/Bcfg2/Reporting/migrations/0001_initial.py +++ b/src/lib/Bcfg2/Reporting/migrations/0001_initial.py @@ -15,7 +15,7 @@ class Migration(migrations.Migration): fields=[ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), ('name', models.CharField(max_length=128, db_index=True)), - ('hash_key', models.BigIntegerField(editable=False, db_index=True)), + ('hash_key', models.IntegerField(editable=False, db_index=True)), ('state', models.IntegerField(choices=[(0, b'Good'), (1, b'Bad'), (2, b'Modified'), (3, b'Extra')])), ('exists', models.BooleanField(default=True)), ('status', models.CharField(default=b'check', max_length=128)), @@ -55,7 +55,7 @@ class Migration(migrations.Migration): fields=[ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), ('name', models.CharField(max_length=128, db_index=True)), - ('hash_key', models.BigIntegerField(editable=False, db_index=True)), + ('hash_key', models.IntegerField(editable=False, db_index=True)), ('entry_type', models.CharField(max_length=128)), ('message', models.TextField()), ], @@ -80,7 +80,7 @@ class Migration(migrations.Migration): ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), ('owner', models.CharField(max_length=128)), ('group', models.CharField(max_length=128)), - ('mode', models.CharField(max_length=128)), + ('perms', models.CharField(max_length=128)), ], options={ }, @@ -116,8 +116,6 @@ class Migration(migrations.Migration): ('bad_count', models.IntegerField(default=0)), ('modified_count', models.IntegerField(default=0)), ('extra_count', models.IntegerField(default=0)), - ('dry_run', models.BooleanField(default=False)), - ('only_important', models.BooleanField(default=False)), ('actions', models.ManyToManyField(to='Reporting.ActionEntry')), ('bundles', models.ManyToManyField(to='Reporting.Bundle')), ('client', models.ForeignKey(related_name='interactions', to='Reporting.Client')), @@ -135,7 +133,7 @@ class Migration(migrations.Migration): fields=[ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), ('name', models.CharField(max_length=128, db_index=True)), - ('hash_key', models.BigIntegerField(editable=False, db_index=True)), + ('hash_key', models.IntegerField(editable=False, db_index=True)), ('state', models.IntegerField(choices=[(0, b'Good'), (1, b'Bad'), (2, b'Modified'), (3, b'Extra')])), ('exists', models.BooleanField(default=True)), ('target_version', models.CharField(default=b'', max_length=1024)), @@ -153,7 +151,7 @@ class Migration(migrations.Migration): fields=[ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), ('name', models.CharField(max_length=128, db_index=True)), - ('hash_key', models.BigIntegerField(editable=False, db_index=True)), + ('hash_key', models.IntegerField(editable=False, db_index=True)), ('state', models.IntegerField(choices=[(0, b'Good'), (1, b'Bad'), (2, b'Modified'), (3, b'Extra')])), ('exists', models.BooleanField(default=True)), ('path_type', models.CharField(max_length=128, choices=[(b'device', b'Device'), (b'directory', b'Directory'), (b'hardlink', b'Hard Link'), (b'nonexistent', b'Non Existent'), (b'permissions', b'Permissions'), (b'symlink', b'Symlink')])), @@ -207,189 +205,12 @@ class Migration(migrations.Migration): }, bases=(models.Model,), ), - migrations.CreateModel( - name='POSIXGroupEntry', - fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('name', models.CharField(max_length=128, db_index=True)), - ('hash_key', models.BigIntegerField(editable=False, db_index=True)), - ('state', models.IntegerField(choices=[(0, b'Good'), (1, b'Bad'), (2, b'Modified'), (3, b'Extra')])), - ('exists', models.BooleanField(default=True)), - ('gid', models.IntegerField(null=True)), - ('current_gid', models.IntegerField(null=True)), - ], - options={ - 'ordering': ('state', 'name'), - 'abstract': False, - }, - bases=(models.Model,), - ), - migrations.CreateModel( - name='POSIXUserEntry', - fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('name', models.CharField(max_length=128, db_index=True)), - ('hash_key', models.BigIntegerField(editable=False, db_index=True)), - ('state', models.IntegerField(choices=[(0, b'Good'), (1, b'Bad'), (2, b'Modified'), (3, b'Extra')])), - ('exists', models.BooleanField(default=True)), - ('uid', models.IntegerField(null=True)), - ('current_uid', models.IntegerField(null=True)), - ('group', models.CharField(max_length=64)), - ('current_group', models.CharField(max_length=64, null=True)), - ('gecos', models.CharField(max_length=1024)), - ('current_gecos', models.CharField(max_length=1024, null=True)), - ('home', models.CharField(max_length=1024)), - ('current_home', models.CharField(max_length=1024, null=True)), - ('shell', models.CharField(default=b'/bin/bash', max_length=1024)), - ('current_shell', models.CharField(max_length=1024, null=True)), - ], - options={ - 'ordering': ('state', 'name'), - 'abstract': False, - }, - bases=(models.Model,), - ), - migrations.CreateModel( - name='SEBooleanEntry', - fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('name', models.CharField(max_length=128, db_index=True)), - ('hash_key', models.BigIntegerField(editable=False, db_index=True)), - ('state', models.IntegerField(choices=[(0, b'Good'), (1, b'Bad'), (2, b'Modified'), (3, b'Extra')])), - ('exists', models.BooleanField(default=True)), - ('value', models.BooleanField(default=True)), - ], - options={ - 'ordering': ('state', 'name'), - 'abstract': False, - }, - bases=(models.Model,), - ), - migrations.CreateModel( - name='SEFcontextEntry', - fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('name', models.CharField(max_length=128, db_index=True)), - ('hash_key', models.BigIntegerField(editable=False, db_index=True)), - ('state', models.IntegerField(choices=[(0, b'Good'), (1, b'Bad'), (2, b'Modified'), (3, b'Extra')])), - ('exists', models.BooleanField(default=True)), - ('selinuxtype', models.CharField(max_length=128)), - ('current_selinuxtype', models.CharField(max_length=128, null=True)), - ('filetype', models.CharField(max_length=16)), - ], - options={ - 'ordering': ('state', 'name'), - 'abstract': False, - }, - bases=(models.Model,), - ), - migrations.CreateModel( - name='SEInterfaceEntry', - fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('name', models.CharField(max_length=128, db_index=True)), - ('hash_key', models.BigIntegerField(editable=False, db_index=True)), - ('state', models.IntegerField(choices=[(0, b'Good'), (1, b'Bad'), (2, b'Modified'), (3, b'Extra')])), - ('exists', models.BooleanField(default=True)), - ('selinuxtype', models.CharField(max_length=128)), - ('current_selinuxtype', models.CharField(max_length=128, null=True)), - ], - options={ - 'ordering': ('state', 'name'), - 'abstract': False, - }, - bases=(models.Model,), - ), - migrations.CreateModel( - name='SELoginEntry', - fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('name', models.CharField(max_length=128, db_index=True)), - ('hash_key', models.BigIntegerField(editable=False, db_index=True)), - ('state', models.IntegerField(choices=[(0, b'Good'), (1, b'Bad'), (2, b'Modified'), (3, b'Extra')])), - ('exists', models.BooleanField(default=True)), - ('selinuxuser', models.CharField(max_length=128)), - ('current_selinuxuser', models.CharField(max_length=128, null=True)), - ], - options={ - 'ordering': ('state', 'name'), - 'abstract': False, - }, - bases=(models.Model,), - ), - migrations.CreateModel( - name='SEModuleEntry', - fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('name', models.CharField(max_length=128, db_index=True)), - ('hash_key', models.BigIntegerField(editable=False, db_index=True)), - ('state', models.IntegerField(choices=[(0, b'Good'), (1, b'Bad'), (2, b'Modified'), (3, b'Extra')])), - ('exists', models.BooleanField(default=True)), - ('disabled', models.BooleanField(default=False)), - ('current_disabled', models.BooleanField(default=False)), - ], - options={ - 'ordering': ('state', 'name'), - 'abstract': False, - }, - bases=(models.Model,), - ), - migrations.CreateModel( - name='SENodeEntry', - fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('name', models.CharField(max_length=128, db_index=True)), - ('hash_key', models.BigIntegerField(editable=False, db_index=True)), - ('state', models.IntegerField(choices=[(0, b'Good'), (1, b'Bad'), (2, b'Modified'), (3, b'Extra')])), - ('exists', models.BooleanField(default=True)), - ('selinuxtype', models.CharField(max_length=128)), - ('current_selinuxtype', models.CharField(max_length=128, null=True)), - ('proto', models.CharField(max_length=4)), - ], - options={ - 'ordering': ('state', 'name'), - 'abstract': False, - }, - bases=(models.Model,), - ), - migrations.CreateModel( - name='SEPermissiveEntry', - fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('name', models.CharField(max_length=128, db_index=True)), - ('hash_key', models.BigIntegerField(editable=False, db_index=True)), - ('state', models.IntegerField(choices=[(0, b'Good'), (1, b'Bad'), (2, b'Modified'), (3, b'Extra')])), - ('exists', models.BooleanField(default=True)), - ], - options={ - 'ordering': ('state', 'name'), - 'abstract': False, - }, - bases=(models.Model,), - ), - migrations.CreateModel( - name='SEPortEntry', - fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('name', models.CharField(max_length=128, db_index=True)), - ('hash_key', models.BigIntegerField(editable=False, db_index=True)), - ('state', models.IntegerField(choices=[(0, b'Good'), (1, b'Bad'), (2, b'Modified'), (3, b'Extra')])), - ('exists', models.BooleanField(default=True)), - ('selinuxtype', models.CharField(max_length=128)), - ('current_selinuxtype', models.CharField(max_length=128, null=True)), - ], - options={ - 'ordering': ('state', 'name'), - 'abstract': False, - }, - bases=(models.Model,), - ), migrations.CreateModel( name='ServiceEntry', fields=[ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), ('name', models.CharField(max_length=128, db_index=True)), - ('hash_key', models.BigIntegerField(editable=False, db_index=True)), + ('hash_key', models.IntegerField(editable=False, db_index=True)), ('state', models.IntegerField(choices=[(0, b'Good'), (1, b'Bad'), (2, b'Modified'), (3, b'Extra')])), ('exists', models.BooleanField(default=True)), ('target_status', models.CharField(default=b'', max_length=128)), @@ -401,25 +222,6 @@ class Migration(migrations.Migration): }, bases=(models.Model,), ), - migrations.CreateModel( - name='SEUserEntry', - fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('name', models.CharField(max_length=128, db_index=True)), - ('hash_key', models.BigIntegerField(editable=False, db_index=True)), - ('state', models.IntegerField(choices=[(0, b'Good'), (1, b'Bad'), (2, b'Modified'), (3, b'Extra')])), - ('exists', models.BooleanField(default=True)), - ('roles', models.CharField(max_length=128)), - ('current_roles', models.CharField(max_length=128, null=True)), - ('prefix', models.CharField(max_length=128)), - ('current_prefix', models.CharField(max_length=128, null=True)), - ], - options={ - 'ordering': ('state', 'name'), - 'abstract': False, - }, - bases=(models.Model,), - ), migrations.AddField( model_name='pathentry', name='acls', @@ -450,70 +252,10 @@ class Migration(migrations.Migration): field=models.ManyToManyField(to='Reporting.PathEntry'), preserve_default=True, ), - migrations.AddField( - model_name='interaction', - name='posixgroups', - field=models.ManyToManyField(to='Reporting.POSIXGroupEntry'), - preserve_default=True, - ), - migrations.AddField( - model_name='interaction', - name='posixusers', - field=models.ManyToManyField(to='Reporting.POSIXUserEntry'), - preserve_default=True, - ), migrations.AddField( model_name='interaction', name='profile', - field=models.ForeignKey(related_name='+', to='Reporting.Group', null=True), - preserve_default=True, - ), - migrations.AddField( - model_name='interaction', - name='sebooleans', - field=models.ManyToManyField(to='Reporting.SEBooleanEntry'), - preserve_default=True, - ), - migrations.AddField( - model_name='interaction', - name='sefcontexts', - field=models.ManyToManyField(to='Reporting.SEFcontextEntry'), - preserve_default=True, - ), - migrations.AddField( - model_name='interaction', - name='seinterfaces', - field=models.ManyToManyField(to='Reporting.SEInterfaceEntry'), - preserve_default=True, - ), - migrations.AddField( - model_name='interaction', - name='selogins', - field=models.ManyToManyField(to='Reporting.SELoginEntry'), - preserve_default=True, - ), - migrations.AddField( - model_name='interaction', - name='semodules', - field=models.ManyToManyField(to='Reporting.SEModuleEntry'), - preserve_default=True, - ), - migrations.AddField( - model_name='interaction', - name='senodes', - field=models.ManyToManyField(to='Reporting.SENodeEntry'), - preserve_default=True, - ), - migrations.AddField( - model_name='interaction', - name='sepermissives', - field=models.ManyToManyField(to='Reporting.SEPermissiveEntry'), - preserve_default=True, - ), - migrations.AddField( - model_name='interaction', - name='seports', - field=models.ManyToManyField(to='Reporting.SEPortEntry'), + field=models.ForeignKey(related_name='+', to='Reporting.Group'), preserve_default=True, ), migrations.AddField( @@ -522,19 +264,13 @@ class Migration(migrations.Migration): field=models.ManyToManyField(to='Reporting.ServiceEntry'), preserve_default=True, ), - migrations.AddField( - model_name='interaction', - name='seusers', - field=models.ManyToManyField(to='Reporting.SEUserEntry'), - preserve_default=True, - ), migrations.AlterUniqueTogether( name='interaction', unique_together=set([('client', 'timestamp')]), ), migrations.AlterUniqueTogether( name='fileperms', - unique_together=set([('owner', 'group', 'mode')]), + unique_together=set([('owner', 'group', 'perms')]), ), migrations.AddField( model_name='client', diff --git a/src/lib/Bcfg2/Reporting/migrations/0002_convert_perms_to_mode.py b/src/lib/Bcfg2/Reporting/migrations/0002_convert_perms_to_mode.py new file mode 100644 index 000000000..48bfd6412 --- /dev/null +++ b/src/lib/Bcfg2/Reporting/migrations/0002_convert_perms_to_mode.py @@ -0,0 +1,23 @@ +# -*- coding: utf-8 -*- +from __future__ import unicode_literals + +from django.db import models, migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('Reporting', '0001_initial'), + ] + + operations = [ + migrations.RenameField( + model_name='fileperms', + old_name='perms', + new_name='mode', + ), + migrations.AlterUniqueTogether( + name='fileperms', + unique_together=set([('owner', 'group', 'mode')]), + ), + ] diff --git a/src/lib/Bcfg2/Reporting/migrations/0003_expand_hash_key.py b/src/lib/Bcfg2/Reporting/migrations/0003_expand_hash_key.py new file mode 100644 index 000000000..b9ae207dd --- /dev/null +++ b/src/lib/Bcfg2/Reporting/migrations/0003_expand_hash_key.py @@ -0,0 +1,44 @@ +# -*- coding: utf-8 -*- +from __future__ import unicode_literals + +from django.db import models, migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('Reporting', '0002_convert_perms_to_mode'), + ] + + operations = [ + migrations.AlterField( + model_name='actionentry', + name='hash_key', + field=models.BigIntegerField(editable=False, db_index=True), + preserve_default=True, + ), + migrations.AlterField( + model_name='failureentry', + name='hash_key', + field=models.BigIntegerField(editable=False, db_index=True), + preserve_default=True, + ), + migrations.AlterField( + model_name='packageentry', + name='hash_key', + field=models.BigIntegerField(editable=False, db_index=True), + preserve_default=True, + ), + migrations.AlterField( + model_name='pathentry', + name='hash_key', + field=models.BigIntegerField(editable=False, db_index=True), + preserve_default=True, + ), + migrations.AlterField( + model_name='serviceentry', + name='hash_key', + field=models.BigIntegerField(editable=False, db_index=True), + preserve_default=True, + ), + ] diff --git a/src/lib/Bcfg2/Reporting/migrations/0004_profile_can_be_null.py b/src/lib/Bcfg2/Reporting/migrations/0004_profile_can_be_null.py new file mode 100644 index 000000000..d0b2de417 --- /dev/null +++ b/src/lib/Bcfg2/Reporting/migrations/0004_profile_can_be_null.py @@ -0,0 +1,20 @@ +# -*- coding: utf-8 -*- +from __future__ import unicode_literals + +from django.db import models, migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('Reporting', '0003_expand_hash_key'), + ] + + operations = [ + migrations.AlterField( + model_name='interaction', + name='profile', + field=models.ForeignKey(related_name='+', to='Reporting.Group', null=True), + preserve_default=True, + ), + ] diff --git a/src/lib/Bcfg2/Reporting/migrations/0005_add_selinux_entry_support.py b/src/lib/Bcfg2/Reporting/migrations/0005_add_selinux_entry_support.py new file mode 100644 index 000000000..0c6934b10 --- /dev/null +++ b/src/lib/Bcfg2/Reporting/migrations/0005_add_selinux_entry_support.py @@ -0,0 +1,222 @@ +# -*- coding: utf-8 -*- +from __future__ import unicode_literals + +from django.db import models, migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('Reporting', '0004_profile_can_be_null'), + ] + + operations = [ + migrations.CreateModel( + name='SEBooleanEntry', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('name', models.CharField(max_length=128, db_index=True)), + ('hash_key', models.BigIntegerField(editable=False, db_index=True)), + ('state', models.IntegerField(choices=[(0, b'Good'), (1, b'Bad'), (2, b'Modified'), (3, b'Extra')])), + ('exists', models.BooleanField(default=True)), + ('value', models.BooleanField(default=True)), + ], + options={ + 'ordering': ('state', 'name'), + 'abstract': False, + }, + bases=(models.Model,), + ), + migrations.CreateModel( + name='SEFcontextEntry', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('name', models.CharField(max_length=128, db_index=True)), + ('hash_key', models.BigIntegerField(editable=False, db_index=True)), + ('state', models.IntegerField(choices=[(0, b'Good'), (1, b'Bad'), (2, b'Modified'), (3, b'Extra')])), + ('exists', models.BooleanField(default=True)), + ('selinuxtype', models.CharField(max_length=128)), + ('current_selinuxtype', models.CharField(max_length=128, null=True)), + ('filetype', models.CharField(max_length=16)), + ], + options={ + 'ordering': ('state', 'name'), + 'abstract': False, + }, + bases=(models.Model,), + ), + migrations.CreateModel( + name='SEInterfaceEntry', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('name', models.CharField(max_length=128, db_index=True)), + ('hash_key', models.BigIntegerField(editable=False, db_index=True)), + ('state', models.IntegerField(choices=[(0, b'Good'), (1, b'Bad'), (2, b'Modified'), (3, b'Extra')])), + ('exists', models.BooleanField(default=True)), + ('selinuxtype', models.CharField(max_length=128)), + ('current_selinuxtype', models.CharField(max_length=128, null=True)), + ], + options={ + 'ordering': ('state', 'name'), + 'abstract': False, + }, + bases=(models.Model,), + ), + migrations.CreateModel( + name='SELoginEntry', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('name', models.CharField(max_length=128, db_index=True)), + ('hash_key', models.BigIntegerField(editable=False, db_index=True)), + ('state', models.IntegerField(choices=[(0, b'Good'), (1, b'Bad'), (2, b'Modified'), (3, b'Extra')])), + ('exists', models.BooleanField(default=True)), + ('selinuxuser', models.CharField(max_length=128)), + ('current_selinuxuser', models.CharField(max_length=128, null=True)), + ], + options={ + 'ordering': ('state', 'name'), + 'abstract': False, + }, + bases=(models.Model,), + ), + migrations.CreateModel( + name='SEModuleEntry', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('name', models.CharField(max_length=128, db_index=True)), + ('hash_key', models.BigIntegerField(editable=False, db_index=True)), + ('state', models.IntegerField(choices=[(0, b'Good'), (1, b'Bad'), (2, b'Modified'), (3, b'Extra')])), + ('exists', models.BooleanField(default=True)), + ('disabled', models.BooleanField(default=False)), + ('current_disabled', models.BooleanField(default=False)), + ], + options={ + 'ordering': ('state', 'name'), + 'abstract': False, + }, + bases=(models.Model,), + ), + migrations.CreateModel( + name='SENodeEntry', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('name', models.CharField(max_length=128, db_index=True)), + ('hash_key', models.BigIntegerField(editable=False, db_index=True)), + ('state', models.IntegerField(choices=[(0, b'Good'), (1, b'Bad'), (2, b'Modified'), (3, b'Extra')])), + ('exists', models.BooleanField(default=True)), + ('selinuxtype', models.CharField(max_length=128)), + ('current_selinuxtype', models.CharField(max_length=128, null=True)), + ('proto', models.CharField(max_length=4)), + ], + options={ + 'ordering': ('state', 'name'), + 'abstract': False, + }, + bases=(models.Model,), + ), + migrations.CreateModel( + name='SEPermissiveEntry', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('name', models.CharField(max_length=128, db_index=True)), + ('hash_key', models.BigIntegerField(editable=False, db_index=True)), + ('state', models.IntegerField(choices=[(0, b'Good'), (1, b'Bad'), (2, b'Modified'), (3, b'Extra')])), + ('exists', models.BooleanField(default=True)), + ], + options={ + 'ordering': ('state', 'name'), + 'abstract': False, + }, + bases=(models.Model,), + ), + migrations.CreateModel( + name='SEPortEntry', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('name', models.CharField(max_length=128, db_index=True)), + ('hash_key', models.BigIntegerField(editable=False, db_index=True)), + ('state', models.IntegerField(choices=[(0, b'Good'), (1, b'Bad'), (2, b'Modified'), (3, b'Extra')])), + ('exists', models.BooleanField(default=True)), + ('selinuxtype', models.CharField(max_length=128)), + ('current_selinuxtype', models.CharField(max_length=128, null=True)), + ], + options={ + 'ordering': ('state', 'name'), + 'abstract': False, + }, + bases=(models.Model,), + ), + migrations.CreateModel( + name='SEUserEntry', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('name', models.CharField(max_length=128, db_index=True)), + ('hash_key', models.BigIntegerField(editable=False, db_index=True)), + ('state', models.IntegerField(choices=[(0, b'Good'), (1, b'Bad'), (2, b'Modified'), (3, b'Extra')])), + ('exists', models.BooleanField(default=True)), + ('roles', models.CharField(max_length=128)), + ('current_roles', models.CharField(max_length=128, null=True)), + ('prefix', models.CharField(max_length=128)), + ('current_prefix', models.CharField(max_length=128, null=True)), + ], + options={ + 'ordering': ('state', 'name'), + 'abstract': False, + }, + bases=(models.Model,), + ), + migrations.AddField( + model_name='interaction', + name='sebooleans', + field=models.ManyToManyField(to='Reporting.SEBooleanEntry'), + preserve_default=True, + ), + migrations.AddField( + model_name='interaction', + name='sefcontexts', + field=models.ManyToManyField(to='Reporting.SEFcontextEntry'), + preserve_default=True, + ), + migrations.AddField( + model_name='interaction', + name='seinterfaces', + field=models.ManyToManyField(to='Reporting.SEInterfaceEntry'), + preserve_default=True, + ), + migrations.AddField( + model_name='interaction', + name='selogins', + field=models.ManyToManyField(to='Reporting.SELoginEntry'), + preserve_default=True, + ), + migrations.AddField( + model_name='interaction', + name='semodules', + field=models.ManyToManyField(to='Reporting.SEModuleEntry'), + preserve_default=True, + ), + migrations.AddField( + model_name='interaction', + name='senodes', + field=models.ManyToManyField(to='Reporting.SENodeEntry'), + preserve_default=True, + ), + migrations.AddField( + model_name='interaction', + name='sepermissives', + field=models.ManyToManyField(to='Reporting.SEPermissiveEntry'), + preserve_default=True, + ), + migrations.AddField( + model_name='interaction', + name='seports', + field=models.ManyToManyField(to='Reporting.SEPortEntry'), + preserve_default=True, + ), + migrations.AddField( + model_name='interaction', + name='seusers', + field=models.ManyToManyField(to='Reporting.SEUserEntry'), + preserve_default=True, + ), + ] diff --git a/src/lib/Bcfg2/Reporting/migrations/0006_add_user_group_entry_support.py b/src/lib/Bcfg2/Reporting/migrations/0006_add_user_group_entry_support.py new file mode 100644 index 000000000..4853faaf3 --- /dev/null +++ b/src/lib/Bcfg2/Reporting/migrations/0006_add_user_group_entry_support.py @@ -0,0 +1,68 @@ +# -*- coding: utf-8 -*- +from __future__ import unicode_literals + +from django.db import models, migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('Reporting', '0005_add_selinux_entry_support'), + ] + + operations = [ + migrations.CreateModel( + name='POSIXGroupEntry', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('name', models.CharField(max_length=128, db_index=True)), + ('hash_key', models.BigIntegerField(editable=False, db_index=True)), + ('state', models.IntegerField(choices=[(0, b'Good'), (1, b'Bad'), (2, b'Modified'), (3, b'Extra')])), + ('exists', models.BooleanField(default=True)), + ('gid', models.IntegerField(null=True)), + ('current_gid', models.IntegerField(null=True)), + ], + options={ + 'ordering': ('state', 'name'), + 'abstract': False, + }, + bases=(models.Model,), + ), + migrations.CreateModel( + name='POSIXUserEntry', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('name', models.CharField(max_length=128, db_index=True)), + ('hash_key', models.BigIntegerField(editable=False, db_index=True)), + ('state', models.IntegerField(choices=[(0, b'Good'), (1, b'Bad'), (2, b'Modified'), (3, b'Extra')])), + ('exists', models.BooleanField(default=True)), + ('uid', models.IntegerField(null=True)), + ('current_uid', models.IntegerField(null=True)), + ('group', models.CharField(max_length=64)), + ('current_group', models.CharField(max_length=64, null=True)), + ('gecos', models.CharField(max_length=1024)), + ('current_gecos', models.CharField(max_length=1024, null=True)), + ('home', models.CharField(max_length=1024)), + ('current_home', models.CharField(max_length=1024, null=True)), + ('shell', models.CharField(default=b'/bin/bash', max_length=1024)), + ('current_shell', models.CharField(max_length=1024, null=True)), + ], + options={ + 'ordering': ('state', 'name'), + 'abstract': False, + }, + bases=(models.Model,), + ), + migrations.AddField( + model_name='interaction', + name='posixgroups', + field=models.ManyToManyField(to='Reporting.POSIXGroupEntry'), + preserve_default=True, + ), + migrations.AddField( + model_name='interaction', + name='posixusers', + field=models.ManyToManyField(to='Reporting.POSIXUserEntry'), + preserve_default=True, + ), + ] diff --git a/src/lib/Bcfg2/Reporting/migrations/0007_add_flag_fields_interaction.py b/src/lib/Bcfg2/Reporting/migrations/0007_add_flag_fields_interaction.py new file mode 100644 index 000000000..1d1274288 --- /dev/null +++ b/src/lib/Bcfg2/Reporting/migrations/0007_add_flag_fields_interaction.py @@ -0,0 +1,26 @@ +# -*- coding: utf-8 -*- +from __future__ import unicode_literals + +from django.db import models, migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('Reporting', '0006_add_user_group_entry_support'), + ] + + operations = [ + migrations.AddField( + model_name='interaction', + name='dry_run', + field=models.BooleanField(default=False), + preserve_default=True, + ), + migrations.AddField( + model_name='interaction', + name='only_important', + field=models.BooleanField(default=False), + preserve_default=True, + ), + ] -- cgit v1.2.3-1-g7c22