mirror of
https://github.com/netbox-community/netbox.git
synced 2026-01-11 21:10:29 +01:00
Separate Hardware and Platform Manufacturers to allow Platforms by different vendors on hardware not produced by that vendor #1946
Closed
opened 2025-12-29 17:20:48 +01:00 by adam
·
9 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
No Label
Milestone
No items
No Milestone
Projects
Clear projects
No project
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: starred/netbox#1946
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 @JNR8 on GitHub (Aug 16, 2018).
Environment
Proposed Functionality
Allow an additional Manufacturer to be selected for Platforms within a device. This would avoid the issue above and still limit the list of available Platforms to the select Manufacturer as originally requested in #1744
Use Case
Dell R630 device with Dell selected as the Manufacturer with VMWare ESXi Platform installed.
Database Changes
Possibly, as this would need a new field to be present on the Device form with the appropriate logic to filter our Platforms for that Manufacturer. but this may not need much, if any Db changes to achieve it.
External Dependencies
None that I know of.
@jeremystretch commented on GitHub (Aug 16, 2018):
I think the goal of allowing a platform to be associated with a manufacturer is specifically to enforce this limitation. In this case it would make sense to not treat VMware as a manufacturer, and simply refer to the platform as "VMware ESXi."
@JNR8 commented on GitHub (Aug 17, 2018):
So I would have to create VMWare ESXi as a platform for all Manufacturers on which you run that platform? I.e HP and Dell amongst other.
The same issue arises for windows and all its variants running on physical hardware.
I suppose I could remove the associated manufacturer from the platform but then I’d end up with a long list of platforms for all devices, which essentially undoes what the original request to restrict that list was intending.
I don’t have to do this for VMs, so I’d expect the same hardware devices.
Chris Jenner
@jeremystretch commented on GitHub (Aug 17, 2018):
Yes, because ESXi is not inherently bound to any particular manufacturer. This is contrast to a platform like Junos, which (typically) runs only on hardware manufactured by Juniper.
@JNR8 commented on GitHub (Aug 20, 2018):
I would disagree there. Whilst some platforms are created by hardware vendors, a lot are not. In these cases they may be called something like "Software Vendors" or "Developers". I would suggest "Vendor" covers both hardware and software creators for all platform types. I can see why you have a Manufacturer type in NetBox, allowing for Device templates to be associated with a Hardware Manufacturer. But, in my experience, most Data Centers will predominantly have more devices with platforms not created by the hardware manufacturer than not. (i.e. Hypervisors, Windows, Linux, Unix Platforms running on a variety of different hardware types).
Currently creating Platforms with no associated Hardware Manufacturer undoes the change requested in #1744 by listing all platforms unrelated to the hardware selected.
To more accurately document platforms I believe removing their link to the hardware manufacturer field and instead creating a new field (called "platform vendor" for example) so that you can accurately document vendors for platforms, fulfill the requested function change in #1744 and allow for completely documenting all environment types.
Not being able to set a Vendor for soo many platforms sets my OCD twitching. It also seems to be at odds with creating a system to accurately document Data Center Environments.
@LuPo commented on GitHub (Jan 24, 2019):
Hello Jeremy, likewise many others I really do appreciate your job. I would like to reopen a conversation on this topic and ask you to consider this problem looking on network devices instead.
In our data centers we are putting a lot of whitebox/capable routers from different major networking manufacturers. Without referring here to any specific brand name, it seams that there is a big advantage in terms of automation and operations in using a single NOS on networking devices from different vendors.
Wouldn't it make sense to create a relationship of "one to many" between a "platform" and a "manufacturer"?
@timber-schroeder commented on GitHub (Feb 7, 2019):
Just chiming in that I have the exact same issues and requests as other people above. We have a lot of switches from different manufacturers running the same NOS distribution. While it would be possible to just decouple the platform from the manufacturer, that feels like a subpar solution, especially for instances where there are multiple platforms from a single software vendor in use.
What would be nice is if we could have a new field for manufacturers that tells if they are vendors for software, hardware or both. This would decouple the hardware manufacturers from the platform, which are very often unrelated to each other. As it is, creating multiple identical platforms just so that we can add those platforms to devices of differing manufacturers is a hacky solution.
Ideally we could then store version information on platforms and tie in those platforms with the services (service templates?) on individual devices, but I feel that that should be a separate issue.
@mbaybarsk commented on GitHub (Aug 23, 2019):
Yes this is really causing me a headache.
I have several Hyper-V clusters and the "devices" that make up the nodes of the clusters are "HP" and I can't select "Server 2016" as a platform because it's a Microsoft product. This makes no sense for servers, only for networking equipment.
@aventrax commented on GitHub (Oct 4, 2019):
Same here, I have physical servers from HP (Manufacturer=HP) with Windows installed (Platform=Microsoft), but I replicate this on Netbox, really a pity :(
@Blackraz0r commented on GitHub (Dec 19, 2019):
+1 Same Issue here.
Have multiple Servers from Dell, HP and some Whiteboxes running 2 V-Sphere cluster.
Would be nice to have the ability to put Dell as the Manu for the server, VMWare as the manu/dev/whatever of the Operating System.
unfortunately Jeremy never hat this case and/or rageclosed the thread after recieving 2 downvotes for his descision in :
so @jeremystretch maybe u like to reconsider to let the user decide (maybe via a setting) if he want to be dell or vmware the manufacturer of the operating system?