-
Notifications
You must be signed in to change notification settings - Fork 2.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support for nested rack groups #1754
Comments
@jeremystretch I thought the Tenancy aspect, from the Data Center viewpoint, was equivalent to the "cage". Perhaps I misunderstood the purpose of the Tenancy feature, (which is typically a term used for VRFs or VLANs) but the description says "Customers or departments", which seems to me like the cage in the DC. Then within the cage, you have Racks and optionally Rack Groups. |
@jasonguy The concept of tenancy covers many objects in NetBox (sites, racks, VRFs, circuits, etc.). It might make sense to assign a tenant for a specific device, or a whole rack, or a whole cage, depending on your use case. |
@Maxkaha Please keep comments pertinent to the issue. If you have other questions or suggestions, please open a separate issue if it seems appropriate to do so after consulting the contributing policy. |
It will be interesting to see if we can implement both this and #238. |
How about carving up racks for multi-tenancy within a rack? This can become a bit more interesting with #554 . I'd like to be able to say that a customer can manage the space they've been allocated within the rack, and that's it. |
With this feature, you may want to enable support for more details about a rack group. IE for tracking cages, a colocation provider (or the users of the netbox deployment) may have specific details tied to a cage like descriptions, tenant(s), tenant group(s), tags, or status. You could also argue that rack groups should track available power, rack space (may not be a good name, but track how many racks in that group could be provisioned), and other "datatypes" not currently found in netbox. This could be a separate feature request, but I think its pertinent to the overall vision of nested rack groups for depicting cages. Let me know and I can split this out if needed. |
@jeremystretch Along the same vein as this, would it be possible to look at sites being recursive in addition? The reason I ask, is I can see a site being more akin to:
And Rack groups being more in line with groupings within a room, ex:
If it makes sense, I can open an enhancement issue for it as well so that it can be tracked. This would allow the ability to do things like have vlans/vlan groups assigned to a master site, and then have rooms under that site which could have a single vlan assigned to that room. That said, I could see this causing a lot of checking needing to be done all over as it would potentially touch a large number of areas. For instance, in the vlan example, you would need to not only populate the immediate site vlans but also the parent vlans for a device in a room. |
I've been digging into this a bit and updating an existing model to sublcass MPTTModel is a bit tricky. This introduces four new database fields ( While the fields can be added via a migration without issue, we don't have access to MPTT's TreeManager within the migration, so we can't call Another option is to leverage the |
Closes #1754: Nested rack groups
I ended up separating the operations into two migrations and mimicking |
Issue type
[x] Feature request
[ ] Bug report
[ ] Documentation
Environment
Description
Currently, a rack must be assigned to a site and may optionally be assigned to a rack group. Each rack group must be assigned to a site. This allows e.g. to represent cages within a site. However, this model is limited to a single level of grouping. It would be beneficial to support nested rack groups (similar to regions) so that we could model subgroups of racks within a cage, for example. Additional research is needed to determine how feasible this is.
The text was updated successfully, but these errors were encountered: