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.16k stars 2.59k forks source link

Enhance device > rack assignment with "assign" #15045

Open dejantep opened 9 months ago

dejantep commented 9 months ago

NetBox version

3.5.7

Feature type

Change to existing functionality

Proposed functionality

Open for "assigning device to rack" based on the same approach as when assigning ip-address.

Today, user has possibility to "add device" directly by clicking on available rack unit. That opens dialog to create device. It would be user friendly to also give user a chance to assign specific device to this rack unit. Users would choose from list of devices from particular site.

Use case

Having ability to assign device to rack by clicking on empty rack unit would improve usability of this feature by far.

Database changes

none

External dependencies

none

jeffgdotorg commented 9 months ago

This feature makes a lot of sense. Would you please map out the flow you imagine the user entering after clicking the "assign" control? Please include:

dejantep commented 9 months ago

My intitial thought is function similar to ip-address assignment to interface. When you get to device > interface and click on button to add ip-adress your are presented with two options(tabs), create and assign.

This would be equally excellent approach for rack assignment.

  1. Go to site > rack and click on empty RU.
  2. Dialog opens with two options, create and assign. Create option is already at place and doesnt need any modfication
  3. If you choose assign you get two dropdown options a. First dropdown is list of sites b. Second dropdown is list of devices from that site
  4. Done

image

This also means that you would be able to select another site and move device from site to site BUT that could be an issue because of cables and connections. It could be prohibited with a warning saying "Remove all cables first"(preferred). This is what you would do in real life situation. OR You could maybe limit dropdown to only that site where rack actually is.

xkilian commented 9 months ago

I would suggest having these four choices.

  1. Create, (as described).
  2. Assign, it should be scope limited to devices in the site.It should filter only to unracked devices.
  3. Reassign in rack, would permit moving devices from within the selected rack only (keeping all cables connected).
  4. Move from site could also be an additionnal fourth option, but should be scope limited to devices with No connections to any type of interface. A filter to select the site, should default to current site. This way the intent is clear between moving a device versus initial assign of a device.
dejantep commented 9 months ago

Those are some really good suggestions. I personally would be content with Assign to begin with. And as you mentioned it makes sense to limit the scope to devices in the site that are non-racked.

abhi1693 commented 9 months ago

Here is another implementation that was closed for device assignment https://github.com/netbox-community/netbox/pull/8876

dejantep commented 9 months ago

Hopefully they'll give it another shot. I belive this is relatively minor change but step forward for ease of use.

github-actions[bot] commented 5 months ago

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.

jeremystretch commented 5 months ago

I'm opening this for volunteers under the condition that only a maintainable implementation which does not deviate substantial from existing conventions will be accepted. Per my comment here we specifically want to avoid past mistakes involving snowflake views & templates which are difficult to maintain over time.

github-actions[bot] commented 2 months ago

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.