Skip to content

Conversation

@jeremystretch
Copy link
Member

@jeremystretch jeremystretch commented Nov 13, 2025

Closes: #20788

  • Introduce cable profiles to define mapping & validation logic for various classes of cables (e.g. straight-through vs. breakout)
  • Add an optional profile choice field on dcim.Cable
  • Add a nullable cable_position integer field on all cabled objects (e.g. interfaces)
  • Rename create_cablepath() to create_cablepaths() and add position support
  • Extend cable tracing logic to consider the position of a path relative to its cable
  • Enable drag-and-drop of items within multi-select widgets
  • Refactor cable path tests
    • Split out base CablePathTestCase class
    • Introduced new profile-based tests in parallel to legacy (non-profile) tests
    • Did not alter any of the legacy tests, to ensure backward compatibility is retained
  • Update documentation for the Cable model

@jeremystretch jeremystretch marked this pull request as ready for review November 17, 2025 17:43
@jeremystretch jeremystretch requested review from a team and jnovinger and removed request for a team November 17, 2025 21:28
Copy link
Member

@jnovinger jnovinger left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All in all, this looks excellent and well-thought through. I wasn't able to find any sharp edges while poking at it.

I had some questions, but they're more clarifications than anything. Approved as is, but feel free to re-request if you want to make some additions.

@jnovinger jnovinger self-requested a review November 25, 2025 18:17
@jnovinger jnovinger merged commit 7cc7c7a into feature Nov 25, 2025
8 checks passed
@jnovinger jnovinger deleted the 20788-cable-profiles branch November 25, 2025 18:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants