CableForm has no field named termination #6961

Closed
opened 2025-12-29 19:47:13 +01:00 by adam · 3 comments
Owner

Originally created by @swoop124 on GitHub (Sep 10, 2022).

NetBox version

v3.3.2

Python version

3.10

Steps to Reproduce

  1. Create Device Type, Deice Role, Device
  2. create multiple virtual Interfaces on Device
  3. Create Proeder Network, Provider, Circuit Types and Circuit
  4. on one Interface you create on the device, select connet cable to Circuit Termination
  5. if Site is selected on B Side there are no Circuits, so remove Site and select a Circut
  6. select a Side
  7. select a Calbe Type, Tenant and Color
  8. click create

Expected Behavior

The Cableconnection to the Circit/Provider should by displayed/created

Observed Behavior

This error is displayed
grafik

Originally created by @swoop124 on GitHub (Sep 10, 2022). ### NetBox version v3.3.2 ### Python version 3.10 ### Steps to Reproduce 1. Create Device Type, Deice Role, Device 2. create multiple virtual Interfaces on Device 3. Create Proeder Network, Provider, Circuit Types and Circuit 4. on one Interface you create on the device, select connet cable to Circuit Termination 5. if Site is selected on B Side there are no Circuits, so remove Site and select a Circut 6. select a Side 7. select a Calbe Type, Tenant and Color 8. click create ### Expected Behavior The Cableconnection to the Circit/Provider should by displayed/created ### Observed Behavior This error is displayed ![grafik](https://user-images.githubusercontent.com/75502165/189477161-0e4b9c7e-51da-4c6c-8cd0-84fbf5ef306f.png)
adam added the type: bugstatus: duplicate labels 2025-12-29 19:47:13 +01:00
adam closed this issue 2025-12-29 19:47:13 +01:00
Author
Owner

@jeremystretch commented on GitHub (Sep 12, 2022):

Thank you for opening a bug report. I was unable to reproduce the reported behavior on NetBox v3.3.2. Please re-confirm the reported behavior on the current stable release and adjust your post above as necessary. Remember to provide detailed steps that someone else can follow using a clean installation of NetBox to reproduce the issue. Additionally:

  1. create multiple virtual Interfaces on Device

Cables cannot be connected to virtual interfaces; these must be physical interfaces.

It would also help if you can enable debugging and provide the complete stack trace associated with the ValueError exception.

@jeremystretch commented on GitHub (Sep 12, 2022): Thank you for opening a bug report. I was unable to reproduce the reported behavior on NetBox v3.3.2. Please re-confirm the reported behavior on the current stable release and adjust your post above as necessary. Remember to provide detailed steps that someone else can follow using a clean installation of NetBox to reproduce the issue. Additionally: > 2. create multiple virtual Interfaces on Device Cables cannot be connected to virtual interfaces; these must be physical interfaces. It would also help if you can enable debugging and provide the complete stack trace associated with the `ValueError` exception.
Author
Owner

@swoop124 commented on GitHub (Sep 12, 2022):

Hello,

sorry, i mean physical interfaces.

I used an Device with 12 Interfaces the last two i named WAN 1 and 2. I tried to connect WAN 1 to my Circuit Termination, an WAN 2 and another Interface as well. All resulting in the same Error.

My Netbox installation is on Docker, how can i enabel Debug?

maybe this will help:
Docker logs

netbox_1               | Internal Server Error: /dcim/cables/add/
netbox_1               | Traceback (most recent call last):
netbox_1               |   File "/opt/netbox/venv/lib/python3.10/site-packages/django/forms/models.py", line 492, in _post_clean
netbox_1               |     self.instance.full_clean(exclude=exclude, validate_unique=False)
netbox_1               |   File "/opt/netbox/venv/lib/python3.10/site-packages/django/db/models/base.py", line 1405, in full_clean
netbox_1               |     raise ValidationError(errors)
netbox_1               | django.core.exceptions.ValidationError: {'termination': ['Circuit terminations attached to a provider network may not be cabled.']}
netbox_1               |
netbox_1               | During handling of the above exception, another exception occurred:
netbox_1               |
netbox_1               | Traceback (most recent call last):
netbox_1               |   File "/opt/netbox/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", line 55, in inner
netbox_1               |     response = get_response(request)
netbox_1               |   File "/opt/netbox/venv/lib/python3.10/site-packages/django/core/handlers/base.py", line 197, in _get_response
netbox_1               |     response = wrapped_callback(request, *callback_args, **callback_kwargs)
netbox_1               |   File "/opt/netbox/venv/lib/python3.10/site-packages/django/views/generic/base.py", line 84, in view
netbox_1               |     return self.dispatch(request, *args, **kwargs)
netbox_1               |   File "/opt/netbox/netbox/dcim/views.py", line 2851, in dispatch
netbox_1               |     return super().dispatch(request, *args, **kwargs)
netbox_1               |   File "/opt/netbox/netbox/netbox/views/generic/object_views.py", line 302, in dispatch
netbox_1               |     return super().dispatch(request, *args, **kwargs)
netbox_1               |   File "/opt/netbox/netbox/utilities/views.py", line 90, in dispatch
netbox_1               |     return super().dispatch(request, *args, **kwargs)
netbox_1               |   File "/opt/netbox/venv/lib/python3.10/site-packages/django/views/generic/base.py", line 119, in dispatch
netbox_1               |     return handler(request, *args, **kwargs)
netbox_1               |   File "/opt/netbox/netbox/netbox/views/generic/object_views.py", line 384, in post
netbox_1               |     if form.is_valid():
netbox_1               |   File "/opt/netbox/venv/lib/python3.10/site-packages/django/forms/forms.py", line 205, in is_valid
netbox_1               |     return self.is_bound and not self.errors
netbox_1               |   File "/opt/netbox/venv/lib/python3.10/site-packages/django/forms/forms.py", line 200, in errors
netbox_1               |     self.full_clean()
netbox_1               |   File "/opt/netbox/venv/lib/python3.10/site-packages/django/forms/forms.py", line 435, in full_clean
netbox_1               |     self._post_clean()
netbox_1               |   File "/opt/netbox/venv/lib/python3.10/site-packages/django/forms/models.py", line 494, in _post_clean
netbox_1               |     self._update_errors(e)
netbox_1               |   File "/opt/netbox/venv/lib/python3.10/site-packages/django/forms/models.py", line 466, in _update_errors
netbox_1               |     self.add_error(None, errors)
netbox_1               |   File "/opt/netbox/venv/lib/python3.10/site-packages/django/forms/forms.py", line 400, in add_error
netbox_1               |     raise ValueError(
netbox_1               | ValueError: '_CableForm' has no field named 'termination'.
netbox_1               | 192.168.176.1 - - [12/Sep/2022:14:22:26 +0000] "POST /dcim/cables/add/?a_terminations_type=dcim.interface&a_terminations=98&b_terminations_type=circuits.circuittermination&termination_b_site=1&return_url=/dcim/devices/17/interfaces/ HTTP/1.1" 500 1612 "http://docker3.bl-its.at:8100/dcim/cables/add/?a_terminations_type=dcim.interface&a_terminations=98&b_terminations_type=circuits.circuittermination&termination_b_site=1&return_url=/dcim/devices/17/interfaces/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:104.0) Gecko/20100101 Firefox/104.0"
netbox_1               | Not Found: /favicon.ico
netbox_1               | 192.168.176.1 - - [12/Sep/2022:14:22:26 +0000] "GET /favicon.ico HTTP/1.1" 404 87176 "http://docker3.bl-its.at:8100/dcim/cables/add/?a_terminations_type=dcim.interface&a_terminations=98&b_terminations_type=circuits.circuittermination&termination_b_site=1&return_url=/dcim/devices/17/interfaces/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:104.0) Gecko/20100101 Firefox/104.0"
@swoop124 commented on GitHub (Sep 12, 2022): Hello, sorry, i mean physical interfaces. I used an Device with 12 Interfaces the last two i named WAN 1 and 2. I tried to connect WAN 1 to my Circuit Termination, an WAN 2 and another Interface as well. All resulting in the same Error. My Netbox installation is on Docker, how can i enabel Debug? maybe this will help: Docker logs ``` netbox_1 | Internal Server Error: /dcim/cables/add/ netbox_1 | Traceback (most recent call last): netbox_1 | File "/opt/netbox/venv/lib/python3.10/site-packages/django/forms/models.py", line 492, in _post_clean netbox_1 | self.instance.full_clean(exclude=exclude, validate_unique=False) netbox_1 | File "/opt/netbox/venv/lib/python3.10/site-packages/django/db/models/base.py", line 1405, in full_clean netbox_1 | raise ValidationError(errors) netbox_1 | django.core.exceptions.ValidationError: {'termination': ['Circuit terminations attached to a provider network may not be cabled.']} netbox_1 | netbox_1 | During handling of the above exception, another exception occurred: netbox_1 | netbox_1 | Traceback (most recent call last): netbox_1 | File "/opt/netbox/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", line 55, in inner netbox_1 | response = get_response(request) netbox_1 | File "/opt/netbox/venv/lib/python3.10/site-packages/django/core/handlers/base.py", line 197, in _get_response netbox_1 | response = wrapped_callback(request, *callback_args, **callback_kwargs) netbox_1 | File "/opt/netbox/venv/lib/python3.10/site-packages/django/views/generic/base.py", line 84, in view netbox_1 | return self.dispatch(request, *args, **kwargs) netbox_1 | File "/opt/netbox/netbox/dcim/views.py", line 2851, in dispatch netbox_1 | return super().dispatch(request, *args, **kwargs) netbox_1 | File "/opt/netbox/netbox/netbox/views/generic/object_views.py", line 302, in dispatch netbox_1 | return super().dispatch(request, *args, **kwargs) netbox_1 | File "/opt/netbox/netbox/utilities/views.py", line 90, in dispatch netbox_1 | return super().dispatch(request, *args, **kwargs) netbox_1 | File "/opt/netbox/venv/lib/python3.10/site-packages/django/views/generic/base.py", line 119, in dispatch netbox_1 | return handler(request, *args, **kwargs) netbox_1 | File "/opt/netbox/netbox/netbox/views/generic/object_views.py", line 384, in post netbox_1 | if form.is_valid(): netbox_1 | File "/opt/netbox/venv/lib/python3.10/site-packages/django/forms/forms.py", line 205, in is_valid netbox_1 | return self.is_bound and not self.errors netbox_1 | File "/opt/netbox/venv/lib/python3.10/site-packages/django/forms/forms.py", line 200, in errors netbox_1 | self.full_clean() netbox_1 | File "/opt/netbox/venv/lib/python3.10/site-packages/django/forms/forms.py", line 435, in full_clean netbox_1 | self._post_clean() netbox_1 | File "/opt/netbox/venv/lib/python3.10/site-packages/django/forms/models.py", line 494, in _post_clean netbox_1 | self._update_errors(e) netbox_1 | File "/opt/netbox/venv/lib/python3.10/site-packages/django/forms/models.py", line 466, in _update_errors netbox_1 | self.add_error(None, errors) netbox_1 | File "/opt/netbox/venv/lib/python3.10/site-packages/django/forms/forms.py", line 400, in add_error netbox_1 | raise ValueError( netbox_1 | ValueError: '_CableForm' has no field named 'termination'. netbox_1 | 192.168.176.1 - - [12/Sep/2022:14:22:26 +0000] "POST /dcim/cables/add/?a_terminations_type=dcim.interface&a_terminations=98&b_terminations_type=circuits.circuittermination&termination_b_site=1&return_url=/dcim/devices/17/interfaces/ HTTP/1.1" 500 1612 "http://docker3.bl-its.at:8100/dcim/cables/add/?a_terminations_type=dcim.interface&a_terminations=98&b_terminations_type=circuits.circuittermination&termination_b_site=1&return_url=/dcim/devices/17/interfaces/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:104.0) Gecko/20100101 Firefox/104.0" netbox_1 | Not Found: /favicon.ico netbox_1 | 192.168.176.1 - - [12/Sep/2022:14:22:26 +0000] "GET /favicon.ico HTTP/1.1" 404 87176 "http://docker3.bl-its.at:8100/dcim/cables/add/?a_terminations_type=dcim.interface&a_terminations=98&b_terminations_type=circuits.circuittermination&termination_b_site=1&return_url=/dcim/devices/17/interfaces/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:104.0) Gecko/20100101 Firefox/104.0" ```
Author
Owner

@jeremystretch commented on GitHub (Sep 12, 2022):

maybe this will help:

That's what I needed, thanks!

The root problem here is that you're attempting to connect a cable to a circuit termination that is attached to a provider network. See the error message toward the top of that stack trace:

Circuit terminations attached to a provider network may not be cabled.

However, an exception is being raised due a bug in the for validation. Fortunately it seems that this bug has already been fixed under #10250 and will be fixed in the next release, v3.3.3. Please let us know if you continue experiencing problems once you've upgraded to the next release.

@jeremystretch commented on GitHub (Sep 12, 2022): > maybe this will help: That's what I needed, thanks! The root problem here is that you're attempting to connect a cable to a circuit termination that is attached to a provider network. See the error message toward the top of that stack trace: > Circuit terminations attached to a provider network may not be cabled. However, an exception is being raised due a bug in the for validation. Fortunately it seems that this bug has already been fixed under #10250 and will be fixed in the next release, v3.3.3. Please let us know if you continue experiencing problems once you've upgraded to the next release.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/netbox#6961