Add Depth as Device Property #8808

Closed
opened 2025-12-29 20:41:30 +01:00 by adam · 8 comments
Owner

Originally created by @bradley-rose on GitHub (Nov 2, 2023).

NetBox version

v3.6.4

Feature type

Data model extension

Proposed functionality

Include depth as a device property so devices dynamically take up "full depth" if the rack depth is specified and the device depth is equal to or greater than the rack depth.

Use case

Our organization has varied rack depths, and one device may be full-depth on a standard rack, but it may not be full-depth on some of our longer-depth racks. I would like the ability to specify a device depth so that, if the device is equal or greater than the rack depth, the rack elevation would show rack units consumed for front and rear; and, if the device depth is less than the rack depth, the rack elevation is only consumed on the mounted side.

Database changes

No response

External dependencies

No response

Originally created by @bradley-rose on GitHub (Nov 2, 2023). ### NetBox version v3.6.4 ### Feature type Data model extension ### Proposed functionality Include depth as a device property so devices dynamically take up "full depth" if the rack depth is specified and the device depth is equal to or greater than the rack depth. ### Use case Our organization has varied rack depths, and one device may be full-depth on a standard rack, but it may not be full-depth on some of our longer-depth racks. I would like the ability to specify a device depth so that, if the device is equal or greater than the rack depth, the rack elevation would show rack units consumed for front and rear; and, if the device depth is less than the rack depth, the rack elevation is only consumed on the mounted side. ### Database changes _No response_ ### External dependencies _No response_
adam added the type: featurepending closurestatus: under review labels 2025-12-29 20:41:30 +01:00
adam closed this issue 2025-12-29 20:41:30 +01:00
Author
Owner

@jeremystretch commented on GitHub (Nov 3, 2023):

Thank you for your interest in extending NetBox. Unfortunately, the information you have provided does not constitute an actionable feature request. Per our contributing guide, a feature request must include a thorough description of the proposed functionality, including any database changes, new views or API endpoints, and so on. It must also include a detailed use case justifying its implementation. If you would like to elaborate on your proposal, please modify your post above. If sufficient detail is not added, this issue will be closed.

@jeremystretch commented on GitHub (Nov 3, 2023): Thank you for your interest in extending NetBox. Unfortunately, the information you have provided does not constitute an actionable feature request. Per our [contributing guide](https://github.com/netbox-community/netbox/blob/develop/CONTRIBUTING.md), a feature request must include a thorough description of the proposed functionality, including any database changes, new views or API endpoints, and so on. It must also include a detailed use case justifying its implementation. If you would like to elaborate on your proposal, please modify your post above. If sufficient detail is not added, this issue will be closed.
Author
Owner

@bradley-rose commented on GitHub (Nov 3, 2023):

I defined a detailed use case in the initial post, but unfortunately I'm not a developer (Network Admin) and don't know what would be required on the backend to make this come to fruition, so I can't speak to database changes.

API changes would include the new endpoints referencing depth as a device property.

Here's an example to see if this provides any more information on my thoughts:

  • I have two 4-post racks:
    • One has a depth of 37"
    • One has a depth of 42"
  • I have a UPS that is measured at 37" of depth.
    • This UPS would consume both the front and rear rack units of the 37" rack'
    • This UPS would not consume both the front and rear rack units of the 42" rack. It would only consume the rack units of the face that it was mounted upon.

Let me know what else I can provide to assist in properly submitting this feature request. I do believe there's value to be had here.

@bradley-rose commented on GitHub (Nov 3, 2023): I defined a detailed use case in the initial post, but unfortunately I'm not a developer (Network Admin) and don't know what would be required on the backend to make this come to fruition, so I can't speak to database changes. API changes would include the new endpoints referencing depth as a device property. Here's an example to see if this provides any more information on my thoughts: - I have two 4-post racks: - One has a depth of 37" - One has a depth of 42" - I have a UPS that is measured at 37" of depth. - This UPS would consume both the front and rear rack units of the 37" rack' - This UPS would **not** consume both the front and rear rack units of the 42" rack. It would only consume the rack units of the face that it was mounted upon. Let me know what else I can provide to assist in properly submitting this feature request. I do believe there's value to be had here.
Author
Owner

@ITJamie commented on GitHub (Nov 9, 2023):

this is related to an issue I have open for a "side" view that would also take into account device depth https://github.com/netbox-community/netbox/issues/13624

@ITJamie commented on GitHub (Nov 9, 2023): this is related to an issue I have open for a "side" view that would also take into account device depth https://github.com/netbox-community/netbox/issues/13624
Author
Owner

@jeremystretch commented on GitHub (Dec 14, 2023):

I see what you're after, but I'm afraid your proposal ignores some important realities:

  1. The cited length of a device typically refers to the dimensions of the chassis, not the distance from its mounting bracket to its rear (which can be less than the chassis' length).
  2. In addition to physical depth, airflow is another major factor when determining whether a device is considered to consume both the front and rear faces of a rack.
  3. Physical access for cabling and FRU swaps is also typically a consideration when determining if the opposite rack unit is available.

Consider your own example of a 37"-deep PDU in a 42"-deep rack. Can we infer that the opposite rack unit is usable simply because 37 < 42? Probably not. And even if there are truly five free inches of space (which is unlikely), we probably don't want to consider these units as available when attempting to mount another deep device.

@jeremystretch commented on GitHub (Dec 14, 2023): I see what you're after, but I'm afraid your proposal ignores some important realities: 1. The cited length of a device typically refers to the dimensions of the chassis, not the distance from its mounting bracket to its rear (which can be less than the chassis' length). 2. In addition to physical depth, airflow is another major factor when determining whether a device is considered to consume both the front and rear faces of a rack. 3. Physical access for cabling and FRU swaps is also typically a consideration when determining if the opposite rack unit is available. Consider your own example of a 37"-deep PDU in a 42"-deep rack. Can we infer that the opposite rack unit is usable simply because 37 < 42? Probably not. And even if there are truly five free inches of space (which is unlikely), we probably don't want to consider these units as available when attempting to mount another deep device.
Author
Owner

@DanSheps commented on GitHub (Dec 14, 2023):

While I agree with @jeremystretch thaht there are some issues, I do overall like the idea.

Perhaps there is some middle ground here, such as adding a "racked depth" to both DeviceType and Device models that can fill the gap, at least in points raised.

So there would be two properties:

  • True depth
  • Racked depth
@DanSheps commented on GitHub (Dec 14, 2023): While I agree with @jeremystretch thaht there are some issues, I do overall like the idea. Perhaps there is some middle ground here, such as adding a "racked depth" to both DeviceType and Device models that can fill the gap, at least in points raised. So there would be two properties: * True depth * Racked depth
Author
Owner

@bradley-rose commented on GitHub (Dec 15, 2023):

I appreciate the insight, @jeremystretch. I understand your design constraints around a feature like this. I'm just trying to find a way to satisfy our needs. Right now, our operations teams simply use Excel to document front and rear faces of racks. I would like to be able to migrate those workflows into NetBox, but without any form of depth assignments, that's not possible.

I appreciate your discussion, but unfortunately I have nothing left to add here. If you would like to close this as insufficient or sidelined given your position, that would be understandable.

@bradley-rose commented on GitHub (Dec 15, 2023): I appreciate the insight, @jeremystretch. I understand your design constraints around a feature like this. I'm just trying to find a way to satisfy our needs. Right now, our operations teams simply use Excel to document front and rear faces of racks. I would like to be able to migrate those workflows into NetBox, but without any form of depth assignments, that's not possible. I appreciate your discussion, but unfortunately I have nothing left to add here. If you would like to close this as insufficient or sidelined given your position, that would be understandable.
Author
Owner

@github-actions[bot] commented on GitHub (Mar 18, 2024):

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. NetBox is governed by a small group of core maintainers which means not all opened issues may receive direct feedback. Do not attempt to circumvent this process by "bumping" the issue; doing so will result in its immediate closure and you may be barred from participating in any future discussions. Please see our contributing guide.

@github-actions[bot] commented on GitHub (Mar 18, 2024): This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. NetBox is governed by a small group of core maintainers which means not all opened issues may receive direct feedback. **Do not** attempt to circumvent this process by "bumping" the issue; doing so will result in its immediate closure and you may be barred from participating in any future discussions. Please see our [contributing guide](https://github.com/netbox-community/netbox/blob/develop/CONTRIBUTING.md).
Author
Owner

@github-actions[bot] commented on GitHub (May 15, 2024):

This issue has been automatically closed due to lack of activity. In an effort to reduce noise, please do not comment any further. Note that the core maintainers may elect to reopen this issue at a later date if deemed necessary.

@github-actions[bot] commented on GitHub (May 15, 2024): This issue has been automatically closed due to lack of activity. In an effort to reduce noise, please do not comment any further. Note that the core maintainers may elect to reopen this issue at a later date if deemed necessary.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/netbox#8808