cant unset a device interface vlan mode without an error #11050

Closed
opened 2025-12-29 21:39:39 +01:00 by adam · 1 comment
Owner

Originally created by @ITJamie on GitHub (Apr 17, 2025).

Originally assigned to: @renatoalmeidaoliveira on GitHub.

Deployment Type

Self-hosted

NetBox Version

v4.2.7

Python Version

3.11

Steps to Reproduce

  1. create a device
  2. create an interface on a device
  3. set the mode on the interface to tagged
  4. set the untagged vlan on that interface.
  5. save
  6. edit the interface
  7. unset vlan mode ( press the x button in that form field, the untagged vlan field will dissapear )
  8. press save - get error

Expected Behavior

vlan mode gets unset + untagged / tags vlans get deleted

Observed Behavior

an error was raised

<class 'ValueError'>

'InterfaceForm' has no field named 'untagged_vlan'.

Python version: 3.12.3
NetBox version: 4.2.7-Docker-3.2.0
Originally created by @ITJamie on GitHub (Apr 17, 2025). Originally assigned to: @renatoalmeidaoliveira on GitHub. ### Deployment Type Self-hosted ### NetBox Version v4.2.7 ### Python Version 3.11 ### Steps to Reproduce 1. create a device 2. create an interface on a device 3. set the mode on the interface to tagged 4. set the untagged vlan on that interface. 5. save 6. edit the interface 7. unset vlan mode ( press the x button in that form field, the untagged vlan field will dissapear ) 8. press save - get error ### Expected Behavior vlan mode gets unset + untagged / tags vlans get deleted ### Observed Behavior an error was raised ``` <class 'ValueError'> 'InterfaceForm' has no field named 'untagged_vlan'. Python version: 3.12.3 NetBox version: 4.2.7-Docker-3.2.0 ```
adam added the type: bugstatus: acceptedseverity: low labels 2025-12-29 21:39:39 +01:00
adam closed this issue 2025-12-29 21:39:39 +01:00
Author
Owner

@arthanson commented on GitHub (Apr 18, 2025):

Traceback (most recent call last):
  File "/Users/ahanson/dev/work/netbox/venv/lib/python3.12/site-packages/django/core/handlers/exception.py", line 55, in inner
    response = get_response(request)
               ^^^^^^^^^^^^^^^^^^^^^
  File "/Users/ahanson/dev/work/netbox/venv/lib/python3.12/site-packages/django/core/handlers/base.py", line 197, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/ahanson/dev/work/netbox/venv/lib/python3.12/site-packages/django/views/generic/base.py", line 104, in view
    return self.dispatch(request, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/ahanson/dev/work/netbox/netbox/netbox/views/generic/object_views.py", line 182, in dispatch
    return super().dispatch(request, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/ahanson/dev/work/netbox/netbox/netbox/views/generic/base.py", line 26, in dispatch
    return super().dispatch(request, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/ahanson/dev/work/netbox/netbox/utilities/views.py", line 125, in dispatch
    return super().dispatch(request, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/ahanson/dev/work/netbox/netbox/utilities/views.py", line 39, in dispatch
    return super().dispatch(request, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/ahanson/dev/work/netbox/venv/lib/python3.12/site-packages/django/views/generic/base.py", line 143, in dispatch
    return handler(request, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/ahanson/dev/work/netbox/netbox/netbox/views/generic/object_views.py", line 278, in post
    if form.is_valid():
       ^^^^^^^^^^^^^^^
  File "/Users/ahanson/dev/work/netbox/venv/lib/python3.12/site-packages/django/forms/forms.py", line 197, in is_valid
    return self.is_bound and not self.errors
                                 ^^^^^^^^^^^
  File "/Users/ahanson/dev/work/netbox/venv/lib/python3.12/site-packages/django/forms/forms.py", line 192, in errors
    self.full_clean()
  File "/Users/ahanson/dev/work/netbox/venv/lib/python3.12/site-packages/django/forms/forms.py", line 327, in full_clean
    self._post_clean()
  File "/Users/ahanson/dev/work/netbox/netbox/netbox/forms/base.py", line 78, in _post_clean
    return super()._post_clean()
           ^^^^^^^^^^^^^^^^^^^^^
  File "/Users/ahanson/dev/work/netbox/venv/lib/python3.12/site-packages/django/forms/models.py", line 500, in _post_clean
    self._update_errors(e)
  File "/Users/ahanson/dev/work/netbox/venv/lib/python3.12/site-packages/django/forms/models.py", line 472, in _update_errors
    self.add_error(None, errors)
  File "/Users/ahanson/dev/work/netbox/venv/lib/python3.12/site-packages/django/forms/forms.py", line 292, in add_error
    raise ValueError(
ValueError: 'InterfaceForm' has no field named 'untagged_vlan'.

@arthanson commented on GitHub (Apr 18, 2025): ``` Traceback (most recent call last): File "/Users/ahanson/dev/work/netbox/venv/lib/python3.12/site-packages/django/core/handlers/exception.py", line 55, in inner response = get_response(request) ^^^^^^^^^^^^^^^^^^^^^ File "/Users/ahanson/dev/work/netbox/venv/lib/python3.12/site-packages/django/core/handlers/base.py", line 197, in _get_response response = wrapped_callback(request, *callback_args, **callback_kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/ahanson/dev/work/netbox/venv/lib/python3.12/site-packages/django/views/generic/base.py", line 104, in view return self.dispatch(request, *args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/ahanson/dev/work/netbox/netbox/netbox/views/generic/object_views.py", line 182, in dispatch return super().dispatch(request, *args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/ahanson/dev/work/netbox/netbox/netbox/views/generic/base.py", line 26, in dispatch return super().dispatch(request, *args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/ahanson/dev/work/netbox/netbox/utilities/views.py", line 125, in dispatch return super().dispatch(request, *args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/ahanson/dev/work/netbox/netbox/utilities/views.py", line 39, in dispatch return super().dispatch(request, *args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/ahanson/dev/work/netbox/venv/lib/python3.12/site-packages/django/views/generic/base.py", line 143, in dispatch return handler(request, *args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/ahanson/dev/work/netbox/netbox/netbox/views/generic/object_views.py", line 278, in post if form.is_valid(): ^^^^^^^^^^^^^^^ File "/Users/ahanson/dev/work/netbox/venv/lib/python3.12/site-packages/django/forms/forms.py", line 197, in is_valid return self.is_bound and not self.errors ^^^^^^^^^^^ File "/Users/ahanson/dev/work/netbox/venv/lib/python3.12/site-packages/django/forms/forms.py", line 192, in errors self.full_clean() File "/Users/ahanson/dev/work/netbox/venv/lib/python3.12/site-packages/django/forms/forms.py", line 327, in full_clean self._post_clean() File "/Users/ahanson/dev/work/netbox/netbox/netbox/forms/base.py", line 78, in _post_clean return super()._post_clean() ^^^^^^^^^^^^^^^^^^^^^ File "/Users/ahanson/dev/work/netbox/venv/lib/python3.12/site-packages/django/forms/models.py", line 500, in _post_clean self._update_errors(e) File "/Users/ahanson/dev/work/netbox/venv/lib/python3.12/site-packages/django/forms/models.py", line 472, in _update_errors self.add_error(None, errors) File "/Users/ahanson/dev/work/netbox/venv/lib/python3.12/site-packages/django/forms/forms.py", line 292, in add_error raise ValueError( ValueError: 'InterfaceForm' has no field named 'untagged_vlan'. ```
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/netbox#11050