ValidationError when connecting multiple interfaces to one via a multi-position rear port #3740

Closed
opened 2025-12-29 18:30:52 +01:00 by adam · 5 comments
Owner

Originally created by @steffann on GitHub (Jun 2, 2020).

Originally assigned to: @steffann on GitHub.

Environment

  • Python version: 3.7.3
  • NetBox version: 2.8.5

Steps to Reproduce

  1. Disable any installed plugins by commenting out the PLUGINS setting in
    configuration.py.
  2. Create three devices (A, B, and C) each with at least one non-connected interface.
  3. Create a device (X) with two front ports mapped to a single rear port with 2 positions.
  4. Connect interface A to the first front port of X.
  5. Connect interface B to the second front port of X.
  6. Create a device (Y) with one rear port with one position mapped to a single front port
  7. Connect interface C to the rear port of Y.
  8. Connect the rear port of X to the front port of Y

Alternative that should produce the same result:
7. Connect interface C to the front port of Y.
8. Connect the rear port of X to the rear port of Y

Expected Behaviour

No errors expected. When this would succeed, I would expect the connected endpoints of all three devices to be empty, as there is no single endpoint for the interface on device C.

Observed Behavior

In step 8 you get ValidationError "Rear ports with multiple positions may only be connected to other rear ports".

In the alternative version the ValidationError is "RP has 2 position(s) but RP has 1. Both terminations must have the same number of positions.".

Both are not expected, as the 1-on-1 RearPort/FrontPort is basically a cable extender.

Originally created by @steffann on GitHub (Jun 2, 2020). Originally assigned to: @steffann on GitHub. ### Environment * Python version: 3.7.3 * NetBox version: 2.8.5 ### Steps to Reproduce 1. Disable any installed plugins by commenting out the `PLUGINS` setting in `configuration.py`. 2. Create three devices (A, B, and C) each with at least one non-connected interface. 3. Create a device (X) with two front ports mapped to a single rear port with 2 positions. 4. Connect interface A to the first front port of X. 5. Connect interface B to the second front port of X. 6. Create a device (Y) with one rear port with one position mapped to a single front port 7. Connect interface C to the rear port of Y. 8. Connect the rear port of X to the front port of Y Alternative that should produce the same result: 7. Connect interface C to the front port of Y. 8. Connect the rear port of X to the rear port of Y ### Expected Behaviour No errors expected. When this would succeed, I would expect the connected endpoints of all three devices to be empty, as there is no single endpoint for the interface on device C. ### Observed Behavior In step 8 you get ValidationError "Rear ports with multiple positions may only be connected to other rear ports". In the alternative version the ValidationError is "RP has 2 position(s) but RP has 1. Both terminations must have the same number of positions.". Both are not expected, as the 1-on-1 RearPort/FrontPort is basically a cable extender.
adam added the status: acceptedtype: feature labels 2025-12-29 18:30:52 +01:00
adam closed this issue 2025-12-29 18:30:52 +01:00
Author
Owner

@jeremystretch commented on GitHub (Jun 3, 2020):

The issue title mentions an IntegrityError but the post makes no mention of an exception. Could you please clarify?

@jeremystretch commented on GitHub (Jun 3, 2020): The issue title mentions an IntegrityError but the post makes no mention of an exception. Could you please clarify?
Author
Owner

@steffann commented on GitHub (Jun 3, 2020):

The issue title mentions an IntegrityError but the post makes no mention of an exception. Could you please clarify?

You are right, they are ValidationErrors instead. Will fix!

@steffann commented on GitHub (Jun 3, 2020): > The issue title mentions an IntegrityError but the post makes no mention of an exception. Could you please clarify? You are right, they are ValidationErrors instead. Will fix!
Author
Owner

@stale[bot] commented on GitHub (Jun 17, 2020):

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.

@stale[bot] commented on GitHub (Jun 17, 2020): 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](https://github.com/netbox-community/netbox/blob/develop/CONTRIBUTING.md).
Author
Owner

@steffann commented on GitHub (Jun 17, 2020):

The PR is currently being reviewed

@steffann commented on GitHub (Jun 17, 2020): The PR is currently being reviewed
Author
Owner

@DanSheps commented on GitHub (Jun 22, 2020):

Marking this as accepted so the bot goes away

@DanSheps commented on GitHub (Jun 22, 2020): Marking this as accepted so the bot goes away
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/netbox#3740