From 18dab985c11d289f3a222f1fce04e7eb3e47cb1d Mon Sep 17 00:00:00 2001 From: Gerrod Ubben Date: Tue, 14 Jan 2025 16:11:41 -0500 Subject: [PATCH] Rebase migrations to core/0091 fixes: #1850 --- CHANGES/1850.removal | 1 + pulp_container/app/migrations/0001_initial.py | 34 +++++++++---------- .../migrations/0002_containerrepository.py | 5 ++- pulp_container/app/migrations/0004_upload.py | 5 ++- .../0005_contentredirectcontentguard.py | 6 ++-- .../0006_containerpushrepository.py | 5 ++- .../0007_clear_tags_artifacts_refs.py | 2 +- .../migrations/0009_container_namespace.py | 4 ++- .../app/migrations/0010_remove_uploadchunk.py | 5 ++- .../0019_DATA_distribution_model_swap.py | 13 +++---- ...ata_move_redirect_content_guard_to_core.py | 3 +- ...0022_delete_contentredirectcontentguard.py | 3 +- .../0027_data_translate_perms_to_roles.py | 1 - 13 files changed, 41 insertions(+), 46 deletions(-) create mode 100644 CHANGES/1850.removal diff --git a/CHANGES/1850.removal b/CHANGES/1850.removal new file mode 100644 index 000000000..268c655ed --- /dev/null +++ b/CHANGES/1850.removal @@ -0,0 +1 @@ +Rebased and squashed old migrations to prepare for pulpcore 3.70 compatibility. diff --git a/pulp_container/app/migrations/0001_initial.py b/pulp_container/app/migrations/0001_initial.py index 3296209b6..28c2daba0 100644 --- a/pulp_container/app/migrations/0001_initial.py +++ b/pulp_container/app/migrations/0001_initial.py @@ -1,4 +1,4 @@ -# Generated by Django 2.2.7 on 2019-11-08 12:23 +# Generated by Django 4.2.16 on 2025-01-14 20:23 import django.contrib.postgres.fields from django.db import migrations, models @@ -10,14 +10,14 @@ class Migration(migrations.Migration): initial = True dependencies = [ - ('core', '0012_auto_20191104_2000'), + ('core', '0091_systemid'), ] operations = [ migrations.CreateModel( name='Blob', fields=[ - ('content_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, related_name='container_blob', serialize=False, to='core.Content')), + ('content_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, related_name='container_blob', serialize=False, to='core.content')), ('digest', models.CharField(db_index=True, max_length=255)), ('media_type', models.CharField(choices=[('application/vnd.docker.container.image.v1+json', 'application/vnd.docker.container.image.v1+json'), ('application/vnd.docker.image.rootfs.diff.tar.gzip', 'application/vnd.docker.image.rootfs.diff.tar.gzip'), ('application/vnd.docker.image.rootfs.foreign.diff.tar.gzip', 'application/vnd.docker.image.rootfs.foreign.diff.tar.gzip')], max_length=80)), ], @@ -36,7 +36,7 @@ class Migration(migrations.Migration): migrations.CreateModel( name='ContainerRemote', fields=[ - ('remote_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, related_name='container_containerremote', serialize=False, to='core.Remote')), + ('remote_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, related_name='container_containerremote', serialize=False, to='core.remote')), ('upstream_name', models.CharField(db_index=True, max_length=255)), ('include_foreign_layers', models.BooleanField(default=False)), ('whitelist_tags', django.contrib.postgres.fields.ArrayField(base_field=models.CharField(max_length=255, null=True), null=True, size=None)), @@ -49,12 +49,12 @@ class Migration(migrations.Migration): migrations.CreateModel( name='Manifest', fields=[ - ('content_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, related_name='container_manifest', serialize=False, to='core.Content')), + ('content_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, related_name='container_manifest', serialize=False, to='core.content')), ('digest', models.CharField(db_index=True, max_length=255)), ('schema_version', models.IntegerField()), ('media_type', models.CharField(choices=[('application/vnd.docker.distribution.manifest.v1+json', 'application/vnd.docker.distribution.manifest.v1+json'), ('application/vnd.docker.distribution.manifest.v2+json', 'application/vnd.docker.distribution.manifest.v2+json'), ('application/vnd.docker.distribution.manifest.list.v2+json', 'application/vnd.docker.distribution.manifest.list.v2+json')], max_length=60)), - ('blobs', models.ManyToManyField(related_name='container_manifest', through='container.BlobManifest', to='container.Blob')), - ('config_blob', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='config_blob', to='container.Blob')), + ('blobs', models.ManyToManyField(related_name='container_manifest', through='container.BlobManifest', to='container.blob')), + ('config_blob', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='config_blob', to='container.blob')), ], options={ 'default_related_name': '%(app_label)s_%(model_name)s', @@ -71,8 +71,8 @@ class Migration(migrations.Migration): ('os_features', models.TextField(blank=True, default='')), ('features', models.TextField(blank=True, default='')), ('variant', models.CharField(blank=True, default='', max_length=255)), - ('image_manifest', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='image_manifests', to='container.Manifest')), - ('manifest_list', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='manifest_lists', to='container.Manifest')), + ('image_manifest', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='image_manifests', to='container.manifest')), + ('manifest_list', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='manifest_lists', to='container.manifest')), ], options={ 'unique_together': {('image_manifest', 'manifest_list')}, @@ -81,14 +81,14 @@ class Migration(migrations.Migration): migrations.AddField( model_name='manifest', name='listed_manifests', - field=models.ManyToManyField(related_name='container_manifest', through='container.ManifestListManifest', to='container.Manifest'), + field=models.ManyToManyField(related_name='container_manifest', through='container.ManifestListManifest', to='container.manifest'), ), migrations.CreateModel( name='ContainerDistribution', fields=[ - ('basedistribution_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, related_name='container_containerdistribution', serialize=False, to='core.BaseDistribution')), - ('repository', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='container_containerdistribution', to='core.Repository')), - ('repository_version', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='container_containerdistribution', to='core.RepositoryVersion')), + ('basedistribution_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, related_name='container_containerdistribution', serialize=False, to='core.basedistribution')), + ('repository', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='container_containerdistribution', to='core.repository')), + ('repository_version', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='container_containerdistribution', to='core.repositoryversion')), ], options={ 'default_related_name': '%(app_label)s_%(model_name)s', @@ -98,19 +98,19 @@ class Migration(migrations.Migration): migrations.AddField( model_name='blobmanifest', name='manifest', - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='blob_manifests', to='container.Manifest'), + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='blob_manifests', to='container.manifest'), ), migrations.AddField( model_name='blobmanifest', name='manifest_blob', - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='manifest_blobs', to='container.Blob'), + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='manifest_blobs', to='container.blob'), ), migrations.CreateModel( name='Tag', fields=[ - ('content_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, related_name='container_tag', serialize=False, to='core.Content')), + ('content_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, related_name='container_tag', serialize=False, to='core.content')), ('name', models.CharField(db_index=True, max_length=255)), - ('tagged_manifest', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='tagged_manifests', to='container.Manifest')), + ('tagged_manifest', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='tagged_manifests', to='container.manifest')), ], options={ 'default_related_name': '%(app_label)s_%(model_name)s', diff --git a/pulp_container/app/migrations/0002_containerrepository.py b/pulp_container/app/migrations/0002_containerrepository.py index 67e5d3ee4..bfadde18e 100644 --- a/pulp_container/app/migrations/0002_containerrepository.py +++ b/pulp_container/app/migrations/0002_containerrepository.py @@ -1,4 +1,4 @@ -# Generated by Django 2.2.6 on 2019-11-04 16:21 +# Generated by Django 4.2.16 on 2025-01-14 20:23 from django.db import migrations, models import django.db.models.deletion @@ -7,7 +7,6 @@ class Migration(migrations.Migration): dependencies = [ - ('core', '0011_relative_path'), ('container', '0001_initial'), ] @@ -15,7 +14,7 @@ class Migration(migrations.Migration): migrations.CreateModel( name='ContainerRepository', fields=[ - ('repository_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, related_name='container_containerrepository', serialize=False, to='core.Repository')), + ('repository_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, related_name='container_containerrepository', serialize=False, to='core.repository')), ], options={ 'default_related_name': '%(app_label)s_%(model_name)s', diff --git a/pulp_container/app/migrations/0004_upload.py b/pulp_container/app/migrations/0004_upload.py index e4adab5db..760ba9a1c 100644 --- a/pulp_container/app/migrations/0004_upload.py +++ b/pulp_container/app/migrations/0004_upload.py @@ -1,4 +1,4 @@ -# Generated by Django 2.2.12 on 2020-06-03 20:44 +# Generated by Django 4.2.16 on 2025-01-14 20:23 import django.core.files.storage from django.db import migrations, models @@ -10,7 +10,6 @@ class Migration(migrations.Migration): dependencies = [ - ('core', '0032_export_to_chunks'), ('container', '0003_oci_mediatype'), ] @@ -30,7 +29,7 @@ class Migration(migrations.Migration): ('sha256', models.CharField(max_length=64, null=True)), ('sha384', models.CharField(max_length=96, null=True)), ('sha512', models.CharField(max_length=128, null=True)), - ('repository', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='uploads', to='core.Repository')), + ('repository', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='uploads', to='core.repository')), ], options={ 'abstract': False, diff --git a/pulp_container/app/migrations/0005_contentredirectcontentguard.py b/pulp_container/app/migrations/0005_contentredirectcontentguard.py index dca560ee5..800e0938c 100644 --- a/pulp_container/app/migrations/0005_contentredirectcontentguard.py +++ b/pulp_container/app/migrations/0005_contentredirectcontentguard.py @@ -1,10 +1,9 @@ -# Generated by Django 2.2.12 on 2020-06-25 08:23 +# Generated by Django 4.2.16 on 2025-01-14 20:23 import os from django.db import migrations, models import django.db.models.deletion -import pulp_container.app.models def _gen_secret(): @@ -14,7 +13,6 @@ def _gen_secret(): class Migration(migrations.Migration): dependencies = [ - ('core', '0033_increase_remote_artifact_size_field'), ('container', '0004_upload'), ] @@ -22,7 +20,7 @@ class Migration(migrations.Migration): migrations.CreateModel( name='ContentRedirectContentGuard', fields=[ - ('contentguard_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, related_name='container_contentredirectcontentguard', serialize=False, to='core.ContentGuard')), + ('contentguard_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, related_name='container_contentredirectcontentguard', serialize=False, to='core.contentguard')), ('shared_secret', models.BinaryField(default=_gen_secret, max_length=32)), ], options={ diff --git a/pulp_container/app/migrations/0006_containerpushrepository.py b/pulp_container/app/migrations/0006_containerpushrepository.py index 14335bada..43cd36844 100644 --- a/pulp_container/app/migrations/0006_containerpushrepository.py +++ b/pulp_container/app/migrations/0006_containerpushrepository.py @@ -1,4 +1,4 @@ -# Generated by Django 2.2.12 on 2020-06-26 17:08 +# Generated by Django 4.2.16 on 2025-01-14 20:23 from django.db import migrations, models import django.db.models.deletion @@ -7,7 +7,6 @@ class Migration(migrations.Migration): dependencies = [ - ('core', '0033_increase_remote_artifact_size_field'), ('container', '0005_contentredirectcontentguard'), ] @@ -15,7 +14,7 @@ class Migration(migrations.Migration): migrations.CreateModel( name='ContainerPushRepository', fields=[ - ('repository_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, related_name='container_containerpushrepository', serialize=False, to='core.Repository')), + ('repository_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, related_name='container_containerpushrepository', serialize=False, to='core.repository')), ], options={ 'default_related_name': '%(app_label)s_%(model_name)s', diff --git a/pulp_container/app/migrations/0007_clear_tags_artifacts_refs.py b/pulp_container/app/migrations/0007_clear_tags_artifacts_refs.py index 4583c62d1..b04fae257 100644 --- a/pulp_container/app/migrations/0007_clear_tags_artifacts_refs.py +++ b/pulp_container/app/migrations/0007_clear_tags_artifacts_refs.py @@ -23,5 +23,5 @@ class Migration(migrations.Migration): ] operations = [ - migrations.RunPython(remove_tag_artifacts_up, remove_tag_artifacts_down) + migrations.RunPython(remove_tag_artifacts_up, remove_tag_artifacts_down, elidable=True) ] diff --git a/pulp_container/app/migrations/0009_container_namespace.py b/pulp_container/app/migrations/0009_container_namespace.py index 80e6a88ed..5df2be002 100644 --- a/pulp_container/app/migrations/0009_container_namespace.py +++ b/pulp_container/app/migrations/0009_container_namespace.py @@ -44,5 +44,7 @@ class Migration(migrations.Migration): field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='container_distributions', to='container.ContainerNamespace'), ), # Reverting that step is simply removing the new relation and table. - migrations.RunPython(initialize_namespaces, reverse_code=migrations.RunPython.noop), + migrations.RunPython( + initialize_namespaces, reverse_code=migrations.RunPython.noop, elidable=True + ), ] diff --git a/pulp_container/app/migrations/0010_remove_uploadchunk.py b/pulp_container/app/migrations/0010_remove_uploadchunk.py index 3d5e1da74..7e76aca3b 100644 --- a/pulp_container/app/migrations/0010_remove_uploadchunk.py +++ b/pulp_container/app/migrations/0010_remove_uploadchunk.py @@ -1,4 +1,4 @@ -# Generated by Django 2.2.17 on 2020-11-13 12:16 +# Generated by Django 4.2.16 on 2025-01-14 20:23 from django.db import migrations, models import django.db.models.deletion @@ -7,7 +7,6 @@ class Migration(migrations.Migration): dependencies = [ - ('core', '0049_add_file_field_to_uploadchunk'), ('container', '0009_container_namespace'), ] @@ -63,7 +62,7 @@ class Migration(migrations.Migration): migrations.AddField( model_name='upload', name='upload_ptr', - field=models.OneToOneField(auto_created=True, default=None, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='core.Upload'), + field=models.OneToOneField(auto_created=True, default=None, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='core.upload'), preserve_default=False, ), ] diff --git a/pulp_container/app/migrations/0019_DATA_distribution_model_swap.py b/pulp_container/app/migrations/0019_DATA_distribution_model_swap.py index 4197c667d..234018ff9 100644 --- a/pulp_container/app/migrations/0019_DATA_distribution_model_swap.py +++ b/pulp_container/app/migrations/0019_DATA_distribution_model_swap.py @@ -1,3 +1,5 @@ +# Generated by Django 4.2.16 on 2025-01-14 20:23 + from django.db import migrations, models, transaction import django.db.models.deletion @@ -51,10 +53,8 @@ def migrate_data_from_old_model_to_new_model_down(apps, schema_editor): class Migration(migrations.Migration): - atomic = False dependencies = [ - ('core', '0062_add_new_distribution_mastermodel'), ('container', '0018_containerdistribution_description'), ] @@ -62,20 +62,21 @@ class Migration(migrations.Migration): migrations.CreateModel( name='NewContainerDistribution', fields=[ - ('distribution_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, related_name='container_containerdistribution', serialize=False, to='core.Distribution')), + ('distribution_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, related_name='container_containerdistribution', serialize=False, to='core.distribution')), ('private', models.BooleanField(default=False, help_text='Restrict pull access to explicitly authorized users. Defaults to unrestricted pull access.')), - ('namespace', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='container_distributions', to='container.ContainerNamespace')), - ('description', models.TextField(null=True)) + ('namespace', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='container_distributions', to='container.containernamespace')), + ('description', models.TextField(null=True)), ], options={ 'default_related_name': '%(app_label)s_%(model_name)s', - 'permissions': [('pull_containerdistribution', 'Can pull from a registry repo'), ('push_containerdistribution', 'Can push into the registry repo')] + 'permissions': [('pull_containerdistribution', 'Can pull from a registry repo'), ('push_containerdistribution', 'Can push into the registry repo')], }, bases=('core.distribution',), ), migrations.RunPython( code=migrate_data_from_old_model_to_new_model_up, reverse_code=migrate_data_from_old_model_to_new_model_down, + elidable=True, ), migrations.DeleteModel( name='ContainerDistribution', diff --git a/pulp_container/app/migrations/0021_data_move_redirect_content_guard_to_core.py b/pulp_container/app/migrations/0021_data_move_redirect_content_guard_to_core.py index 95188db1f..e943925dc 100644 --- a/pulp_container/app/migrations/0021_data_move_redirect_content_guard_to_core.py +++ b/pulp_container/app/migrations/0021_data_move_redirect_content_guard_to_core.py @@ -1,4 +1,4 @@ -# Generated by Django 3.2.11 on 2022-01-31 13:22 +# Generated by Django 4.2.16 on 2025-01-14 20:23 from django.db import migrations, transaction @@ -38,7 +38,6 @@ class Migration(migrations.Migration): dependencies = [ ('container', '0020_update_push_repo_perms'), - ('core', '0085_contentredirectcontentguard'), ] operations = [ diff --git a/pulp_container/app/migrations/0022_delete_contentredirectcontentguard.py b/pulp_container/app/migrations/0022_delete_contentredirectcontentguard.py index 893bd2d9e..3299961aa 100644 --- a/pulp_container/app/migrations/0022_delete_contentredirectcontentguard.py +++ b/pulp_container/app/migrations/0022_delete_contentredirectcontentguard.py @@ -1,4 +1,4 @@ -# Generated by Django 3.2.9 on 2022-01-31 17:51 +# Generated by Django 4.2.16 on 2025-01-14 20:23 from django.db import migrations @@ -6,7 +6,6 @@ class Migration(migrations.Migration): dependencies = [ - ('core', '0085_contentredirectcontentguard'), ('container', '0021_data_move_redirect_content_guard_to_core'), ] diff --git a/pulp_container/app/migrations/0027_data_translate_perms_to_roles.py b/pulp_container/app/migrations/0027_data_translate_perms_to_roles.py index fd3ef27b9..a63267c73 100644 --- a/pulp_container/app/migrations/0027_data_translate_perms_to_roles.py +++ b/pulp_container/app/migrations/0027_data_translate_perms_to_roles.py @@ -237,7 +237,6 @@ class Migration(migrations.Migration): if global_apps.is_installed('guardian'): dependencies.extend([ ('guardian', '0002_generic_permissions_index'), - ('core', '0080_proxy_group_model'), migrations.swappable_dependency(settings.AUTH_USER_MODEL), ('auth', '0012_alter_user_first_name_max_length'), ('contenttypes', '0002_remove_content_type_name'),