Closed IBuildRobots closed 2 years ago
Correction on the python version. The container is using 3.9.5 from the https://github.com/ninech/netbox-docker.git repo.
- 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.
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
Parent shelf
Child Synology NAS's
4U Shelf with 2 vacant bays
No child objects available to add
I hope this helps explain things better. If there's something I missed, please let me know.
Wayne
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.
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.
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.
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.
NetBox version
v3.0.1
Python version
3.7
Steps to Reproduce
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.