mirror of
https://github.com/netbox-community/netbox.git
synced 2025-07-14 01:41:22 -06:00
This commit is contained in:
parent
621b29cd71
commit
426e6439e3
@ -1,7 +1,5 @@
|
||||
from django.apps import AppConfig
|
||||
|
||||
from netbox import denormalized
|
||||
|
||||
|
||||
class VirtualizationConfig(AppConfig):
|
||||
name = 'virtualization'
|
||||
@ -15,10 +13,5 @@ class VirtualizationConfig(AppConfig):
|
||||
# Register models
|
||||
register_models(*self.get_models())
|
||||
|
||||
# Register denormalized fields
|
||||
denormalized.register(VirtualMachine, 'cluster', {
|
||||
'site': '_site',
|
||||
})
|
||||
|
||||
# Register counters
|
||||
connect_counters(VirtualMachine)
|
||||
|
@ -2,7 +2,7 @@ from django.db.models import Sum
|
||||
from django.db.models.signals import post_delete, post_save
|
||||
from django.dispatch import receiver
|
||||
|
||||
from .models import VirtualDisk, VirtualMachine
|
||||
from .models import Cluster, VirtualDisk, VirtualMachine
|
||||
|
||||
|
||||
@receiver((post_delete, post_save), sender=VirtualDisk)
|
||||
@ -14,3 +14,12 @@ def update_virtualmachine_disk(instance, **kwargs):
|
||||
VirtualMachine.objects.filter(pk=vm.pk).update(
|
||||
disk=vm.virtualdisks.aggregate(Sum('size'))['size__sum']
|
||||
)
|
||||
|
||||
|
||||
@receiver(post_save, sender=Cluster)
|
||||
def update_virtualmachine_site(instance, **kwargs):
|
||||
"""
|
||||
Update the assigned site for all VMs to match that of the Cluster (if any).
|
||||
"""
|
||||
if instance._site:
|
||||
VirtualMachine.objects.filter(cluster=instance).update(site=instance._site)
|
||||
|
Loading…
Reference in New Issue
Block a user