mirror of
https://github.com/netbox-community/netbox.git
synced 2025-07-20 10:16:42 -06:00
14692 Convert VM disk size (#16434)
* 14692 convert disk size to MB * 14692 fix list display * 14692 fix migration * Update netbox/virtualization/migrations/0039_convert_disk_size.py Co-authored-by: Jeremy Stretch <jstretch@netboxlabs.com> --------- Co-authored-by: Jeremy Stretch <jstretch@netboxlabs.com>
This commit is contained in:
parent
4da5bd6ed1
commit
c1d7696b2a
@ -137,7 +137,7 @@
|
||||
</th>
|
||||
<td>
|
||||
{% if object.disk %}
|
||||
{{ object.disk }} {% trans "GB" context "Abbreviation for gigabyte" %}
|
||||
{{ object.disk|humanize_megabytes }}
|
||||
{% else %}
|
||||
{{ ''|placeholder }}
|
||||
{% endif %}
|
||||
|
23
netbox/virtualization/migrations/0039_convert_disk_size.py
Normal file
23
netbox/virtualization/migrations/0039_convert_disk_size.py
Normal file
@ -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.filter(disk__isnull=False).update(disk=F('disk') * 1000)
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('virtualization', '0038_virtualdisk'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.RunPython(
|
||||
code=convert_disk_size,
|
||||
reverse_code=migrations.RunPython.noop
|
||||
),
|
||||
]
|
@ -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
|
||||
|
@ -4,6 +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 virtualization.models import VirtualDisk, VirtualMachine, VMInterface
|
||||
|
||||
__all__ = (
|
||||
@ -106,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
|
||||
@ -118,6 +122,9 @@ class VirtualMachineTable(TenancyColumnsMixin, ContactsColumnMixin, NetBoxTable)
|
||||
'pk', 'name', 'status', 'site', 'cluster', 'role', 'tenant', 'vcpus', 'memory', 'disk', 'primary_ip',
|
||||
)
|
||||
|
||||
def render_disk(self, value):
|
||||
return humanize_megabytes(value)
|
||||
|
||||
|
||||
#
|
||||
# VM components
|
||||
|
Loading…
Reference in New Issue
Block a user