From 5dd2f370357317866df923fc2e3ed25fcf219a61 Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Thu, 7 Jun 2018 15:32:19 -0400 Subject: [PATCH] Fixes #2087: Don't overwrite existing vc_position of master device when creating a virtual chassis --- netbox/dcim/signals.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/netbox/dcim/signals.py b/netbox/dcim/signals.py index 1e8888e97..c29a8a857 100644 --- a/netbox/dcim/signals.py +++ b/netbox/dcim/signals.py @@ -11,8 +11,13 @@ def assign_virtualchassis_master(instance, created, **kwargs): """ When a VirtualChassis is created, automatically assign its master device to the VC. """ + # Default to 1 but don't overwrite an existing position (see #2087) + if instance.master.vc_position is not None: + vc_position = instance.master.vc_position + else: + vc_position = 1 if created: - Device.objects.filter(pk=instance.master.pk).update(virtual_chassis=instance, vc_position=1) + Device.objects.filter(pk=instance.master.pk).update(virtual_chassis=instance, vc_position=vc_position) @receiver(pre_delete, sender=VirtualChassis)