Просмотр исходного кода

Fixes #6426: Allow assigning virtual chassis member interfaces to LAG on VC master

jeremystretch 4 лет назад
Родитель
Сommit
546bbe5418
2 измененных файлов с 7 добавлено и 2 удалено
  1. 1 0
      docs/release-notes/version-2.11.md
  2. 6 2
      netbox/dcim/forms.py

+ 1 - 0
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
 * [#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
 * [#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
 
 
 ---
 ---
 
 

+ 6 - 2
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
         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['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
         # Limit VLAN choices by device
         self.fields['untagged_vlan'].widget.add_query_param('available_on_device', device.pk)
         self.fields['untagged_vlan'].widget.add_query_param('available_on_device', device.pk)