From 546bbe54184814eee4c91af0614aa12e172b4c0e Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Tue, 18 May 2021 16:42:21 -0400 Subject: [PATCH] Fixes #6426: Allow assigning virtual chassis member interfaces to LAG on VC master --- docs/release-notes/version-2.11.md | 1 + netbox/dcim/forms.py | 8 ++++++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/docs/release-notes/version-2.11.md b/docs/release-notes/version-2.11.md index ea2f7d0ac..3436c9c34 100644 --- a/docs/release-notes/version-2.11.md +++ b/docs/release-notes/version-2.11.md @@ -11,6 +11,7 @@ * [#6376](https://github.com/netbox-community/netbox/issues/6376) - Fix assignment of VLAN groups to clusters, cluster groups via REST API * [#6398](https://github.com/netbox-community/netbox/issues/6398) - Avoid exception when deleting device connected to self via circuit +* [#6426](https://github.com/netbox-community/netbox/issues/6426) - Allow assigning virtual chassis member interfaces to LAG on VC master --- diff --git a/netbox/dcim/forms.py b/netbox/dcim/forms.py index acaa3f4ec..5b81c80a9 100644 --- a/netbox/dcim/forms.py +++ b/netbox/dcim/forms.py @@ -3126,9 +3126,13 @@ class InterfaceForm(BootstrapMixin, InterfaceCommonForm, CustomFieldModelForm): device = Device.objects.get(pk=self.data['device']) if self.is_bound else self.instance.device - # Restrict parent/LAG interface assignment by device + # Restrict parent/LAG interface assignment by device/VC self.fields['parent'].widget.add_query_param('device_id', device.pk) - self.fields['lag'].widget.add_query_param('device_id', device.pk) + if device.virtual_chassis and device.virtual_chassis.master: + # Get available LAG interfaces by VirtualChassis master + self.fields['lag'].widget.add_query_param('device_id', device.virtual_chassis.master.pk) + else: + self.fields['lag'].widget.add_query_param('device_id', device.pk) # Limit VLAN choices by device self.fields['untagged_vlan'].widget.add_query_param('available_on_device', device.pk)