Delete pre-2.11.0 migrations

This commit is contained in:
jeremystretch
2021-07-09 10:57:07 -04:00
parent bc812e4937
commit 4383425060
310 changed files with 0 additions and 12762 deletions
@@ -1,84 +0,0 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.11.4 on 2017-08-31 14:15
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
initial = True
dependencies = [
('ipam', '0018_remove_service_uniqueness_constraint'),
('dcim', '0043_device_component_name_lengths'),
('tenancy', '0003_unicode_literals'),
]
operations = [
migrations.CreateModel(
name='Cluster',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('created', models.DateField(auto_now_add=True)),
('last_updated', models.DateTimeField(auto_now=True)),
('name', models.CharField(max_length=100, unique=True)),
('comments', models.TextField(blank=True)),
],
options={
'ordering': ['name'],
},
),
migrations.CreateModel(
name='ClusterGroup',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=50, unique=True)),
('slug', models.SlugField(unique=True)),
],
options={
'ordering': ['name'],
},
),
migrations.CreateModel(
name='ClusterType',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=50, unique=True)),
('slug', models.SlugField(unique=True)),
],
options={
'ordering': ['name'],
},
),
migrations.CreateModel(
name='VirtualMachine',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('created', models.DateField(auto_now_add=True)),
('last_updated', models.DateTimeField(auto_now=True)),
('name', models.CharField(max_length=64, unique=True)),
('vcpus', models.PositiveSmallIntegerField(blank=True, null=True, verbose_name='vCPUs')),
('memory', models.PositiveIntegerField(blank=True, null=True, verbose_name='Memory (MB)')),
('disk', models.PositiveIntegerField(blank=True, null=True, verbose_name='Disk (GB)')),
('comments', models.TextField(blank=True)),
('cluster', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='virtual_machines', to='virtualization.Cluster')),
('platform', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='virtual_machines', to='dcim.Platform')),
('primary_ip4', models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='ipam.IPAddress', verbose_name='Primary IPv4')),
('primary_ip6', models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='ipam.IPAddress', verbose_name='Primary IPv6')),
('tenant', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, related_name='virtual_machines', to='tenancy.Tenant')),
],
options={
'ordering': ['name'],
},
),
migrations.AddField(
model_name='cluster',
name='group',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, related_name='clusters', to='virtualization.ClusterGroup'),
),
migrations.AddField(
model_name='cluster',
name='type',
field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='clusters', to='virtualization.ClusterType'),
),
]
@@ -1,18 +0,0 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.11.4 on 2017-09-14 17:49
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('virtualization', '0001_virtualization'),
]
operations = [
migrations.AddField(
model_name='virtualmachine',
name='status',
field=models.PositiveSmallIntegerField(choices=[[1, 'Active'], [0, 'Offline'], [3, 'Staged']], default=1, verbose_name='Status'),
),
]
@@ -1,20 +0,0 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.11.4 on 2017-09-22 16:30
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('dcim', '0044_virtualization'),
('virtualization', '0002_virtualmachine_add_status'),
]
operations = [
migrations.AddField(
model_name='cluster',
name='site',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, related_name='clusters', to='dcim.Site'),
),
]
@@ -1,20 +0,0 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.11.4 on 2017-09-29 14:32
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('dcim', '0044_virtualization'),
('virtualization', '0003_cluster_add_site'),
]
operations = [
migrations.AddField(
model_name='virtualmachine',
name='role',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, related_name='virtual_machines', to='dcim.DeviceRole'),
),
]
@@ -1,19 +0,0 @@
# Generated by Django 2.0.3 on 2018-03-30 14:18
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('virtualization', '0004_virtualmachine_add_role'),
]
operations = [
migrations.AlterField(
model_name='virtualmachine',
name='role',
field=models.ForeignKey(blank=True, limit_choices_to={'vm_role': True}, null=True, on_delete=django.db.models.deletion.PROTECT, related_name='virtual_machines', to='dcim.DeviceRole'),
),
]
@@ -1,25 +0,0 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.11.12 on 2018-05-22 19:04
from django.db import migrations
import taggit.managers
class Migration(migrations.Migration):
dependencies = [
('taggit', '0002_auto_20150616_2121'),
('virtualization', '0005_django2'),
]
operations = [
migrations.AddField(
model_name='cluster',
name='tags',
field=taggit.managers.TaggableManager(help_text='A comma-separated list of tags.', through='taggit.TaggedItem', to='taggit.Tag', verbose_name='Tags'),
),
migrations.AddField(
model_name='virtualmachine',
name='tags',
field=taggit.managers.TaggableManager(help_text='A comma-separated list of tags.', through='taggit.TaggedItem', to='taggit.Tag', verbose_name='Tags'),
),
]
@@ -1,53 +0,0 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.11.12 on 2018-06-13 17:14
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('virtualization', '0006_tags'),
]
operations = [
migrations.AddField(
model_name='clustergroup',
name='created',
field=models.DateField(auto_now_add=True, null=True),
),
migrations.AddField(
model_name='clustergroup',
name='last_updated',
field=models.DateTimeField(auto_now=True, null=True),
),
migrations.AddField(
model_name='clustertype',
name='created',
field=models.DateField(auto_now_add=True, null=True),
),
migrations.AddField(
model_name='clustertype',
name='last_updated',
field=models.DateTimeField(auto_now=True, null=True),
),
migrations.AlterField(
model_name='cluster',
name='created',
field=models.DateField(auto_now_add=True, null=True),
),
migrations.AlterField(
model_name='cluster',
name='last_updated',
field=models.DateTimeField(auto_now=True, null=True),
),
migrations.AlterField(
model_name='virtualmachine',
name='created',
field=models.DateField(auto_now_add=True, null=True),
),
migrations.AlterField(
model_name='virtualmachine',
name='last_updated',
field=models.DateTimeField(auto_now=True, null=True),
),
]
@@ -1,19 +0,0 @@
# Generated by Django 2.0.8 on 2018-09-16 02:01
import django.contrib.postgres.fields.jsonb
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('virtualization', '0007_change_logging'),
]
operations = [
migrations.AddField(
model_name='virtualmachine',
name='local_context_data',
field=django.contrib.postgres.fields.jsonb.JSONField(blank=True, null=True),
),
]
@@ -1,25 +0,0 @@
# Generated by Django 2.1.4 on 2019-02-20 06:56
from django.db import migrations
import taggit.managers
class Migration(migrations.Migration):
dependencies = [
('virtualization', '0008_virtualmachine_local_context_data'),
('extras', '0019_tag_taggeditem'),
]
operations = [
migrations.AlterField(
model_name='cluster',
name='tags',
field=taggit.managers.TaggableManager(through='extras.TaggedItem', to='extras.Tag'),
),
migrations.AlterField(
model_name='virtualmachine',
name='tags',
field=taggit.managers.TaggableManager(through='extras.TaggedItem', to='extras.Tag'),
),
]
@@ -1,18 +0,0 @@
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('tenancy', '0001_initial'),
('virtualization', '0009_custom_tag_models'),
]
operations = [
migrations.AddField(
model_name='cluster',
name='tenant',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, related_name='clusters', to='tenancy.Tenant'),
),
]
@@ -1,36 +0,0 @@
from django.db import migrations, models
VIRTUALMACHINE_STATUS_CHOICES = (
(0, 'offline'),
(1, 'active'),
(3, 'staged'),
)
def virtualmachine_status_to_slug(apps, schema_editor):
VirtualMachine = apps.get_model('virtualization', 'VirtualMachine')
for id, slug in VIRTUALMACHINE_STATUS_CHOICES:
VirtualMachine.objects.filter(status=str(id)).update(status=slug)
class Migration(migrations.Migration):
atomic = False
dependencies = [
('virtualization', '0010_cluster_add_tenant'),
]
operations = [
# VirtualMachine.status
migrations.AlterField(
model_name='virtualmachine',
name='status',
field=models.CharField(default='active', max_length=50),
),
migrations.RunPython(
code=virtualmachine_status_to_slug
),
]
@@ -1,23 +0,0 @@
# Generated by Django 2.2.6 on 2019-12-09 16:57
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('tenancy', '0006_custom_tag_models'),
('virtualization', '0011_3569_virtualmachine_fields'),
]
operations = [
migrations.AlterField(
model_name='virtualmachine',
name='name',
field=models.CharField(max_length=64),
),
migrations.AlterUniqueTogether(
name='virtualmachine',
unique_together={('cluster', 'tenant', 'name')},
),
]
@@ -1,17 +0,0 @@
# Generated by Django 2.2.8 on 2020-01-15 18:10
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('virtualization', '0012_vm_name_nonunique'),
]
operations = [
migrations.AlterModelOptions(
name='virtualmachine',
options={'ordering': ('name', 'pk')},
),
]
@@ -1,23 +0,0 @@
# Generated by Django 3.0.3 on 2020-03-13 20:27
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('virtualization', '0013_deterministic_ordering'),
]
operations = [
migrations.AddField(
model_name='clustergroup',
name='description',
field=models.CharField(blank=True, max_length=200),
),
migrations.AddField(
model_name='clustertype',
name='description',
field=models.CharField(blank=True, max_length=200),
),
]
@@ -1,44 +0,0 @@
# Generated by Django 3.0.6 on 2020-06-18 20:21
import dcim.fields
import django.core.validators
from django.db import migrations, models
import django.db.models.deletion
import taggit.managers
import utilities.fields
import utilities.ordering
import utilities.query_functions
class Migration(migrations.Migration):
dependencies = [
('ipam', '0036_standardize_description'),
('extras', '0042_customfield_manager'),
('virtualization', '0014_standardize_description'),
]
operations = [
migrations.CreateModel(
name='VMInterface',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False)),
('name', models.CharField(max_length=64)),
('_name', utilities.fields.NaturalOrderingField('name', blank=True, max_length=100, naturalize_function=utilities.ordering.naturalize_interface)),
('enabled', models.BooleanField(default=True)),
('mac_address', dcim.fields.MACAddressField(blank=True, null=True)),
('mtu', models.PositiveIntegerField(blank=True, null=True, validators=[django.core.validators.MinValueValidator(1), django.core.validators.MaxValueValidator(65536)])),
('mode', models.CharField(blank=True, max_length=50)),
('description', models.CharField(blank=True, max_length=200)),
('tagged_vlans', models.ManyToManyField(blank=True, related_name='vminterfaces_as_tagged', to='ipam.VLAN')),
('tags', taggit.managers.TaggableManager(related_name='vminterface', through='extras.TaggedItem', to='extras.Tag')),
('untagged_vlan', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='vminterfaces_as_untagged', to='ipam.VLAN')),
('virtual_machine', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='interfaces', to='virtualization.VirtualMachine')),
],
options={
'ordering': ('virtual_machine', utilities.query_functions.CollateAsChar('_name')),
'unique_together': {('virtual_machine', 'name')},
'verbose_name': 'interface',
},
),
]
@@ -1,95 +0,0 @@
import sys
from django.db import migrations
def replicate_interfaces(apps, schema_editor):
show_output = 'test' not in sys.argv
ContentType = apps.get_model('contenttypes', 'ContentType')
TaggedItem = apps.get_model('extras', 'TaggedItem')
Interface = apps.get_model('dcim', 'Interface')
IPAddress = apps.get_model('ipam', 'IPAddress')
VMInterface = apps.get_model('virtualization', 'VMInterface')
interface_ct = ContentType.objects.get_for_model(Interface)
vminterface_ct = ContentType.objects.get_for_model(VMInterface)
# Replicate dcim.Interface instances assigned to VirtualMachines
original_interfaces = Interface.objects.prefetch_related('tagged_vlans').filter(
virtual_machine__isnull=False
)
interfaces_count = len(original_interfaces)
if show_output:
print(f"\n Replicating {interfaces_count} VM interfaces...", flush=True)
new_interfaces = [
VMInterface(
virtual_machine=interface.virtual_machine,
name=interface.name,
enabled=interface.enabled,
mac_address=interface.mac_address,
mtu=interface.mtu,
mode=interface.mode,
description=interface.description,
untagged_vlan=interface.untagged_vlan,
) for interface in original_interfaces
]
VMInterface.objects.bulk_create(new_interfaces, batch_size=1000)
# Pre-fetch the PKs of interfaces with tags/IP addresses
interfaces_with_tags = TaggedItem.objects.filter(
content_type=interface_ct
).values_list('object_id', flat=True)
interfaces_with_ips = IPAddress.objects.filter(
assigned_object_id__isnull=False
).values_list('assigned_object_id', flat=True)
if show_output:
print(f" Replicating assigned objects...", flush=True)
for i, interface in enumerate(original_interfaces):
vminterface = new_interfaces[i]
# Copy tagged VLANs
if interface.tagged_vlans.exists():
vminterface.tagged_vlans.set(interface.tagged_vlans.all())
# Reassign tags to the new instance
if interface.pk in interfaces_with_tags:
TaggedItem.objects.filter(content_type=interface_ct, object_id=interface.pk).update(
content_type=vminterface_ct,
object_id=vminterface.pk
)
# Update any assigned IPAddresses
if interface.pk in interfaces_with_ips:
IPAddress.objects.filter(assigned_object_type=interface_ct, assigned_object_id=interface.pk).update(
assigned_object_type=vminterface_ct,
assigned_object_id=vminterface.pk
)
# Progress counter
if show_output and not i % 1000:
percentage = int(i / interfaces_count * 100)
print(f" {i}/{interfaces_count} ({percentage}%)", flush=True)
# Verify that all interfaces have been replicated
replicated_count = VMInterface.objects.count()
assert replicated_count == original_interfaces.count(), "Replicated interfaces count does not match original count!"
# Delete all interfaces not assigned to a Device
Interface.objects.filter(device__isnull=True).delete()
class Migration(migrations.Migration):
dependencies = [
('dcim', '0082_3569_interface_fields'),
('ipam', '0037_ipaddress_assignment'),
('virtualization', '0015_vminterface'),
]
operations = [
migrations.RunPython(
code=replicate_interfaces
),
]
@@ -1,18 +0,0 @@
# Generated by Django 3.1b1 on 2020-07-16 16:01
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('virtualization', '0016_replicate_interfaces'),
]
operations = [
migrations.AlterField(
model_name='virtualmachine',
name='local_context_data',
field=models.JSONField(blank=True, null=True),
),
]
@@ -1,22 +0,0 @@
import django.core.serializers.json
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('virtualization', '0017_update_jsonfield'),
]
operations = [
migrations.AddField(
model_name='cluster',
name='custom_field_data',
field=models.JSONField(blank=True, default=dict, encoder=django.core.serializers.json.DjangoJSONEncoder),
),
migrations.AddField(
model_name='virtualmachine',
name='custom_field_data',
field=models.JSONField(blank=True, default=dict, encoder=django.core.serializers.json.DjangoJSONEncoder),
),
]
@@ -1,33 +0,0 @@
# Generated by Django 3.1 on 2020-10-15 19:33
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('virtualization', '0018_custom_field_data'),
]
operations = [
migrations.AlterField(
model_name='clustergroup',
name='name',
field=models.CharField(max_length=100, unique=True),
),
migrations.AlterField(
model_name='clustergroup',
name='slug',
field=models.SlugField(max_length=100, unique=True),
),
migrations.AlterField(
model_name='clustertype',
name='name',
field=models.CharField(max_length=100, unique=True),
),
migrations.AlterField(
model_name='clustertype',
name='slug',
field=models.SlugField(max_length=100, unique=True),
),
]
@@ -1,68 +0,0 @@
import django.core.serializers.json
import taggit.managers
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('virtualization', '0019_standardize_name_length'),
]
operations = [
migrations.AddField(
model_name='clustergroup',
name='custom_field_data',
field=models.JSONField(blank=True, default=dict, encoder=django.core.serializers.json.DjangoJSONEncoder),
),
migrations.AddField(
model_name='clustertype',
name='custom_field_data',
field=models.JSONField(blank=True, default=dict, encoder=django.core.serializers.json.DjangoJSONEncoder),
),
migrations.AlterField(
model_name='cluster',
name='id',
field=models.BigAutoField(primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='clustergroup',
name='id',
field=models.BigAutoField(primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='clustertype',
name='id',
field=models.BigAutoField(primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='virtualmachine',
name='id',
field=models.BigAutoField(primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='vminterface',
name='id',
field=models.BigAutoField(primary_key=True, serialize=False),
),
migrations.AddField(
model_name='vminterface',
name='created',
field=models.DateField(auto_now_add=True, null=True),
),
migrations.AddField(
model_name='vminterface',
name='last_updated',
field=models.DateTimeField(auto_now=True, null=True),
),
migrations.AddField(
model_name='vminterface',
name='custom_field_data',
field=models.JSONField(blank=True, default=dict, encoder=django.core.serializers.json.DjangoJSONEncoder),
),
migrations.AlterField(
model_name='vminterface',
name='tags',
field=taggit.managers.TaggableManager(through='extras.TaggedItem', to='extras.Tag'),
),
]
@@ -1,17 +0,0 @@
import django.core.validators
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('virtualization', '0020_standardize_models'),
]
operations = [
migrations.AlterField(
model_name='virtualmachine',
name='vcpus',
field=models.DecimalField(blank=True, decimal_places=2, max_digits=6, null=True, validators=[django.core.validators.MinValueValidator(0.01)]),
),
]
@@ -1,17 +0,0 @@
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('virtualization', '0021_virtualmachine_vcpus_decimal'),
]
operations = [
migrations.AddField(
model_name='vminterface',
name='parent',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='child_interfaces', to='virtualization.vminterface'),
),
]