Skip to content
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

Rendering of cable trace broken after upgrading from 3.7.6 to 3.7.7 #15925

Closed
OliElli opened this issue May 2, 2024 · 6 comments · Fixed by #15938
Closed

Rendering of cable trace broken after upgrading from 3.7.6 to 3.7.7 #15925

OliElli opened this issue May 2, 2024 · 6 comments · Fixed by #15938
Assignees
Labels
severity: medium Results in substantial degraded or broken functionality for specfic workflows status: accepted This issue has been accepted for implementation type: bug A confirmed report of unexpected behavior in the application

Comments

@OliElli
Copy link

OliElli commented May 2, 2024

Deployment Type

Self-hosted

NetBox Version

3.7.7

Python Version

3.9

Steps to Reproduce

Load the cable trace page, eg https://netbox.example.com/dcim/interfaces/2283/trace/

Expected Behavior

An SVG of the cable trace should be visible on the top left of the page, and the download link should provide the .svg file.

Observed Behavior

No render is visible, and the download link gives an error page:

<class 'AttributeError'>

'Circuit' object has no attribute 'name'

Python version: 3.9.18
NetBox version: 3.7.7
Plugins: 
  django3_saml2_nbplugin: 2.0
  netbox_bgp: 0.12.1
@OliElli OliElli added status: needs triage This issue is awaiting triage by a maintainer type: bug A confirmed report of unexpected behavior in the application labels May 2, 2024
@jeffgdotorg
Copy link
Contributor

Thanks for reporting a problem you encountered.

I was unable to reproduce it using the provided steps. I did start with an empty, fresh 3.7.6 install, to which I added two devices, each with 24 interfaces, and connected those devices to each other and confirmed I could do a cable trace successfully. Then I upgraded that system to 3.7.7 and restarted the NetBox services. After the upgrade I was still able to perform the same trace. For good measure I tried tracing in the reverse direction, which also succeeded.

Have I omitted a step that was part of your flow?

@jeffgdotorg jeffgdotorg added status: revisions needed This issue requires additional information to be actionable and removed status: needs triage This issue is awaiting triage by a maintainer labels May 2, 2024
@jeffgdotorg jeffgdotorg removed their assignment May 2, 2024
@jeffgdotorg
Copy link
Contributor

Screenshot 2024-05-02 at 16 51 41
Screenshot 2024-05-02 at 16 54 51

@vuchkovski
Copy link

vuchkovski commented May 3, 2024

Hi, i can confirm this Bug. We also can not trace cables on Circuits after updating from v3.7.4 to 3.7.7.
I am testing in the moment, it does work on for example Devices directly, I have seen it on a Switch(Ports), a PDUs and Power Feed....
but it does not work with Circuits!
image

@jeremystretch
Copy link
Member

This was broken in PR #14750. Circuits do not have a name attribute (they are represented by circuit ID):

for i, term in enumerate(sorted(terminations, key=lambda x: x.name)):

@jeremystretch jeremystretch added status: needs owner This issue is tentatively accepted pending a volunteer committed to its implementation severity: medium Results in substantial degraded or broken functionality for specfic workflows and removed status: revisions needed This issue requires additional information to be actionable labels May 3, 2024
@jeremystretch jeremystretch self-assigned this May 3, 2024
@jeremystretch jeremystretch added status: accepted This issue has been accepted for implementation and removed status: needs owner This issue is tentatively accepted pending a volunteer committed to its implementation labels May 3, 2024
@jeffgdotorg
Copy link
Contributor

Thanks @vuchkovski, I should have keyed in on the mention of Circuit in @OliElli's original report and included one in my test setup.

@jeremystretch
Copy link
Member

This is a good example of why it's crucial to provide explicit reproduction steps when submitting a bug report.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
severity: medium Results in substantial degraded or broken functionality for specfic workflows status: accepted This issue has been accepted for implementation type: bug A confirmed report of unexpected behavior in the application
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants