From 5e19c890eb0078769f3836df80ffa274c9119857 Mon Sep 17 00:00:00 2001 From: Arthur Date: Thu, 6 Jun 2024 11:17:05 -0700 Subject: [PATCH 1/4] 14692 convert disk size to MB --- .../virtualization/virtualmachine.html | 2 +- .../migrations/0039_convert_disk_size.py | 23 +++++++++++++++++++ .../virtualization/models/virtualmachines.py | 2 +- .../virtualization/tables/virtualmachines.py | 4 ++++ 4 files changed, 29 insertions(+), 2 deletions(-) create mode 100644 netbox/virtualization/migrations/0039_convert_disk_size.py diff --git a/netbox/templates/virtualization/virtualmachine.html b/netbox/templates/virtualization/virtualmachine.html index 38432fdfee4..5df8a97303a 100644 --- a/netbox/templates/virtualization/virtualmachine.html +++ b/netbox/templates/virtualization/virtualmachine.html @@ -137,7 +137,7 @@
{% trans "Resources" %}
{% if object.disk %} - {{ object.disk }} {% trans "GB" context "Abbreviation for gigabyte" %} + {{ object.disk|humanize_megabytes }} {% else %} {{ ''|placeholder }} {% endif %} diff --git a/netbox/virtualization/migrations/0039_convert_disk_size.py b/netbox/virtualization/migrations/0039_convert_disk_size.py new file mode 100644 index 00000000000..319c7f96d2a --- /dev/null +++ b/netbox/virtualization/migrations/0039_convert_disk_size.py @@ -0,0 +1,23 @@ +# Generated by Django 5.0.6 on 2024-06-06 17:46 + +from django.db import migrations +from django.db.models import F + + +def convert_disk_size(apps, schema_editor): + VirtualMachine = apps.get_model('virtualization', 'VirtualMachine') + VirtualMachine.objects.update(disk=F('disk') * 1024) + + +class Migration(migrations.Migration): + + dependencies = [ + ('virtualization', '0038_virtualdisk'), + ] + + operations = [ + migrations.RunPython( + code=convert_disk_size, + reverse_code=migrations.RunPython.noop + ), + ] diff --git a/netbox/virtualization/models/virtualmachines.py b/netbox/virtualization/models/virtualmachines.py index 92f1a947234..fc446922bbf 100644 --- a/netbox/virtualization/models/virtualmachines.py +++ b/netbox/virtualization/models/virtualmachines.py @@ -125,7 +125,7 @@ class VirtualMachine(ContactsMixin, ImageAttachmentsMixin, RenderConfigMixin, Co disk = models.PositiveIntegerField( blank=True, null=True, - verbose_name=_('disk (GB)') + verbose_name=_('disk (MB)') ) # Counter fields diff --git a/netbox/virtualization/tables/virtualmachines.py b/netbox/virtualization/tables/virtualmachines.py index 9d194d268b8..0214f444913 100644 --- a/netbox/virtualization/tables/virtualmachines.py +++ b/netbox/virtualization/tables/virtualmachines.py @@ -1,4 +1,5 @@ import django_tables2 as tables +from django.contrib.humanize.templatetags.humanize import intcomma from django.utils.translation import gettext_lazy as _ from dcim.tables.devices import BaseInterfaceTable @@ -118,6 +119,9 @@ class Meta(NetBoxTable.Meta): 'pk', 'name', 'status', 'site', 'cluster', 'role', 'tenant', 'vcpus', 'memory', 'disk', 'primary_ip', ) + def render_disk(self, value): + return intcomma(value) + # # VM components From c4933b1de03d66d3f2a4862dd731ea1302f5b1aa Mon Sep 17 00:00:00 2001 From: Arthur Date: Thu, 6 Jun 2024 11:34:20 -0700 Subject: [PATCH 2/4] 14692 fix list display --- netbox/virtualization/tables/virtualmachines.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/netbox/virtualization/tables/virtualmachines.py b/netbox/virtualization/tables/virtualmachines.py index 0214f444913..f37a1bebc9a 100644 --- a/netbox/virtualization/tables/virtualmachines.py +++ b/netbox/virtualization/tables/virtualmachines.py @@ -1,10 +1,10 @@ import django_tables2 as tables -from django.contrib.humanize.templatetags.humanize import intcomma 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 virtualization.models import VirtualDisk, VirtualMachine, VMInterface __all__ = ( @@ -107,6 +107,9 @@ class VirtualMachineTable(TenancyColumnsMixin, ContactsColumnMixin, NetBoxTable) verbose_name=_('Config Template'), linkify=True ) + disk = tables.Column( + verbose_name=_('Disk'), + ) class Meta(NetBoxTable.Meta): model = VirtualMachine @@ -120,7 +123,7 @@ class Meta(NetBoxTable.Meta): ) def render_disk(self, value): - return intcomma(value) + return humanize_megabytes(value) # From f10838c21cad85219013169ef959c3a0d39ad690 Mon Sep 17 00:00:00 2001 From: Arthur Date: Thu, 6 Jun 2024 11:44:26 -0700 Subject: [PATCH 3/4] 14692 fix migration --- netbox/virtualization/migrations/0039_convert_disk_size.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/netbox/virtualization/migrations/0039_convert_disk_size.py b/netbox/virtualization/migrations/0039_convert_disk_size.py index 319c7f96d2a..d8ced42c150 100644 --- a/netbox/virtualization/migrations/0039_convert_disk_size.py +++ b/netbox/virtualization/migrations/0039_convert_disk_size.py @@ -6,7 +6,7 @@ def convert_disk_size(apps, schema_editor): VirtualMachine = apps.get_model('virtualization', 'VirtualMachine') - VirtualMachine.objects.update(disk=F('disk') * 1024) + VirtualMachine.objects.update(disk=F('disk') * 1000) class Migration(migrations.Migration): From 2764fc10946d0b2e0b65914e93d3659784037c88 Mon Sep 17 00:00:00 2001 From: Arthur Hanson Date: Mon, 10 Jun 2024 09:46:48 -0700 Subject: [PATCH 4/4] Update netbox/virtualization/migrations/0039_convert_disk_size.py Co-authored-by: Jeremy Stretch --- netbox/virtualization/migrations/0039_convert_disk_size.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/netbox/virtualization/migrations/0039_convert_disk_size.py b/netbox/virtualization/migrations/0039_convert_disk_size.py index d8ced42c150..5bd6c13de5e 100644 --- a/netbox/virtualization/migrations/0039_convert_disk_size.py +++ b/netbox/virtualization/migrations/0039_convert_disk_size.py @@ -6,7 +6,7 @@ def convert_disk_size(apps, schema_editor): VirtualMachine = apps.get_model('virtualization', 'VirtualMachine') - VirtualMachine.objects.update(disk=F('disk') * 1000) + VirtualMachine.objects.filter(disk__isnull=False).update(disk=F('disk') * 1000) class Migration(migrations.Migration):