Closed ledgley closed 1 year ago
Addition of a sub-category under Platform that would allow the addition of a firmware/software version.
What is the intended benefit here versus simply storing the version number as part of the name?
I take your point, though essentially I see providing a parent/child relationship similar to Tenant Parent/Child as an option to provide more granularity in how Config Contexts can be applied to devices and groups of devices.
Parent/Child relationship will enable us to more easily apply Config Contexts to, for example, all IOS devices OR a subset of IOS versions.
To answer your question specifically, storing version numbers as part of the name eg. IOS-x.y.x inhibits the ability to take the above approach as it would result in one or the other when applying Config Contexts.
providing a parent/child relationship similar to Tenant Parent/Child as an option to provide more granularity in how Config Contexts can be applied to devices and groups of devices
That's not what was proposed, though. The original issue states
At least one new field in dcim.platform would be required to track the 'version'.
It's not clear whether you're proposing adding a new field, or a new model, or something else. Could you please elaborate on what specific changes you are proposing?
This is a feature request. I am new to Django and I am not a developer. I am simply trying to put forward a use case that is not currently met. I can appreciate you would like a narrow description, though I lack the expertise to provide this.
My requirement is that I can parent a 'firmware version' to a 'platform' ie. 7.0(3)I7(8) belongs to NXOS.
This allows me apply a Config Context to either NXOS or 7.0(3)I7(8). Applying to the 'parent' should encompass all 'child' elements.
@jeremystretch How can I help progress this feature request? I believe the information provided is clear, given there are 👍 's indicating support. Is there information that I have not provided or is unclear?
I believe the information provided is clear
Per my previous comment, it is not. You've shared a vague summary of functionality, but have provided no details concerning its proposed implementation. As an open source project, NetBox relies on its user base to help propose, craft, and implement new features. Please spend more time thinking about what your proposed change looks like and write up a detailed proposal. (There are plenty of other feature requests you can use for inspiration.) Here's a non-exhaustive list of key topics to get you started:
Please update your original post to ensure that all of these and any other relevant concerns are covered.
Closing due to lack of activity. This may be revisited in the future if anyone would like to open a detailed feature request addressing all of the points above.
Recently @DanSheps and I we were discussing this issue.
Honestly, versioning might be something we could look at adding to core. For example, you have a basic "Platform" (PC, Network, etc), then you drill down to the Operating system and version. Heck, it might be enough just to make platform nestable, so like... PC |--Microsoft |--Windows |--11 |--10 |--8.1 |--8.0 |--7 |--Linux |--Redhat Enterprise |--8 Etc
Would allow things like choosing "PC" as the platform for a Dell xxx and then getting more granular from there (I can't remember what was dependent upon Platform but if you chose platform for something it made a few things more difficult, mostly centered around Servers, and not so much around Network Systems)
To answer @jeremystretch questions:
I am reopening to get this opened up for debate, but we may very well close this issue again.
I think we could safely move this to a discussion to discuss the implementation details
Environment
Proposed Functionality
Addition of a sub-category under Platform that would allow the addition of a firmware/software version. Example: Platform: NXOS Version: 7.0(3)I7(8)
Use Case
Within out NetBox environment we require more granular tracking of software version for various use cases such as software lifecycle, vulnerability management and version specific config contexts. We currently use the Platform model to track specific versions, rather the intended use of tracking the actual platform (ie. NXOS). We would like, for example, to be able to apply a config context to either a Platform or a version or subset of versions. Similarly it is useful to have visibility where devices are not running the 'approved' version of a specific platform.
Database Changes
At least one new field in dcim.platform would be required to track the 'version'.
External Dependencies
None.