-
Notifications
You must be signed in to change notification settings - Fork 2.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Cable traces do not display via
anymore
#4619
Comments
Please provide the exact steps you are taking to reproduce this issue. |
I’ve updated the description to be a little less terse. |
Doing some testing, seems like the problem is straight forward: When the path is first initialized, the path doesn't have two endpoints. Once the path is fully initialized (two terminations connected), it only cares about the end path. I think this is going to be a weird corner case where we are going to need to also check along the path and cache the the appropriate sides for a circuit termination in the path the endpoint as well. Not sure how easy the fix will be though, as you also need to take into account circuits that are in-between when deleting or updating the path. |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. NetBox is governed by a small group of core maintainers which means not all opened issues may receive direct feedback. Please see our contributing guide. |
I'm still working on this, but it's harder than I thought so I need a bit more time. |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. NetBox is governed by a small group of core maintainers which means not all opened issues may receive direct feedback. Please see our contributing guide. |
Silly stalebot. I'm working on this. Honest! A little more detail: I am testing with storing trace results so they are easy to display. First results look promising. |
@steffann, Thanks for trying to get this sorted out. We do very much rely on the circuit visibility |
My intention is to require no manual action |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. NetBox is governed by a small group of core maintainers which means not all opened issues may receive direct feedback. Please see our contributing guide. |
Could you use any help with anything, @steffann? Unfortunately I’ll be on vacation next week, but I can help starting the week after that :) |
@Kircheneer Ah, thanks! I seem to have missed that backreference here. |
I did some testing on #4706 (now merged) and it does not appear to fully fix this particular issue. I first tried editing the cable and the circuit terminations and click the 'Save' button with no change. I also disconnected the cables from either termination and re-created them with no change. However, when I deleted the circuit terminations and re-created them, as well as recreated the interface connections, I got the termination A on the circuit detail page to show the device and interface it was connected to. The termination Z did not show the device/interface data. And on each device's detail page, the "via" was still missing, only showing the distant end device name and interface as before. For clarification here's the path I'm working with:
|
Haven't done any extensive testing, but I just upgraded to v2.8.7 and as @tyler-8 said this issue is still there. |
It turned out that with the current database models it is not feasible anymore to show "via" for interface-to-interface paths. What is still possible is to show the circuit when the trace ends at CircuitTermA (connected endpoint shows the circuti) or CircuitTermZ (connected endpoint shows "site Z via circuit X". This is part of a recent cleanup ticket. I'm sorry that we cannot restore the "via" functionality for this use case at this point. |
Environment
Steps to Reproduce
PLUGINS
setting inconfiguration.py
.Expected Behavior
Historically, the circuit termination was the connected endpoint, meaning that you were able to see the property
via
.Here’s an interface connected before the update:
This is the trace:
Observed Behavior
Due to the new tracing logic, circuit terminations gets resolved in there, meaning that the template never ends up in the code path that renders the
via
, and only interfaces are the connected endpoints.Here’s an interface connected after the update:
Here’s the trace:
This behavior change is a bit tricky to resolve, since it involves two parts of the Netbox code: the signal that handles cables and connected endpoints in
netbox.dcim.signals:update_connected_endpoints
, which after a bit of indirection callstrace
, and the templatenetbox/templates/dcim/inc/interface
, specifically the part that triggers oniface.connected_endpoint.term_side
.I hope that this is understandable. I’d be happy to provide any additional info that you might need.
Cheers
The text was updated successfully, but these errors were encountered: