Support for Cable Grouping #1463

Closed
opened 2026-04-06 01:57:47 +02:00 by MrUnknownDE · 0 comments
Owner

Originally created by @0lini on 8/12/2025

NetBox version

v4.3.6

Feature type

Data model extension

Proposed functionality

Add a feature that allows grouping multiple individual cables into a single logical cable group or cable bundle. This would enable more intuitive representation of physical cable bundles or multi-fiber cables while maintaining the existing one-to-one cable-to-port connection model.

Additionally, it should be possible to assign attributes (e.g., length, installation date, route) at the cable group level that automatically apply or propagate to each cable within the group.

Use case

In fiber optic deployments, it is common to have a single physical cable containing multiple individual fibers—each terminated separately at patch panels or equipment ports. Technicians need to document not only the individual fiber connections but also the physical cable bundle as a whole.

For example, a 24-fiber cable running between two patch panels contains 24 separate fiber strands, each connecting specific ports. Currently, NetBox requires creating 24 separate cable records without a way to link them as part of the same physical cable bundle.

With cable grouping, users can:

  • Create a logical cable group representing the physical 24-fiber cable.
  • Assign attributes such as total cable length, installation date, or route to the group once.
  • Still manage each fiber strand as an individual cable with its own port termination.
  • Easily track, report, and maintain fiber infrastructure with both physical and logical clarity.

Database changes

To support cable grouping, the data model will need to be extended to represent collections of related cables as logical groups or bundles. Key changes may include:

  • A new entity to represent a logical grouping of multiple cables, which can store shared metadata such as group name, type, and common attributes (e.g., length, installation details).
  • Establish a relationship allowing multiple cable records to be linked to a single cable group, enabling one-to-many mapping.
  • Mechanisms to manage and propagate attributes assigned at the group level to the individual cables within the group, ensuring consistency and reducing redundant data entry.
  • Updates to API, UI, and business logic to support creation, modification, visualization, and querying of cable groups along with their member cables.

External dependencies

No response

*Originally created by @0lini on 8/12/2025* ### NetBox version v4.3.6 ### Feature type Data model extension ### Proposed functionality Add a feature that allows grouping multiple individual cables into a single logical cable group or cable bundle. This would enable more intuitive representation of physical cable bundles or multi-fiber cables while maintaining the existing one-to-one cable-to-port connection model. Additionally, it should be possible to assign attributes (e.g., length, installation date, route) at the cable group level that automatically apply or propagate to each cable within the group. ### Use case In fiber optic deployments, it is common to have a single physical cable containing multiple individual fibers—each terminated separately at patch panels or equipment ports. Technicians need to document not only the individual fiber connections but also the physical cable bundle as a whole. For example, a 24-fiber cable running between two patch panels contains 24 separate fiber strands, each connecting specific ports. Currently, NetBox requires creating 24 separate cable records without a way to link them as part of the same physical cable bundle. With cable grouping, users can: - Create a logical cable group representing the physical 24-fiber cable. - Assign attributes such as total cable length, installation date, or route to the group once. - Still manage each fiber strand as an individual cable with its own port termination. - Easily track, report, and maintain fiber infrastructure with both physical and logical clarity. ### Database changes To support cable grouping, the data model will need to be extended to represent collections of related cables as logical groups or bundles. Key changes may include: - A new entity to represent a logical grouping of multiple cables, which can store shared metadata such as group name, type, and common attributes (e.g., length, installation details). - Establish a relationship allowing multiple cable records to be linked to a single cable group, enabling one-to-many mapping. - Mechanisms to manage and propagate attributes assigned at the group level to the individual cables within the group, ensuring consistency and reducing redundant data entry. - Updates to API, UI, and business logic to support creation, modification, visualization, and querying of cable groups along with their member cables. ### External dependencies _No response_
MrUnknownDE added the type: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: feature labels 2026-04-06 01:58:33 +02:00
Sign in to join this conversation.
No Label type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github/netbox#1463