License management support for Netbox #4630

Closed
opened 2025-12-29 18:38:29 +01:00 by adam · 5 comments
Owner

Originally created by @vahem2lu on GitHub (Mar 8, 2021).

Environment

  • Python version: 3.6.9
  • NetBox version: 2.10.3

Proposed Functionality

I'd propose a Data Center and services license management functionality to Netbox.
It would give a possibility to manage data center and it's licenses from one instance.

Use Case

It should hold all licenses needed for DataCenter and software management.
As a Netbox user I could hold all my licenses in one management software and I can check how much is total cost, when they are expiring and so on.
There may be a functionality to assign them with VMs and/or physical devices where this license is being used.

For example what it might be

  • subscription-based license management for different end-user software, as I could check what software is used. For example:
    • data center support license to all my physical servers;
    • Any other specific software/license what's being used org-wide and is not entitled to specific end-user (for example web-based software)
  • perpetual license management
  • all licenses might be extended and/or marked as not in use

It's not license distribution functionality.

It might have solution to assign them end-users or just to hold it as free text column (like description for IP addresses).

Database Changes

Definitely a lot of database changes to hold this information.
Foreign key constraints to physical servers and/or VMs.

What data is needed for license management:

  • Manufacturer
  • Software
  • licence type (instances, sim. users, total users, physical CPU, physical servers, ..?)
  • license count (which checks for type)
  • purchase date
  • per license/ total sum
  • rental/perpetual
  • different dates: purchase, end, last edit

External Dependencies

Not sure, but rather does not have any new dependencies.

Originally created by @vahem2lu on GitHub (Mar 8, 2021). ### Environment * Python version: 3.6.9 * NetBox version: 2.10.3 ### Proposed Functionality I'd propose a Data Center and services license management functionality to Netbox. It would give a possibility to manage data center and it's licenses from one instance. ### Use Case It should hold all licenses needed for DataCenter and software management. As a Netbox user I could hold all my licenses in one management software and I can check how much is total cost, when they are expiring and so on. There may be a functionality to assign them with VMs and/or physical devices where this license is being used. For example what it might be - subscription-based license management for different end-user software, as I could check what software is used. For example: - data center support license to all my physical servers; - Any other specific software/license what's being used org-wide and is not entitled to specific end-user (for example web-based software) - perpetual license management - all licenses might be extended and/or marked as not in use It's not license distribution functionality. It might have solution to assign them end-users or just to hold it as free text column (like description for IP addresses). ### Database Changes Definitely a lot of database changes to hold this information. Foreign key constraints to physical servers and/or VMs. What data is needed for license management: - Manufacturer - Software - licence type (instances, sim. users, total users, physical CPU, physical servers, ..?) - license count (which checks for type) - purchase date - per license/ total sum - rental/perpetual - different dates: purchase, end, last edit ### External Dependencies Not sure, but rather does not have any new dependencies.
adam added the plugin candidatepending closure labels 2025-12-29 18:38:29 +01:00
adam closed this issue 2025-12-29 18:38:30 +01:00
Author
Owner

@xkilian commented on GitHub (Mar 8, 2021):

Interesting idea.
Though I get the impression your CMDB or lifecycle management application might be the better place to actually do this kind of things. This is because often, the purchasing/renewing licences is usually handled by a different department and has very different workflows. Also this touches on server, network, application, etc. Wide ranging licence management/expiration/renewal workflows that do not interact in a meaningful way with Netbox. Netbox can be a source of information for that workflow, but managing it inside Netbox is IMO not the place for it.

Managing licences is a pain the xxx, but my feeling here is that this straying a bit from the core function of Netbox to document and manage changes in the network infrastructure at large.

@xkilian commented on GitHub (Mar 8, 2021): Interesting idea. Though I get the impression your CMDB or lifecycle management application might be the better place to actually do this kind of things. This is because often, the purchasing/renewing licences is usually handled by a different department and has very different workflows. Also this touches on server, network, application, etc. Wide ranging licence management/expiration/renewal workflows that do not interact in a meaningful way with Netbox. Netbox can be a source of information for that workflow, but managing it inside Netbox is IMO not the place for it. Managing licences is a pain the xxx, but my feeling here is that this straying a bit from the core function of Netbox to document and manage changes in the network infrastructure at large.
Author
Owner

@dBitech commented on GitHub (Mar 8, 2021):

To me this does feel like a better fit for a plugin than as a core component of netbox.

@dBitech commented on GitHub (Mar 8, 2021): To me this does feel like a better fit for a plugin than as a core component of netbox.
Author
Owner

@ziggekatten commented on GitHub (Mar 8, 2021):

I completly agree. This should not be part of the core.

Integrating to such a system is quite straight forward, either pushing/pulling data or custom links. A plugin is course one option if you necessarily need to have only Netbox as a user tool.

@ziggekatten commented on GitHub (Mar 8, 2021): I completly agree. This should not be part of the core. Integrating to such a system is quite straight forward, either pushing/pulling data or custom links. A plugin is course one option if you necessarily need to have only Netbox as a user tool.
Author
Owner

@DanSheps commented on GitHub (Mar 8, 2021):

@vahem2lu This is most likely better off as a plugin, if there is a need within NetBox to handle this. Alternatively, as mentioned, you can use push (webhooks)/pull (API) or custom links within NetBox to link to any CMDB software you have.

@DanSheps commented on GitHub (Mar 8, 2021): @vahem2lu This is most likely better off as a plugin, if there is a need within NetBox to handle this. Alternatively, as mentioned, you can use push (webhooks)/pull (API) or custom links within NetBox to link to any CMDB software you have.
Author
Owner

@ryanmerolle commented on GitHub (Mar 10, 2021):

I'll pile on that plugin seems like the right place.

Other users of netbox leverage snipe-it. You could just either create custom links for integrations or use a plugin to integrate the two better.

Some references:

@ryanmerolle commented on GitHub (Mar 10, 2021): I'll pile on that plugin seems like the right place. Other users of netbox leverage [snipe-it](https://github.com/snipe/snipe-it). You could just either create custom links for integrations or use a plugin to integrate the two better. Some references: - https://www.thierolf.org/blog/2020/netbox-custom-links-for-snipe-it-and-librenms/ - https://www.thierolf.org/blog/2020/custom-links-in-netbox-for-snipe-it-asset-management/ - https://github.com/sthierolf/network-automation-scripts
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/netbox#4630