Fixes #20197: Correct validation for virtual chassis parent interface (#20337)

This commit is contained in:
Martin Hauser
2025-09-12 15:53:08 +02:00
committed by GitHub
parent 4b17faae52
commit 103939ad3c

View File

@@ -872,14 +872,14 @@ class Interface(ModularComponentModel, BaseInterface, CabledObjectModel, PathEnd
"The selected parent interface ({interface}) belongs to a different device ({device})" "The selected parent interface ({interface}) belongs to a different device ({device})"
).format(interface=self.parent, device=self.parent.device) ).format(interface=self.parent, device=self.parent.device)
}) })
elif self.parent.device.virtual_chassis != self.parent.virtual_chassis: elif self.parent.device.virtual_chassis != self.device.virtual_chassis:
raise ValidationError({ raise ValidationError({
'parent': _( 'parent': _(
"The selected parent interface ({interface}) belongs to {device}, which is not part of " "The selected parent interface ({interface}) belongs to {device}, which is not part of "
"virtual chassis {virtual_chassis}." "virtual chassis {virtual_chassis}."
).format( ).format(
interface=self.parent, interface=self.parent,
device=self.parent_device, device=self.parent.device,
virtual_chassis=self.device.virtual_chassis virtual_chassis=self.device.virtual_chassis
) )
}) })
@@ -890,7 +890,7 @@ class Interface(ModularComponentModel, BaseInterface, CabledObjectModel, PathEnd
if self.pk and self.bridge_id == self.pk: if self.pk and self.bridge_id == self.pk:
raise ValidationError({'bridge': _("An interface cannot be bridged to itself.")}) raise ValidationError({'bridge': _("An interface cannot be bridged to itself.")})
# A bridged interface belong to the same device or virtual chassis # A bridged interface belongs to the same device or virtual chassis
if self.bridge and self.bridge.device != self.device: if self.bridge and self.bridge.device != self.device:
if self.device.virtual_chassis is None: if self.device.virtual_chassis is None:
raise ValidationError({ raise ValidationError({