Description
Deployment Type
NetBox Cloud
NetBox Version
v4.0.9
Python Version
3.10
Steps to Reproduce
Currently it is possible to create an infinite loop in cabling topology (for instance, a Device with Interface -> Patch Panel Front Port -> Patch Panel Rear Port). This causes CablePath.from_origin
to loop infinitely while trying to resolve the termination path.
Create Cable connections as follows:
Device (DA): Application Server, APC AP7901
Create Interface 01 (fixed Ethernet)
Patch Panel (PA): Generic 48-pair fiber panel
Device (DA) [Interface]
| (Cable 1)
PatchPanel (PA) Front Port 1
PatchPanel (PA) Front Port 2
| (Cable 2)
PatchPanel (PA) Rear Splice
(Issue also occurs if you create a Rear Port 1 on PA and connect Front Port 2 to Rear Port 1.)
When creating the Cable 2 object, clicking Save leads to an infinitely spinning/wedged browser as the app continuously iterates.
Expected Behavior
Cable should be created. If the cable path is not valid, the trace diagram should not be expected to redraw correctly.
Observed Behavior
Cable object fails to save, or is partially saved, while the from_origin
method iterates infinitely. User has to refresh the browser and the app potentially suffers degraded performance while the session survives.