mirror of
https://github.com/netbox-community/netbox.git
synced 2025-08-23 07:56:44 -06:00
Revert disk space annotation
This commit is contained in:
parent
031632162a
commit
f4aa2e9f62
@ -92,16 +92,10 @@ class VirtualMachineSerializer(NetBoxModelSerializer):
|
|||||||
'id', 'url', 'display', 'name', 'status', 'site', 'cluster', 'device', 'role', 'tenant', 'platform',
|
'id', 'url', 'display', 'name', 'status', 'site', 'cluster', 'device', 'role', 'tenant', 'platform',
|
||||||
'primary_ip', 'primary_ip4', 'primary_ip6', 'vcpus', 'memory', 'disk', 'description', 'comments',
|
'primary_ip', 'primary_ip4', 'primary_ip6', 'vcpus', 'memory', 'disk', 'description', 'comments',
|
||||||
'config_template', 'local_context_data', 'tags', 'custom_fields', 'created', 'last_updated',
|
'config_template', 'local_context_data', 'tags', 'custom_fields', 'created', 'last_updated',
|
||||||
'interface_count', 'virtual_disk_count', 'disk_space',
|
'interface_count', 'virtual_disk_count',
|
||||||
]
|
]
|
||||||
validators = []
|
validators = []
|
||||||
|
|
||||||
def get_disk(self, obj):
|
|
||||||
if obj.disk:
|
|
||||||
return obj.disk
|
|
||||||
|
|
||||||
return obj.disk_space
|
|
||||||
|
|
||||||
|
|
||||||
class VirtualMachineWithConfigContextSerializer(VirtualMachineSerializer):
|
class VirtualMachineWithConfigContextSerializer(VirtualMachineSerializer):
|
||||||
config_context = serializers.SerializerMethodField()
|
config_context = serializers.SerializerMethodField()
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
from rest_framework.routers import APIRootView
|
from rest_framework.routers import APIRootView
|
||||||
|
|
||||||
from dcim.models import Device
|
from dcim.models import Device
|
||||||
from django.db.models import Sum
|
|
||||||
from extras.api.mixins import ConfigContextQuerySetMixin
|
from extras.api.mixins import ConfigContextQuerySetMixin
|
||||||
from netbox.api.viewsets import NetBoxModelViewSet
|
from netbox.api.viewsets import NetBoxModelViewSet
|
||||||
from utilities.query_functions import CollateAsChar
|
from utilities.query_functions import CollateAsChar
|
||||||
|
@ -242,10 +242,6 @@ class VirtualMachine(ContactsMixin, RenderConfigMixin, ConfigContextModel, Prima
|
|||||||
else:
|
else:
|
||||||
return None
|
return None
|
||||||
|
|
||||||
@property
|
|
||||||
def disk_space(self):
|
|
||||||
return sum([disk.size for disk in self.virtualdisks.all()])
|
|
||||||
|
|
||||||
|
|
||||||
class VMInterface(NetBoxModel, BaseInterface, TrackingModelMixin):
|
class VMInterface(NetBoxModel, BaseInterface, TrackingModelMixin):
|
||||||
virtual_machine = models.ForeignKey(
|
virtual_machine = models.ForeignKey(
|
||||||
|
@ -93,30 +93,18 @@ class VirtualMachineTable(TenancyColumnsMixin, ContactsColumnMixin, NetBoxTable)
|
|||||||
verbose_name=_('Config Template'),
|
verbose_name=_('Config Template'),
|
||||||
linkify=True
|
linkify=True
|
||||||
)
|
)
|
||||||
disk_space = tables.Column(
|
|
||||||
empty_values=(),
|
|
||||||
verbose_name=_('Disk Size (GB)'),
|
|
||||||
)
|
|
||||||
|
|
||||||
class Meta(NetBoxTable.Meta):
|
class Meta(NetBoxTable.Meta):
|
||||||
model = VirtualMachine
|
model = VirtualMachine
|
||||||
fields = (
|
fields = (
|
||||||
'pk', 'id', 'name', 'status', 'site', 'cluster', 'device', 'role', 'tenant', 'tenant_group', 'platform',
|
'pk', 'id', 'name', 'status', 'site', 'cluster', 'device', 'role', 'tenant', 'tenant_group', 'platform',
|
||||||
'vcpus', 'memory', 'disk_space', 'primary_ip4', 'primary_ip6', 'primary_ip', 'description', 'comments',
|
'vcpus', 'memory', 'disk', 'primary_ip4', 'primary_ip6', 'primary_ip', 'description', 'comments',
|
||||||
'config_template', 'contacts', 'tags', 'created', 'last_updated',
|
'config_template', 'contacts', 'tags', 'created', 'last_updated',
|
||||||
)
|
)
|
||||||
default_columns = (
|
default_columns = (
|
||||||
'pk', 'name', 'status', 'site', 'cluster', 'role', 'tenant', 'vcpus', 'memory', 'disk_space', 'primary_ip',
|
'pk', 'name', 'status', 'site', 'cluster', 'role', 'tenant', 'vcpus', 'memory', 'disk', 'primary_ip',
|
||||||
)
|
)
|
||||||
|
|
||||||
def render_disk_space(self, value, record):
|
|
||||||
if record.disk:
|
|
||||||
return record.disk
|
|
||||||
elif record.disk_space:
|
|
||||||
return record.disk_space
|
|
||||||
else:
|
|
||||||
return '—'
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# VM components
|
# VM components
|
||||||
#
|
#
|
||||||
|
@ -2,7 +2,7 @@ import traceback
|
|||||||
|
|
||||||
from django.contrib import messages
|
from django.contrib import messages
|
||||||
from django.db import transaction
|
from django.db import transaction
|
||||||
from django.db.models import F, Prefetch, Sum
|
from django.db.models import Prefetch, Sum
|
||||||
from django.http import HttpResponse
|
from django.http import HttpResponse
|
||||||
from django.shortcuts import get_object_or_404, redirect, render
|
from django.shortcuts import get_object_or_404, redirect, render
|
||||||
from django.urls import reverse
|
from django.urls import reverse
|
||||||
@ -24,11 +24,11 @@ from utilities.views import ViewTab, register_model_view
|
|||||||
from . import filtersets, forms, tables
|
from . import filtersets, forms, tables
|
||||||
from .models import *
|
from .models import *
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Cluster types
|
# Cluster types
|
||||||
#
|
#
|
||||||
|
|
||||||
|
|
||||||
class ClusterTypeListView(generic.ObjectListView):
|
class ClusterTypeListView(generic.ObjectListView):
|
||||||
queryset = ClusterType.objects.annotate(
|
queryset = ClusterType.objects.annotate(
|
||||||
cluster_count=count_related(Cluster, 'type')
|
cluster_count=count_related(Cluster, 'type')
|
||||||
@ -341,9 +341,7 @@ class ClusterContactsView(ObjectContactsView):
|
|||||||
#
|
#
|
||||||
|
|
||||||
class VirtualMachineListView(generic.ObjectListView):
|
class VirtualMachineListView(generic.ObjectListView):
|
||||||
queryset = VirtualMachine.objects.annotate(
|
queryset = VirtualMachine.objects.prefetch_related('primary_ip4', 'primary_ip6')
|
||||||
disk_size=Sum('virtualdisks__size')
|
|
||||||
).prefetch_related('primary_ip4', 'primary_ip6')
|
|
||||||
filterset = filtersets.VirtualMachineFilterSet
|
filterset = filtersets.VirtualMachineFilterSet
|
||||||
filterset_form = forms.VirtualMachineFilterForm
|
filterset_form = forms.VirtualMachineFilterForm
|
||||||
table = tables.VirtualMachineTable
|
table = tables.VirtualMachineTable
|
||||||
@ -352,8 +350,7 @@ class VirtualMachineListView(generic.ObjectListView):
|
|||||||
|
|
||||||
@register_model_view(VirtualMachine)
|
@register_model_view(VirtualMachine)
|
||||||
class VirtualMachineView(generic.ObjectView):
|
class VirtualMachineView(generic.ObjectView):
|
||||||
queryset = VirtualMachine.objects.all().annotate(
|
queryset = VirtualMachine.objects.all()
|
||||||
disk_size=Sum('virtualdisks__size'))
|
|
||||||
|
|
||||||
|
|
||||||
@register_model_view(VirtualMachine, 'interfaces')
|
@register_model_view(VirtualMachine, 'interfaces')
|
||||||
|
Loading…
Reference in New Issue
Block a user