mirror of
https://github.com/netbox-community/netbox.git
synced 2026-01-11 21:10:29 +01:00
From the GUI we can't assign vlans from a VLAN Group with Virtualization Cluster as scope (works with the API) #8102
Closed
opened 2025-12-29 20:32:23 +01:00 by adam
·
16 comments
No Branch/Tag Specified
main
update-changelog-comments-docs
feature-removal-issue-type
20911-dropdown
20239-plugin-menu-classes-mutable-state
21097-graphql-id-lookups
feature
fix_module_substitution
20923-dcim-templates
20044-elevation-stuck-lightmode
feature-ip-prefix-link
v4.5-beta1-release
20068-import-moduletype-attrs
20766-fix-german-translation-code-literals
20378-del-script
7604-filter-modifiers-v3
circuit-swap
12318-case-insensitive-uniqueness
20637-improve-device-q-filter
20660-script-load
19724-graphql
20614-update-ruff
14884-script
02496-max-page
19720-macaddress-interface-generic-relation
19408-circuit-terminations-export-templates
20203-openapi-check
fix-19669-api-image-download
7604-filter-modifiers
19275-fixes-interface-bulk-edit
fix-17794-get_field_value_return_list
11507-show-aggregate-and-rir-on-api
9583-add_column_specific_search_field_to_tables
v4.5.0
v4.4.10
v4.4.9
v4.5.0-beta1
v4.4.8
v4.4.7
v4.4.6
v4.4.5
v4.4.4
v4.4.3
v4.4.2
v4.4.1
v4.4.0
v4.3.7
v4.4.0-beta1
v4.3.6
v4.3.5
v4.3.4
v4.3.3
v4.3.2
v4.3.1
v4.3.0
v4.2.9
v4.3.0-beta2
v4.2.8
v4.3.0-beta1
v4.2.7
v4.2.6
v4.2.5
v4.2.4
v4.2.3
v4.2.2
v4.2.1
v4.2.0
v4.1.11
v4.1.10
v4.1.9
v4.1.8
v4.2-beta1
v4.1.7
v4.1.6
v4.1.5
v4.1.4
v4.1.3
v4.1.2
v4.1.1
v4.1.0
v4.0.11
v4.0.10
v4.0.9
v4.1-beta1
v4.0.8
v4.0.7
v4.0.6
v4.0.5
v4.0.3
v4.0.2
v4.0.1
v4.0.0
v3.7.8
v3.7.7
v4.0-beta2
v3.7.6
v3.7.5
v4.0-beta1
v3.7.4
v3.7.3
v3.7.2
v3.7.1
v3.7.0
v3.6.9
v3.6.8
v3.6.7
v3.7-beta1
v3.6.6
v3.6.5
v3.6.4
v3.6.3
v3.6.2
v3.6.1
v3.6.0
v3.5.9
v3.6-beta2
v3.5.8
v3.6-beta1
v3.5.7
v3.5.6
v3.5.5
v3.5.4
v3.5.3
v3.5.2
v3.5.1
v3.5.0
v3.4.10
v3.4.9
v3.5-beta2
v3.4.8
v3.5-beta1
v3.4.7
v3.4.6
v3.4.5
v3.4.4
v3.4.3
v3.4.2
v3.4.1
v3.4.0
v3.3.10
v3.3.9
v3.4-beta1
v3.3.8
v3.3.7
v3.3.6
v3.3.5
v3.3.4
v3.3.3
v3.3.2
v3.3.1
v3.3.0
v3.2.9
v3.2.8
v3.3-beta2
v3.2.7
v3.3-beta1
v3.2.6
v3.2.5
v3.2.4
v3.2.3
v3.2.2
v3.2.1
v3.2.0
v3.1.11
v3.1.10
v3.2-beta2
v3.1.9
v3.2-beta1
v3.1.8
v3.1.7
v3.1.6
v3.1.5
v3.1.4
v3.1.3
v3.1.2
v3.1.1
v3.1.0
v3.0.12
v3.0.11
v3.0.10
v3.1-beta1
v3.0.9
v3.0.8
v3.0.7
v3.0.6
v3.0.5
v3.0.4
v3.0.3
v3.0.2
v3.0.1
v3.0.0
v2.11.12
v3.0-beta2
v2.11.11
v2.11.10
v3.0-beta1
v2.11.9
v2.11.8
v2.11.7
v2.11.6
v2.11.5
v2.11.4
v2.11.3
v2.11.2
v2.11.1
v2.11.0
v2.10.10
v2.10.9
v2.11-beta1
v2.10.8
v2.10.7
v2.10.6
v2.10.5
v2.10.4
v2.10.3
v2.10.2
v2.10.1
v2.10.0
v2.9.11
v2.10-beta2
v2.9.10
v2.10-beta1
v2.9.9
v2.9.8
v2.9.7
v2.9.6
v2.9.5
v2.9.4
v2.9.3
v2.9.2
v2.9.1
v2.9.0
v2.9-beta2
v2.8.9
v2.9-beta1
v2.8.8
v2.8.7
v2.8.6
v2.8.5
v2.8.4
v2.8.3
v2.8.2
v2.8.1
v2.8.0
v2.7.12
v2.7.11
v2.7.10
v2.7.9
v2.7.8
v2.7.7
v2.7.6
v2.7.5
v2.7.4
v2.7.3
v2.7.2
v2.7.1
v2.7.0
v2.6.12
v2.6.11
v2.6.10
v2.6.9
v2.7-beta1
Solcon-2020-01-06
v2.6.8
v2.6.7
v2.6.6
v2.6.5
v2.6.4
v2.6.3
v2.6.2
v2.6.1
v2.6.0
v2.5.13
v2.5.12
v2.6-beta1
v2.5.11
v2.5.10
v2.5.9
v2.5.8
v2.5.7
v2.5.6
v2.5.5
v2.5.4
v2.5.3
v2.5.2
v2.5.1
v2.5.0
v2.4.9
v2.5-beta2
v2.4.8
v2.5-beta1
v2.4.7
v2.4.6
v2.4.5
v2.4.4
v2.4.3
v2.4.2
v2.4.1
v2.4.0
v2.3.7
v2.4-beta1
v2.3.6
v2.3.5
v2.3.4
v2.3.3
v2.3.2
v2.3.1
v2.3.0
v2.2.10
v2.3-beta2
v2.2.9
v2.3-beta1
v2.2.8
v2.2.7
v2.2.6
v2.2.5
v2.2.4
v2.2.3
v2.2.2
v2.2.1
v2.2.0
v2.1.6
v2.2-beta2
v2.1.5
v2.2-beta1
v2.1.4
v2.1.3
v2.1.2
v2.1.1
v2.1.0
v2.0.10
v2.1-beta1
v2.0.9
v2.0.8
v2.0.7
v2.0.6
v2.0.5
v2.0.4
v2.0.3
v2.0.2
v2.0.1
v2.0.0
v2.0-beta3
v1.9.6
v1.9.5
v2.0-beta2
v1.9.4-r1
v1.9.3
v2.0-beta1
v1.9.2
v1.9.1
v1.9.0-r1
v1.8.4
v1.8.3
v1.8.2
v1.8.1
v1.8.0
v1.7.3
v1.7.2-r1
v1.7.1
v1.7.0
v1.6.3
v1.6.2-r1
v1.6.1-r1
1.6.1
v1.6.0
v1.5.2
v1.5.1
v1.5.0
v1.4.2
v1.4.1
v1.4.0
v1.3.2
v1.3.1
v1.3.0
v1.2.2
v1.2.1
v1.2.0
v1.1.0
v1.0.7-r1
v1.0.7
v1.0.6
v1.0.5
v1.0.4
v1.0.3-r1
v1.0.3
1.0.0
Labels
Clear labels
beta
breaking change
complexity: high
complexity: low
complexity: medium
needs milestone
netbox
pending closure
plugin candidate
pull-request
severity: high
severity: low
severity: medium
status: accepted
status: backlog
status: blocked
status: duplicate
status: needs owner
status: needs triage
status: revisions needed
status: under review
topic: GraphQL
topic: Internationalization
topic: OpenAPI
topic: UI/UX
topic: cabling
topic: event rules
topic: htmx navigation
topic: industrialization
topic: migrations
topic: plugins
topic: scripts
topic: templating
topic: testing
type: bug
type: deprecation
type: documentation
type: feature
type: housekeeping
type: translation
Mirrored from GitHub Pull Request
Milestone
No items
No Milestone
Projects
Clear projects
No project
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: starred/netbox#8102
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @SteveRodrigue on GitHub (May 23, 2023).
NetBox version
v3.3.10
Python version
3.9
Steps to Reproduce
2a. Create in the IPAM a VLAN Group attached to the site of the device (created in step 0).
2b. Create in the IPAM a VLAN Group attached to the just created Virtualization Cluster.
4a. From the web GUI try to attach this Virtualization Cluster VLAN (from step 3) to an interface on a device in the group (from step 1). <-- The vlan don't show up in the drop down list.
4b. From the API, we can assign the vlan that is impossible to assign from the GUI.
Expected Behavior
The WEB Gui dropdown list should pull from the appropriate VLAN group. It looks like the the list that is pulled by default is the "site" vlan group and we can't override the behaviour.
Observed Behavior
When using the API, this limitation si not present. In fact, since it's working the WEB Gui display the correct vlan until we try to edit the interface, then when we select the vlans, the Virtualization vlan disappear from the list and it is replaced by the list of vlans from the site group instead.
@stuntguy3000 commented on GitHub (May 24, 2023):
Unable to replicate, but can you please clarify your replication steps as they are not clear and are hard to follow. Pictures or a video would assist.
@SteveRodrigue commented on GitHub (May 24, 2023):
@stuntguy3000 : I'll go back in my lab environnement and go over the steps by steps once more to check it.
@jeremystretch commented on GitHub (May 24, 2023):
Your NetBox version is rather old. Please also try upgrading to the current stable release (v3.5.2).
@SteveRodrigue commented on GitHub (May 24, 2023):
@jeremystretch : That's something we'll need to try. Can you confirm the problem we experience may be related to the Netbox version (from the changelogs and/or your quite extensive knowledge of the product/code).
I was about to post that I can reliability reproduce the problem (on v.3.3.10) and, I feel like the problem isn't in the core code per se, but in the Web interface processing of the VLAN selection (dynamic) menu.
@jeremystretch commented on GitHub (May 24, 2023):
No, but you can find the release notes here: https://docs.netbox.dev/en/stable/release-notes/
@SteveRodrigue commented on GitHub (May 24, 2023):
I looked the source code of the web page.
Netbox v3.3.10 WEB UI is doing this call:
/api/ipam/vlans/?available_on_device=1234&brief=true&group_id=26When I manually test this exact API call, it returns an empty list of vlans. If I edit the API call, I get the correct list of vlan:
/api/ipam/vlans/?brief=true&group_id=26I'll try to test it on the latest Netbox (need to install/upgrade our lab). So, I'll be able to confirm if the behaviour changed in the latest and greatest Netbox.
@SteveRodrigue commented on GitHub (May 24, 2023):
@stuntguy3000 : I just did the test on https://demo.netbox.dev and I have the same behaviour.
Virtualization cluster:
https://demo.netbox.dev/virtualization/clusters/43/
VLAN group:
https://demo.netbox.dev/ipam/vlan-groups/10/
Interface I can't assign the vlan on:
https://demo.netbox.dev/dcim/interfaces/1924/
Here is the list of related changelogs in the demo server:
@stuntguy3000 commented on GitHub (May 24, 2023):
Gotchya - I see what you mean. Will do more investigations tomorrow, I think your Issue Title covers it - note the demo instance will be wiped every 24hrs so those links won't be handy for long.
@SteveRodrigue commented on GitHub (May 24, 2023):
@stuntguy3000 : It's OK. It's easy to reproduce the issue. I just found it handy to use demo.netbox.dev to show/reproduce the issue. I could even create a quick Ansible playbook to recreate the context whenever we want.
The current workaround will be for us to use Netbox Scripts (and/or API calls) to properly assign the vlans.
@DanSheps commented on GitHub (May 24, 2023):
@SteveRodrigue We still require more clear reproduction steps so that we can implement a fix (if needed) and perform testing after the fact. Demo data is destroyed daily.
@SteveRodrigue commented on GitHub (May 24, 2023):
@DanSheps : Ok. So, what I'll do is to document all the API calls to reproduce a setup. Basically, I'll take note of the changelogs listed in my previous post. 😄
This should be enough and will make the problem easy to reproduce.
@SteveRodrigue commented on GitHub (May 24, 2023):
The following Ansible Playbook will create all objects required and will display the instructions to replicate the issue.
@DanSheps commented on GitHub (May 25, 2023):
We don't use Ansible.
Please review the Issue intake policy, contributing guide and the getting involved wiki.
@stuntguy3000 commented on GitHub (May 25, 2023):
I've been able to replicate the issue - working on a fix.
@SteveRodrigue commented on GitHub (May 25, 2023):
@DanSheps : I've used Ansible because this is what I use to interact with Netbox most of the time. Since @stuntguy3000 have been able to reproduce the problem, I won't rewrite my how-to guide. Next time, I'll check how I can submit required data into another format.
I assumed many of the Netbox contributors would be comfortable with Ansible (and Ansible Netbox modules).
@jeremystretch commented on GitHub (May 30, 2023):
As you've opted not to provide clear reproduction instructions despite being asked several times, I'm closing this issue. @stuntguy3000 if you would like to submit a new issue clearly documenting the steps you've followed to reproduce the issue, you are welcome to do so.