Unable to Add Devices to Device Bays #5327

Closed
opened 2025-12-29 19:26:41 +01:00 by adam · 7 comments
Owner

Originally created by @IBuildRobots on GitHub (Sep 7, 2021).

NetBox version

v3.0.1

Python version

3.7

Steps to Reproduce

  1. Create a new parent device of any size. Ex: I created a "4RU shelf" that was full depth.
  2. Create a new child object. Ex: I created a Synology NAS
  3. Edit the parent device and select "Add Components/Device Bays"
  4. Create at least one Bay.
  5. Attempt to Edit the Device Bay and add the child object. Result: No child objects are listed. Searches also do not work.

Expected Behavior

Child devices should appear and should be able to be selected/added to the parent device.

Observed Behavior

No devices showed up to be added to the parent device.

Originally created by @IBuildRobots on GitHub (Sep 7, 2021). ### NetBox version v3.0.1 ### Python version 3.7 ### Steps to Reproduce 1. Create a new parent device of any size. Ex: I created a "4RU shelf" that was full depth. 2. Create a new child object. Ex: I created a Synology NAS 3. Edit the parent device and select "Add Components/Device Bays" 4. Create at least one Bay. 5. Attempt to Edit the Device Bay and add the child object. Result: No child objects are listed. Searches also do not work. ### Expected Behavior Child devices should appear and should be able to be selected/added to the parent device. ### Observed Behavior No devices showed up to be added to the parent device.
adam closed this issue 2025-12-29 19:26:41 +01:00
Author
Owner

@IBuildRobots commented on GitHub (Sep 7, 2021):

Correction on the python version. The container is using 3.9.5 from the https://github.com/ninech/netbox-docker.git repo.

@IBuildRobots commented on GitHub (Sep 7, 2021): Correction on the python version. The container is using 3.9.5 from the https://github.com/ninech/netbox-docker.git repo.
Author
Owner

@jeremystretch commented on GitHub (Sep 7, 2021):

  1. Create a new child object. Ex: I created a Synology NAS

Did you set the subdevice role of this device type to child?

Also, this isn't typically how one would use device bays. A shelf doesn't have discrete bays into which child devices can be installed. The recommended approach would be to attach the NAS to the rack as an "unracked" device, meaning it has no specific position/face assigned.

@jeremystretch commented on GitHub (Sep 7, 2021): > 2. Create a new child object. Ex: I created a Synology NAS Did you set the subdevice role of this device type to child? Also, this isn't typically how one would use device bays. A shelf doesn't have discrete bays into which child devices can be installed. The recommended approach would be to attach the NAS to the rack as an "unracked" device, meaning it has no specific position/face assigned.
Author
Owner

@IBuildRobots commented on GitHub (Sep 8, 2021):

I did set the subdevice role as a child.

I understand that one wouldn't logically create a shelf as a parent and a SAN as a child. It's normally used for something like a modular device such as a Cisco router with modules or a Dell M1000E chassis with blades in it, although that scenario wouldn't work either with what I was seeing as the problem. Basically, the software isn't populating the list of child objects available when you try to add them to a parent object.

So, the Synology NAS that I'm using (DS418) only occupies 1/2 a rack wide and not even half of the rack deep from front to back. I'd have to make some type of chassis assembly to install them into (the parent), which is effectively what I was using the shelf for so that I could stack them next to each other (or at the same RU). I've done this successfully with version 2.5.2 of the product in the past.

I've attached images to show that I have correctly configured the components.

Rack Diagram with shelf in place
Rack Front and back

Parent shelf
Dell 4RU shelf

Child Synology NAS's
DS418 Child

4U Shelf with 2 vacant bays
4RU shelf bays

No child objects available to add
no children

I hope this helps explain things better. If there's something I missed, please let me know.

Wayne

@IBuildRobots commented on GitHub (Sep 8, 2021): I did set the subdevice role as a child. I understand that one wouldn't logically create a shelf as a parent and a SAN as a child. It's normally used for something like a modular device such as a Cisco router with modules or a Dell M1000E chassis with blades in it, although that scenario wouldn't work either with what I was seeing as the problem. Basically, the software isn't populating the list of child objects available when you try to add them to a parent object. So, the Synology NAS that I'm using (DS418) only occupies 1/2 a rack wide and not even half of the rack deep from front to back. I'd have to make some type of chassis assembly to install them into (the parent), which is effectively what I was using the shelf for so that I could stack them next to each other (or at the same RU). I've done this successfully with version 2.5.2 of the product in the past. I've attached images to show that I have correctly configured the components. Rack Diagram with shelf in place ![Rack Front and back](https://user-images.githubusercontent.com/89949096/132441550-6bb47f8c-d93e-42c2-b4f9-3f57496c5151.PNG) Parent shelf ![Dell 4RU shelf](https://user-images.githubusercontent.com/89949096/132441677-bfcb3a72-8935-4a06-9a4e-4fb8d309c1a6.PNG) Child Synology NAS's ![DS418 Child](https://user-images.githubusercontent.com/89949096/132441789-f6464346-42f4-4fe8-abb0-671784ff7d24.PNG) 4U Shelf with 2 vacant bays ![4RU shelf bays](https://user-images.githubusercontent.com/89949096/132441873-7c0d1476-5027-48c8-a23b-a559401b55da.PNG) No child objects available to add ![no children](https://user-images.githubusercontent.com/89949096/132441939-640ad32b-1f50-4cf9-85c4-3f3b709cadef.PNG) I hope this helps explain things better. If there's something I missed, please let me know. Wayne
Author
Owner

@fjasboka commented on GitHub (Sep 8, 2021):

Is the childe device placed in the rack? I recreated your setup and was not able to add the child device to an bay before I had assigned it to the rack.

@fjasboka commented on GitHub (Sep 8, 2021): Is the childe device placed in the rack? I recreated your setup and was not able to add the child device to an bay before I had assigned it to the rack.
Author
Owner

@IBuildRobots commented on GitHub (Sep 9, 2021):

I did as you said and yes, it can be done in that manner. But, does that really make any sense to have to do it that way? So, you are telling me that I have to go to each device that is installed in another component in a rack and assign it to the rack and then I can assign it to the main component in the rack. It is not a logical assignment method.

There are many, many order of operations issues I have with NetBox and this is just another one of them. If this is going to be a solid solution, there should never be an order of operations precedence like this. ie: Let's say that I start to create a Dell R650 server (Device Type) but get in there and realize that I haven't created the manufacturer of Dell first, there should be a + button there to add that manufacturer to the database without needing to exit from the action I'm performing. Look at any modern application like a Fortinet firewall rule and you'll see those types of abilities. If you were to create these types of methods, you'd be well on your way to competing with enterprise type systems.

I get it. NetBox is open source, but it'll always remain low on the tiers if developers think like they're bottom tier.

@IBuildRobots commented on GitHub (Sep 9, 2021): I did as you said and yes, it can be done in that manner. But, does that really make any sense to have to do it that way? So, you are telling me that I have to go to each device that is installed in another component in a rack and assign it to the rack and then I can assign it to the main component in the rack. It is not a logical assignment method. There are many, many order of operations issues I have with NetBox and this is just another one of them. If this is going to be a solid solution, there should never be an order of operations precedence like this. ie: Let's say that I start to create a Dell R650 server (Device Type) but get in there and realize that I haven't created the manufacturer of Dell first, there should be a + button there to add that manufacturer to the database without needing to exit from the action I'm performing. Look at any modern application like a Fortinet firewall rule and you'll see those types of abilities. If you were to create these types of methods, you'd be well on your way to competing with enterprise type systems. I get it. NetBox is open source, but it'll always remain low on the tiers if developers think like they're bottom tier.
Author
Owner

@ziggekatten commented on GitHub (Sep 9, 2021):

I think it makes perfect sense. In our case with thousands of devices, not having this filtering would be a mess.

Yes, it is open source, and that is not a limitation, rather it means that anyone can contribute with use cases, and if you like even code.

I suggest that you raise feature requests for your use cases, as that is what drives Netbox forward.

@ziggekatten commented on GitHub (Sep 9, 2021): I think it makes perfect sense. In our case with thousands of devices, not having this filtering would be a mess. Yes, it is open source, and that is not a limitation, rather it means that anyone can contribute with use cases, and if you like even code. I suggest that you raise feature requests for your use cases, as that is what drives Netbox forward.
Author
Owner

@jeremystretch commented on GitHub (Sep 9, 2021):

But, does that really make any sense to have to do it that way?

Yes, for actual child devices it makes perfect sense. But as I mentioned above, that's not what you need. The device you're modeling isn't installed within a parent device; it's just a free-standing device situated on a shelf. You shouldn't be using device bays at all.

Closing this out as it's not a bug.

@jeremystretch commented on GitHub (Sep 9, 2021): > But, does that really make any sense to have to do it that way? Yes, for actual child devices it makes perfect sense. But as I mentioned [above](https://github.com/netbox-community/netbox/issues/7194#issuecomment-914447117), that's not what you need. The device you're modeling isn't installed within a parent device; it's just a free-standing device situated on a shelf. You shouldn't be using device bays at all. Closing this out as it's not a bug.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/netbox#5327