-
Notifications
You must be signed in to change notification settings - Fork 2.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Show parent object in IP interface assignment UI #14548
Comments
Related to #12751, a narrower scope. |
Thanks for the FR! To be sure that we've correctly understood the proposed functionality, can you please confirm that you're asking for the name of the interface's parent (Device or VM) be shown alongside each potential interface? If this isn't quite right, please set me straight. |
As a note to our future selves, @jeremystretch thinks this FR describes a narrower, entirely valid, and more readily achievable subset of what's described in #13283. |
That is correct, the interface parent object name (device or vm) besides the interface name for display purposes. The bit you left out is I'm also requesting the "find as you type" lookup would work based on this value as well. |
added a edit to the original submission for the 1st screenshot defining where the values come from. In the screen shot example Netbox01 is the device/vm name and ens192 is the interface name |
The filtering logic is decoupled from the displayed label, and is handled by the |
This only tackles IP interface assignment, not any of the many other use-cases for #13283. I think this would be a good intermediate step, if there is a need, however I don't think abandoning work on #13283 would be wise. There is definitely a need elsewhere for this same functionality (VLAN, Locations, Regions, etc) elsewhere. |
I'm going to disagree with users wanting to be able to find interfaces based on their parent when they are specifically looking for interfaces to add a IP to. This FR is based on feedback from users I support who unanimously told me they wanted to search for interfaces by finding the parent first. In general interface names are common on different hosts, searching for eth0 for instance could return 1000's of results, where are the host name itself is unique. The specific use case I'm thinking of is where a user is creating a IP or has found an existing IP and wants to assign it to a existing host (device or vm) and interface, very common for the users I support. The feedback I got was the old system where you could search for the device/vm then interface
was a lot simpler and easier to use than the new search pop up where you have to
and not just in the number of steps but the complexity too. The new search pop up is very powerful which means it is also complex compared to a tab and 2 fields that existed previously, at the moment users have to use it 100% of the time when assigning IP's to existing device/vm interfaces. This last point isn't a huge problem, but it is a repetitive problem if a user spends lot of time assigning IP's to existing hosts/interfaces. To be clear I like the new advanced filtering pop up, it is a excellent tool for the 5% of the time, but for the majority of users I'm spoken to it is more complex and more work to do the data entry. |
Conversely, matching interfaces by device name would return all the interfaces for that device, defeating its purpose. This is my point, and it's one of the reasons none of the general purpose |
This is true, I know users who have 1000's of interfaces on a single host and I'm not suggesting we solve one problem and introduce another one. The solution I see would to be able to "find as you type" both the parent and interface. I just tested find as you type and it isn't promiscuous enough for This is why I suggested that that a new field be added @jeremystretch if you aren't opposed to the idea all together I have some time next week, late next week :),. It might be a small enough problem for me to create a proof of concept. |
This would be a separate FR then, IMO. While I think it is handy to be able to search for the parent myself, you are still going to have to sift through the list of interfaces to find the appropriate interface.
And this FR would be a step towards making it easier. You can already filter specifically by device though by using the selector.
You should be using the interface selector in that instance. |
NetBox version
v3.6.7
Feature type
Change to existing functionality
Proposed functionality
Make the following changes to the
Interface
field UI on IP Address assignment.In the screen shot example Netbox01 is the device/vm name and ens192 is the interface name
There would be no change to the stored data, this is purely a change to the UI that shows the relationship between a interface and it's parent.
Narrowed FR from this comment by @jeremystretch in #12751 (comment)_
Use case
It would make assigning interfaces to IP addresses dramatically simpler and quicker as the user would only need to select the correct type and enter the parent object name, the parent name is generally globally unique unlike the interface names which are unique to the parent only and commonly the same across multiple devices.
Currently the user needs to open an advanced search window and find interfaces for the parent from there.
When editing a ip address with an existing assigned interface and parent the user needs to close the editing window to see what the assigned parent is.
By adding the parent to the UI value only users would also be able to see the parent object in the edit window which is useful as a cross reference when doing a lot of data entry or they are distracted while working.
Database changes
The database wouldn't need any changes.
I'm not sure if the model currently support find as you type over multiple fields, it could be the solution is a
display_parent_interface
field which contains the name of the parent and interface and is used by find as you type and for display of the interface name in IP address editing.External dependencies
No response
The text was updated successfully, but these errors were encountered: