Implement a more robust model for tracking cable paths #4146

Closed
opened 2025-12-29 18:33:26 +01:00 by adam · 2 comments
Owner

Originally created by @jeremystretch on GitHub (Sep 28, 2020).

Originally assigned to: @jeremystretch on GitHub.

Proposed Changes

I'm opening this issue to track the research and development into creating a better approach to cable tracking in NetBox. Although many of the details need to be refined, the high-level approach will be to model discrete cable paths individually for each connected object. For example, consider the following topology:

                1                           2
[Device 1] -----------+               +----------- [Device 2]
      Iface1          |               |          Iface2
                  FP1 |       3       | FP2
                  [Panel 1] ----- [Panel 2]
                  FP3 |   RP1   RP2   | FP4
      Iface3          |               |          Iface4
[Device 3] -----------+               +----------- [Device 4]
                4                           5

There are two end-to-end connections present, both via cable 3:

  • Iface 1 <---> Iface 2
  • Iface 3 <---> Iface 4

Currently, these connections are conveyed only on the four individual interfaces. A more robust approach would record each of the four unidirectional end-to-end connections individually, as:

  1. (Iface1, Cable 1, FP1, RP1, Cable 3, RP2, FP2, Cable 2, Iface2)
  2. (Iface2, Cable 2, FP2, RP2, Cable 3, RP1, FP1, Cable 1, Iface1)
  3. (Iface3, Cable 4, FP3, RP1, Cable 3, RP2, FP4, Cable 5, Iface4)
  4. (Iface4, Cable 5, FP4, RP2, Cable 3, RP1, FP3, Cable 4, Iface3)

This approach ensures that we can immediately query all potentially affected points along a path any time any single component within the path changes. For example, if cable 2 is deleted, we know immediately that paths 1 and 2 need to be updated.

Justification

There are several drawbacks to the current model, as evidenced by numerous bug reports over the past few major releases. Rather than continue playing whack-a-mole chasing down errant behaviors individually, we should commit the time and effort to devising a new holistic approach.

Originally created by @jeremystretch on GitHub (Sep 28, 2020). Originally assigned to: @jeremystretch on GitHub. ### Proposed Changes I'm opening this issue to track the research and development into creating a better approach to cable tracking in NetBox. Although many of the details need to be refined, the high-level approach will be to model discrete cable paths individually for each connected object. For example, consider the following topology: ``` 1 2 [Device 1] -----------+ +----------- [Device 2] Iface1 | | Iface2 FP1 | 3 | FP2 [Panel 1] ----- [Panel 2] FP3 | RP1 RP2 | FP4 Iface3 | | Iface4 [Device 3] -----------+ +----------- [Device 4] 4 5 ``` There are two end-to-end connections present, both via cable 3: * Iface 1 <---> Iface 2 * Iface 3 <---> Iface 4 Currently, these connections are conveyed only on the four individual interfaces. A more robust approach would record each of the four unidirectional end-to-end connections individually, as: 1. (Iface1, Cable 1, FP1, RP1, Cable 3, RP2, FP2, Cable 2, Iface2) 2. (Iface2, Cable 2, FP2, RP2, Cable 3, RP1, FP1, Cable 1, Iface1) 3. (Iface3, Cable 4, FP3, RP1, Cable 3, RP2, FP4, Cable 5, Iface4) 4. (Iface4, Cable 5, FP4, RP2, Cable 3, RP1, FP3, Cable 4, Iface3) This approach ensures that we can immediately query all potentially affected points along a path any time any single component within the path changes. For example, if cable 2 is deleted, we know immediately that paths 1 and 2 need to be updated. ### Justification There are several drawbacks to the current model, as evidenced by numerous bug reports over the past few major releases. Rather than continue playing whack-a-mole chasing down errant behaviors individually, we should commit the time and effort to devising a new holistic approach.
adam added the status: duplicate label 2025-12-29 18:33:26 +01:00
adam closed this issue 2025-12-29 18:33:26 +01:00
Author
Owner

@xkilian commented on GitHub (Sep 29, 2020):

This would permit reporting on connexions passing through a patch panel or cable. Good for creating provising reports for new patch panels.
Also useful for tracking down what broke during a fiber optic cable cut and to prioritize fusions to restore service.

@xkilian commented on GitHub (Sep 29, 2020): This would permit reporting on connexions passing through a patch panel or cable. Good for creating provising reports for new patch panels. Also useful for tracking down what broke during a fiber optic cable cut and to prioritize fusions to restore service.
Author
Owner

@jeremystretch commented on GitHub (Sep 29, 2020):

Turns out I already opened an issue for this: #4900

@jeremystretch commented on GitHub (Sep 29, 2020): Turns out I already opened an issue for this: #4900
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/netbox#4146