Updates for v2.1.3 and expanded VirtualMachine model

This commit is contained in:
Jeremy Stretch 2017-08-16 15:25:33 -04:00
parent 3009863877
commit 4ef55502b4
4 changed files with 25 additions and 10 deletions

View File

@ -5,7 +5,7 @@ from rest_framework import serializers
from dcim.api.serializers import NestedPlatformSerializer from dcim.api.serializers import NestedPlatformSerializer
from extras.api.customfields import CustomFieldModelSerializer from extras.api.customfields import CustomFieldModelSerializer
from tenancy.api.serializers import NestedTenantSerializer from tenancy.api.serializers import NestedTenantSerializer
from utilities.api import ModelValidationMixin from utilities.api import ValidatedModelSerializer
from virtualization.models import Cluster, ClusterGroup, ClusterType, VirtualMachine, VMInterface from virtualization.models import Cluster, ClusterGroup, ClusterType, VirtualMachine, VMInterface
@ -13,7 +13,7 @@ from virtualization.models import Cluster, ClusterGroup, ClusterType, VirtualMac
# Cluster types # Cluster types
# #
class ClusterTypeSerializer(ModelValidationMixin, serializers.ModelSerializer): class ClusterTypeSerializer(ValidatedModelSerializer):
class Meta: class Meta:
model = ClusterType model = ClusterType
@ -32,7 +32,7 @@ class NestedClusterTypeSerializer(serializers.ModelSerializer):
# Cluster groups # Cluster groups
# #
class ClusterGroupSerializer(ModelValidationMixin, serializers.ModelSerializer): class ClusterGroupSerializer(ValidatedModelSerializer):
class Meta: class Meta:
model = ClusterGroup model = ClusterGroup
@ -68,7 +68,7 @@ class NestedClusterSerializer(serializers.ModelSerializer):
fields = ['id', 'url', 'name'] fields = ['id', 'url', 'name']
class WritableClusterSerializer(ModelValidationMixin, CustomFieldModelSerializer): class WritableClusterSerializer(CustomFieldModelSerializer):
class Meta: class Meta:
model = Cluster model = Cluster
@ -99,7 +99,7 @@ class NestedVirtualMachineSerializer(serializers.ModelSerializer):
fields = ['id', 'url', 'name'] fields = ['id', 'url', 'name']
class WritableVirtualMachineSerializer(ModelValidationMixin, CustomFieldModelSerializer): class WritableVirtualMachineSerializer(CustomFieldModelSerializer):
class Meta: class Meta:
model = Cluster model = Cluster
@ -130,7 +130,7 @@ class NestedVMInterfaceSerializer(serializers.ModelSerializer):
fields = ['id', 'url', 'name'] fields = ['id', 'url', 'name']
class WritableVMInterfaceSerializer(ModelValidationMixin, serializers.ModelSerializer): class WritableVMInterfaceSerializer(ValidatedModelSerializer):
class Meta: class Meta:
model = VMInterface model = VMInterface

View File

@ -1,5 +1,5 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# Generated by Django 1.11.3 on 2017-08-04 20:51 # Generated by Django 1.11.4 on 2017-08-16 19:22
from __future__ import unicode_literals from __future__ import unicode_literals
import dcim.fields import dcim.fields
@ -13,9 +13,9 @@ class Migration(migrations.Migration):
initial = True initial = True
dependencies = [ dependencies = [
('dcim', '0041_napalm_integration'),
('ipam', '0018_remove_service_uniqueness_constraint'), ('ipam', '0018_remove_service_uniqueness_constraint'),
('tenancy', '0003_unicode_literals'), ('tenancy', '0003_unicode_literals'),
('dcim', '0041_napalm_integration'),
] ]
operations = [ operations = [
@ -63,6 +63,9 @@ class Migration(migrations.Migration):
('created', models.DateField(auto_now_add=True)), ('created', models.DateField(auto_now_add=True)),
('last_updated', models.DateTimeField(auto_now=True)), ('last_updated', models.DateTimeField(auto_now=True)),
('name', models.CharField(max_length=64, unique=True)), ('name', models.CharField(max_length=64, unique=True)),
('vcpus', models.PositiveSmallIntegerField(blank=True, verbose_name='vCPUs')),
('memory', models.PositiveIntegerField(blank=True, verbose_name='Memory (MB)')),
('disk', models.PositiveIntegerField(blank=True, verbose_name='Disk (GB)')),
('comments', models.TextField(blank=True)), ('comments', models.TextField(blank=True)),
('cluster', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='virtual_machines', to='virtualization.Cluster')), ('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')), ('platform', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='virtual_machines', to='dcim.Platform')),

View File

@ -159,6 +159,18 @@ class VirtualMachine(CreatedUpdatedModel, CustomFieldModel):
null=True, null=True,
verbose_name='Primary IPv6' verbose_name='Primary IPv6'
) )
vcpus = models.PositiveSmallIntegerField(
blank=True,
verbose_name='vCPUs'
)
memory = models.PositiveIntegerField(
blank=True,
verbose_name='Memory (MB)'
)
disk = models.PositiveIntegerField(
blank=True,
verbose_name='Disk (GB)'
)
comments = models.TextField( comments = models.TextField(
blank=True blank=True
) )

View File

@ -11,8 +11,8 @@ from utilities.views import (
ObjectDeleteView, ObjectEditView, ObjectListView, ObjectDeleteView, ObjectEditView, ObjectListView,
) )
from .models import Cluster, ClusterGroup, ClusterType, VirtualMachine, VMInterface from .models import Cluster, ClusterGroup, ClusterType, VirtualMachine, VMInterface
import forms from . import forms
import tables from . import tables
# #