mirror of
https://github.com/netbox-community/netbox.git
synced 2025-07-24 09:28:38 -06:00
Ignore VC member interfaces where mgmt_only=True
This commit is contained in:
parent
d41f4d2db3
commit
022c360964
@ -1047,10 +1047,10 @@ class Device(CreatedUpdatedModel, CustomFieldModel):
|
|||||||
Return a QuerySet matching all Interfaces assigned to this Device or, if this Device is a VC master, to another
|
Return a QuerySet matching all Interfaces assigned to this Device or, if this Device is a VC master, to another
|
||||||
Device belonging to the same virtual chassis.
|
Device belonging to the same virtual chassis.
|
||||||
"""
|
"""
|
||||||
|
filter = Q(device=self)
|
||||||
if hasattr(self, 'vc_membership') and self.vc_membership.is_master:
|
if hasattr(self, 'vc_membership') and self.vc_membership.is_master:
|
||||||
return Interface.objects.filter(device__vc_membership__virtual_chassis=self.vc_membership.virtual_chassis)
|
filter |= Q(device__vc_membership__virtual_chassis=self.vc_membership.virtual_chassis, mgmt_only=False)
|
||||||
else:
|
return Interface.objects.filter(filter)
|
||||||
return self.interfaces.all()
|
|
||||||
|
|
||||||
def get_children(self):
|
def get_children(self):
|
||||||
"""
|
"""
|
||||||
|
@ -812,7 +812,6 @@ class DeviceView(View):
|
|||||||
|
|
||||||
# Find virtual chassis memberships
|
# Find virtual chassis memberships
|
||||||
vc_memberships = VCMembership.objects.filter(virtual_chassis=device.virtual_chassis).select_related('device')
|
vc_memberships = VCMembership.objects.filter(virtual_chassis=device.virtual_chassis).select_related('device')
|
||||||
vc_peer_ids = [vcm.device_id for vcm in vc_memberships]
|
|
||||||
|
|
||||||
# Console ports
|
# Console ports
|
||||||
console_ports = natsorted(
|
console_ports = natsorted(
|
||||||
@ -831,15 +830,12 @@ class DeviceView(View):
|
|||||||
power_outlets = PowerOutlet.objects.filter(device=device).select_related('connected_port')
|
power_outlets = PowerOutlet.objects.filter(device=device).select_related('connected_port')
|
||||||
|
|
||||||
# Interfaces
|
# Interfaces
|
||||||
interfaces_filter = Q(device=device)
|
interfaces = device.vc_interfaces.order_naturally(
|
||||||
if hasattr(device, 'vc_membership') and device.vc_membership.is_master:
|
|
||||||
interfaces_filter |= Q(device_id__in=vc_peer_ids, mgmt_only=False)
|
|
||||||
interfaces = Interface.objects.order_naturally(
|
|
||||||
device.device_type.interface_ordering
|
device.device_type.interface_ordering
|
||||||
).select_related(
|
).select_related(
|
||||||
'connected_as_a__interface_b__device', 'connected_as_b__interface_a__device',
|
'connected_as_a__interface_b__device', 'connected_as_b__interface_a__device',
|
||||||
'circuit_termination__circuit'
|
'circuit_termination__circuit'
|
||||||
).filter(interfaces_filter).prefetch_related('ip_addresses')
|
).prefetch_related('ip_addresses')
|
||||||
|
|
||||||
# Device bays
|
# Device bays
|
||||||
device_bays = natsorted(
|
device_bays = natsorted(
|
||||||
|
Loading…
Reference in New Issue
Block a user