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()