netbox-community / netbox

The premier source of truth powering network automation. Open source under Apache 2. Try NetBox Cloud free: https://netboxlabs.com/free-netbox-cloud/
http://netboxlabs.com/oss/netbox/
Apache License 2.0
16.29k stars 2.59k forks source link

Rack Width property for devices #17021

Closed llamafilm closed 3 months ago

llamafilm commented 3 months ago

NetBox version

v4.0.8

Feature type

Data model extension

Proposed functionality

I'd like to have a new rack_width field on Device Types with options of 1/4, 1/3, 1/2, and full. Full is the default, and would continue the current behavior. If this is set to anything other than full, then allow installing multiple devices in the same RU, without needing a “child” designation, as long as the sum of their widths is less than 1. The rack elevation view would show all devices with their names and photos, and you can click directly on each one.

Use case

Many rack-mount devices are less than a full 19" width. Some examples:

These devices are usually designed with two different mounting options:

  1. Side by side in the same RU with a joiner plate.
  2. One by itself by rotating the rack ear 90 degrees to make it a half-width blank

Currently, modeling two devices in the same RU requires designating them as "children", and making up a bogus parent device. Even when installing one by itself, you still have to create the parent.

This would make the rack elevation view more useful, and reduce busy work of creating unnecessary parent devices.

Database changes

a new rack_width field on the DeviceType and Device.

External dependencies

none

kmorin18 commented 3 months ago

I would recommend using shelves and add module with device bays to insert each device into :)

DanSheps commented 3 months ago

Could you provide some examples of these joiner plates? Everything I have seen indicates that these go into custom shelves which would be modeled as a device.

llamafilm commented 3 months ago

Here's a drawing from QSC showing a half rack mounting option. It references the IEC60297-3-100 spec but I don't have access to that.

The joining plate is not shown there but it's mentioned in the manual. Qsys FAQ

Mellanox sells a rail kit, which can be used to mount either 1 or 2 units. Rail kits and/or brackets are required for most equipment but are never modeled in Netbox. Palo Alto does something similar.

For comparison, Arista 710P is a 1U device which also requires an extra rack-mount bracket. I'm sure nobody would want to make this bracket a "parent".

github-actions[bot] commented 3 months ago

This is a reminder that additional information is needed in order to further triage this issue. If the requested details are not provided, the issue will soon be closed automatically.

jeremystretch commented 3 months ago

As other have mentioned, the solution to modeling this in NetBox is to device a parent device type with device bays to house the child devices. NetBox's data model cannot support arbitrary device widths.