Add multitenancy support #9

Closed
opened 2025-12-29 15:28:27 +01:00 by adam · 2 comments
Owner

Originally created by @jeremystretch on GitHub (Jun 23, 2016).

Many entities which might use NetBox, particularly service providers, manage networks for many different customers. Currently, NetBox does not have any concept of distinct customers or organizations. This makes it very difficult to track which devices and other resources belong to which customer.

It should be fairly easy to extend NetBox's schema to include a Tenant object. Devices, Prefixes, and other objects could then optionally be associated with a Tenant via a ForeignKey field to track multitenant installations.

Originally created by @jeremystretch on GitHub (Jun 23, 2016). Many entities which might use NetBox, particularly service providers, manage networks for many different customers. Currently, NetBox does not have any concept of distinct customers or organizations. This makes it very difficult to track which devices and other resources belong to which customer. It should be fairly easy to extend NetBox's schema to include a Tenant object. Devices, Prefixes, and other objects could then optionally be associated with a Tenant via a ForeignKey field to track multitenant installations.
adam closed this issue 2025-12-29 15:28:27 +01:00
Author
Owner

@jeremystretch commented on GitHub (Jul 27, 2016):

Just merged #393, which implements tenancy assignment for:

  • Sites
  • Racks
  • Devices
  • VRFs
  • VLANs
  • Circuits

I have intentionally omitted prefixes and IP addresses, as adding explicit tenant assignment for these objects could be tedious and confusing. For example if I assign a VRF to each of my customers, I don't want to also assign each prefix and IP address within those VRFs to customers. That would be redundant and error-prone.

That said, it would be great if prefixes and IPs could inherit the tenant from their parent VRF (if the VRF has been assigned a tenant). More research is needed to determine whether the overhead required to support this is acceptable.

@jeremystretch commented on GitHub (Jul 27, 2016): Just merged #393, which implements tenancy assignment for: - Sites - Racks - Devices - VRFs - VLANs - Circuits I have intentionally omitted prefixes and IP addresses, as adding explicit tenant assignment for these objects could be tedious and confusing. For example if I assign a VRF to each of my customers, I don't want to also assign each prefix and IP address within those VRFs to customers. That would be redundant and error-prone. That said, it would be great if prefixes and IPs could inherit the tenant from their parent VRF (if the VRF has been assigned a tenant). More research is needed to determine whether the overhead required to support this is acceptable.
Author
Owner

@jeremystretch commented on GitHub (Jul 28, 2016):

Extended tenancy support to Prefixes and IPAddresses in e6c06b39e8. The inheritance seems to work well but needs additional testing.

@jeremystretch commented on GitHub (Jul 28, 2016): Extended tenancy support to Prefixes and IPAddresses in e6c06b39e8547f77085dda3da7bd9495475ada0f. The inheritance seems to work well but needs additional testing.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/netbox#9