17686 config option for disk divider (#18011)

This commit is contained in:
Mika Busch
2025-03-07 19:47:27 +01:00
committed by GitHub
parent 6d69c76b83
commit 29c25e39fc
9 changed files with 59 additions and 16 deletions

View File

@@ -1,13 +1,14 @@
from django.db import migrations
from django.db.models import F, Sum
from netbox.settings import DISK_BASE_UNIT
def convert_disk_size(apps, schema_editor):
VirtualMachine = apps.get_model('virtualization', 'VirtualMachine')
VirtualMachine.objects.filter(disk__isnull=False).update(disk=F('disk') * 1000)
VirtualMachine.objects.filter(disk__isnull=False).update(disk=F('disk') * DISK_BASE_UNIT)
VirtualDisk = apps.get_model('virtualization', 'VirtualDisk')
VirtualDisk.objects.filter(size__isnull=False).update(size=F('size') * 1000)
VirtualDisk.objects.filter(size__isnull=False).update(size=F('size') * DISK_BASE_UNIT)
# Recalculate disk size on all VMs with virtual disks
id_list = VirtualDisk.objects.values_list('virtual_machine_id').distinct()

View File

@@ -4,7 +4,7 @@ from django.utils.translation import gettext_lazy as _
from dcim.tables.devices import BaseInterfaceTable
from netbox.tables import NetBoxTable, columns
from tenancy.tables import ContactsColumnMixin, TenancyColumnsMixin
from utilities.templatetags.helpers import humanize_megabytes
from utilities.templatetags.helpers import humanize_disk_megabytes
from virtualization.models import VirtualDisk, VirtualMachine, VMInterface
from .template_code import *
@@ -93,7 +93,7 @@ class VirtualMachineTable(TenancyColumnsMixin, ContactsColumnMixin, NetBoxTable)
)
def render_disk(self, value):
return humanize_megabytes(value)
return humanize_disk_megabytes(value)
#
@@ -183,7 +183,7 @@ class VirtualDiskTable(NetBoxTable):
}
def render_size(self, value):
return humanize_megabytes(value)
return humanize_disk_megabytes(value)
class VirtualMachineVirtualDiskTable(VirtualDiskTable):