2017-08-04 17:02:52 -04:00
|
|
|
# -*- coding: utf-8 -*-
|
2017-08-16 17:21:34 -04:00
|
|
|
# Generated by Django 1.11.4 on 2017-08-16 21:06
|
2017-08-04 17:02:52 -04:00
|
|
|
from __future__ import unicode_literals
|
|
|
|
|
|
|
|
import dcim.fields
|
|
|
|
from django.db import migrations, models
|
|
|
|
import django.db.models.deletion
|
|
|
|
import extras.models
|
|
|
|
|
|
|
|
|
|
|
|
class Migration(migrations.Migration):
|
|
|
|
|
|
|
|
initial = True
|
|
|
|
|
|
|
|
dependencies = [
|
|
|
|
('tenancy', '0003_unicode_literals'),
|
2017-08-16 17:00:17 -04:00
|
|
|
('dcim', '0041_napalm_integration'),
|
2017-08-16 17:21:34 -04:00
|
|
|
('ipam', '0018_remove_service_uniqueness_constraint'),
|
2017-08-04 17:02:52 -04:00
|
|
|
]
|
|
|
|
|
|
|
|
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'],
|
|
|
|
},
|
|
|
|
bases=(models.Model, extras.models.CustomFieldModel),
|
|
|
|
),
|
|
|
|
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)),
|
2017-08-16 17:00:17 -04:00
|
|
|
('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)')),
|
2017-08-04 17:02:52 -04:00
|
|
|
('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'],
|
|
|
|
},
|
|
|
|
bases=(models.Model, extras.models.CustomFieldModel),
|
|
|
|
),
|
|
|
|
migrations.CreateModel(
|
|
|
|
name='VMInterface',
|
|
|
|
fields=[
|
|
|
|
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
|
|
('name', models.CharField(max_length=30)),
|
|
|
|
('enabled', models.BooleanField(default=True)),
|
|
|
|
('mac_address', dcim.fields.MACAddressField(blank=True, null=True, verbose_name='MAC Address')),
|
|
|
|
('mtu', models.PositiveSmallIntegerField(blank=True, null=True, verbose_name='MTU')),
|
|
|
|
('description', models.CharField(blank=True, max_length=100)),
|
|
|
|
('virtual_machine', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='interfaces', to='virtualization.VirtualMachine')),
|
|
|
|
],
|
|
|
|
options={
|
|
|
|
'ordering': ['virtual_machine', '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'),
|
|
|
|
),
|
|
|
|
migrations.AlterUniqueTogether(
|
|
|
|
name='vminterface',
|
|
|
|
unique_together=set([('virtual_machine', 'name')]),
|
|
|
|
),
|
|
|
|
]
|