mirror of
https://github.com/netbox-community/netbox.git
synced 2025-07-20 19:19:22 -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>
|
</th>
|
||||||
<td>
|
<td>
|
||||||
{% if object.disk %}
|
{% if object.disk %}
|
||||||
{{ object.disk }} {% trans "GB" context "Abbreviation for gigabyte" %}
|
{{ object.disk|humanize_megabytes }}
|
||||||
{% else %}
|
{% else %}
|
||||||
{{ ''|placeholder }}
|
{{ ''|placeholder }}
|
||||||
{% endif %}
|
{% 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(
|
disk = models.PositiveIntegerField(
|
||||||
blank=True,
|
blank=True,
|
||||||
null=True,
|
null=True,
|
||||||
verbose_name=_('disk (GB)')
|
verbose_name=_('disk (MB)')
|
||||||
)
|
)
|
||||||
|
|
||||||
# Counter fields
|
# Counter fields
|
||||||
|
@ -4,6 +4,7 @@ from django.utils.translation import gettext_lazy as _
|
|||||||
from dcim.tables.devices import BaseInterfaceTable
|
from dcim.tables.devices import BaseInterfaceTable
|
||||||
from netbox.tables import NetBoxTable, columns
|
from netbox.tables import NetBoxTable, columns
|
||||||
from tenancy.tables import ContactsColumnMixin, TenancyColumnsMixin
|
from tenancy.tables import ContactsColumnMixin, TenancyColumnsMixin
|
||||||
|
from utilities.templatetags.helpers import humanize_megabytes
|
||||||
from virtualization.models import VirtualDisk, VirtualMachine, VMInterface
|
from virtualization.models import VirtualDisk, VirtualMachine, VMInterface
|
||||||
|
|
||||||
__all__ = (
|
__all__ = (
|
||||||
@ -106,6 +107,9 @@ class VirtualMachineTable(TenancyColumnsMixin, ContactsColumnMixin, NetBoxTable)
|
|||||||
verbose_name=_('Config Template'),
|
verbose_name=_('Config Template'),
|
||||||
linkify=True
|
linkify=True
|
||||||
)
|
)
|
||||||
|
disk = tables.Column(
|
||||||
|
verbose_name=_('Disk'),
|
||||||
|
)
|
||||||
|
|
||||||
class Meta(NetBoxTable.Meta):
|
class Meta(NetBoxTable.Meta):
|
||||||
model = VirtualMachine
|
model = VirtualMachine
|
||||||
@ -118,6 +122,9 @@ class VirtualMachineTable(TenancyColumnsMixin, ContactsColumnMixin, NetBoxTable)
|
|||||||
'pk', 'name', 'status', 'site', 'cluster', 'role', 'tenant', 'vcpus', 'memory', 'disk', 'primary_ip',
|
'pk', 'name', 'status', 'site', 'cluster', 'role', 'tenant', 'vcpus', 'memory', 'disk', 'primary_ip',
|
||||||
)
|
)
|
||||||
|
|
||||||
|
def render_disk(self, value):
|
||||||
|
return humanize_megabytes(value)
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# VM components
|
# VM components
|
||||||
|
Loading…
Reference in New Issue
Block a user