Fixes #5360: Clear VLAN assignments when setting interface mode to none

This commit is contained in:
Jeremy Stretch
2020-11-20 14:40:21 -05:00
parent 58668a6807
commit 3dd2e4c84c
3 changed files with 13 additions and 24 deletions

View File

@@ -464,18 +464,6 @@ class VMInterface(BaseInterface):
"virtual machine, or it must be global".format(self.untagged_vlan)
})
def save(self, *args, **kwargs):
# Remove untagged VLAN assignment for non-802.1Q interfaces
if self.mode is None:
self.untagged_vlan = None
# Only "tagged" interfaces may have tagged VLANs assigned. ("tagged all" implies all VLANs are assigned.)
if self.pk and self.mode != InterfaceModeChoices.MODE_TAGGED:
self.tagged_vlans.clear()
return super().save(*args, **kwargs)
def to_objectchange(self, action):
# Annotate the parent VirtualMachine
return ObjectChange(