Prevent devices being added to reserved rack positions #3985

Closed
opened 2025-12-29 18:32:28 +01:00 by adam · 7 comments
Owner

Originally created by @amuckart on GitHub (Aug 14, 2020).

Environment

  • Python version: 3.6.9
  • NetBox version: 2.8.9

Proposed Functionality

When a rack position has a reservation associated with it, it should not be possible to add a device in that position without amending the reservation.

Use Case

At the moment if a rack position has a reservation, the 'add device' link still shows up and allows a device to be placed there without interacting with the reservation in any way.

This can lead to reservations being ignored, or reservations not being removed when the related equipment is installed. It can also mean someone can accidentally overlap a reservation by putting a 2U device in the position immediately below a reservation.

It would be good if reservations had to be explicitly removed to allow the placement of devices in the reserved positions, and if reserved positions didn't show up in the selectable list of positions when adding a device.

Database Changes

I don't know, sorry.

External Dependencies

None I can think of.

Originally created by @amuckart on GitHub (Aug 14, 2020). <!-- NOTE: IF YOUR ISSUE DOES NOT FOLLOW THIS TEMPLATE, IT WILL BE CLOSED. This form is only for proposing specific new features or enhancements. If you have a general idea or question, please post to our mailing list instead of opening an issue: https://groups.google.com/forum/#!forum/netbox-discuss NOTE: Due to an excessive backlog of feature requests, we are not currently accepting any proposals which significantly extend NetBox's feature scope. Please describe the environment in which you are running NetBox. Be sure that you are running an unmodified instance of the latest stable release before submitting a bug report. --> ### Environment * Python version: 3.6.9 * NetBox version: 2.8.9 <!-- Describe in detail the new functionality you are proposing. Include any specific changes to work flows, data models, or the user interface. --> ### Proposed Functionality When a rack position has a reservation associated with it, it should not be possible to add a device in that position without amending the reservation. <!-- Convey an example use case for your proposed feature. Write from the perspective of a NetBox user who would benefit from the proposed functionality and describe how. ---> ### Use Case At the moment if a rack position has a reservation, the 'add device' link still shows up and allows a device to be placed there without interacting with the reservation in any way. This can lead to reservations being ignored, or reservations not being removed when the related equipment is installed. It can also mean someone can accidentally overlap a reservation by putting a 2U device in the position immediately below a reservation. It would be good if reservations had to be explicitly removed to allow the placement of devices in the reserved positions, and if reserved positions didn't show up in the selectable list of positions when adding a device. <!-- Note any changes to the database schema necessary to support the new feature. For example, does the proposal require adding a new model or field? (Not all new features require database changes.) ---> ### Database Changes I don't know, sorry. <!-- List any new dependencies on external libraries or services that this new feature would introduce. For example, does the proposal require the installation of a new Python package? (Not all new features introduce new dependencies.) --> ### External Dependencies None I can think of.
adam added the type: featurepending closurestatus: under review labels 2025-12-29 18:32:28 +01:00
adam closed this issue 2025-12-29 18:32:28 +01:00
Author
Owner

@jeremystretch commented on GitHub (Aug 14, 2020):

This was considered when rack reservations were initially implemented. After some experimentation, I found that forcing the modification or deletion of a reservation prior to the installation of a device was disruptive to the workflow and led to user frustration. Additionally, enabling the reservation of currently occupied units within a rack allows the user to designate a future use without having to delete the devices which are already present. IMO, the current behavior is preferable.

@jeremystretch commented on GitHub (Aug 14, 2020): This was considered when rack reservations were initially implemented. After some experimentation, I found that forcing the modification or deletion of a reservation prior to the installation of a device was disruptive to the workflow and led to user frustration. Additionally, enabling the reservation of currently occupied units within a rack allows the user to designate a future use without having to delete the devices which are already present. IMO, the current behavior is preferable.
Author
Owner

@xkilian commented on GitHub (Aug 14, 2020):

Without changing the current logic.
I would suggest that the current workflow could be improved by having a popup notification (space is reserved for blah blah by xx) when assigning a device to a position that is reserved, and maybe easing the complete workflow by providing a link to open another browser tab to modify/update the involved reservation (if the change is related to the reservation).
I haven't worked with reservations so maybe this is already there..

@xkilian commented on GitHub (Aug 14, 2020): Without changing the current logic. I would suggest that the current workflow could be improved by having a popup notification (space is reserved for blah blah by xx) when assigning a device to a position that is reserved, and maybe easing the complete workflow by providing a link to open another browser tab to modify/update the involved reservation (if the change is related to the reservation). I haven't worked with reservations so maybe this is already there..
Author
Owner

@jeremystretch commented on GitHub (Aug 18, 2020):

@xkilian the current UI framework unfortunately doesn't provide this sort of functionality without a disproportionate amount of effort.

@jeremystretch commented on GitHub (Aug 18, 2020): @xkilian the current UI framework unfortunately doesn't provide this sort of functionality without a disproportionate amount of effort.
Author
Owner

@xkilian commented on GitHub (Aug 19, 2020):

Could a banner message or any other way be used to flag/communitate the information to the user within the workflow that this position is reserved and its state should be updated if applicable?

I would also suggest having the information that a reserved position DDD in rack XXX was assigned/used by ZZZ in the change log.

@xkilian commented on GitHub (Aug 19, 2020): Could a banner message or any other way be used to flag/communitate the information to the user within the workflow that this position is reserved and its state should be updated if applicable? I would also suggest having the information that a reserved position DDD in rack XXX was assigned/used by ZZZ in the change log.
Author
Owner

@yarnocobussen commented on GitHub (Aug 20, 2020):

Additionally, enabling the reservation of currently occupied units within a rack allows the user to designate a future use without having to delete the devices which are already present. IMO, the current behavior is preferable.

Losing this functionality would probably be detrimental to many organizations. We're using this as well.

I can imagine the proposed behaviour could be added as a switch in configuration.py, in case this goes through. A simple true/false for enforcing or not enforcing clearing reservations first, with the default being not enforcing.

@yarnocobussen commented on GitHub (Aug 20, 2020): > Additionally, enabling the reservation of currently occupied units within a rack allows the user to designate a future use without having to delete the devices which are already present. IMO, the current behavior is preferable. Losing this functionality would probably be detrimental to many organizations. We're using this as well. I can imagine the proposed behaviour could be added as a switch in configuration.py, in case this goes through. A simple true/false for enforcing or not enforcing clearing reservations first, with the default being not enforcing.
Author
Owner

@stale[bot] commented on GitHub (Oct 4, 2020):

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. Please see our contributing guide.

@stale[bot] commented on GitHub (Oct 4, 2020): 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. Please see our [contributing guide](https://github.com/netbox-community/netbox/blob/develop/CONTRIBUTING.md).
Author
Owner

@stale[bot] commented on GitHub (Oct 19, 2020):

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.

@stale[bot] commented on GitHub (Oct 19, 2020): 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#3985