Skip to content
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

Deprecate topology maps feature #2745

Closed
jeremystretch opened this issue Jan 3, 2019 · 28 comments
Closed

Deprecate topology maps feature #2745

jeremystretch opened this issue Jan 3, 2019 · 28 comments
Labels
status: accepted This issue has been accepted for implementation type: deprecation Removal of existing functionality or behavior
Milestone

Comments

@jeremystretch
Copy link
Member

Environment

  • Python version: 3.5.2
  • NetBox version: 2.5.2

Proposed Change

Remove the topology maps feature from NetBox.

Justification

NetBox currently includes an ancillary feature known as "topology maps." This feature will generate a graph of all the connections among an arbitrary set of devices using the graphviz library. It was originally added as a "toy:" a minimal implementation intended to serve merely as an opportunistic convenience.

Since NetBox's release, there have been several requests (#621, #1467, #1827) to extend the functionality of topology maps well beyond its current form. I've closed all of these requests as developing the tool any further is outside NetBox's scope as a DCIM/IPAM application. We've also received numerous bug reports (both valid and invalid) dealing with graphviz integration.

In the discussions around extending the feature, several facts have become obvious:

  1. The topology maps feature could be much, much better.
  2. Different users have drastically different use cases for the feature.
  3. Graphviz integration is a pain.
  4. The core maintainers don't have the time or interest in developing the feature any further.
  5. The degree of functionality requested by many users justifies a standalone application.
  6. NetBox's API makes (or with a bit of work, could make) it feasible to accomplish the desired functionality via an external application.

In light of these points, I think it makes sense to remove the feature from NetBox entirely, and instead work on making it easier for external applications to generate their own topology maps using data sourced from NetBox.

@jeremystretch jeremystretch added the status: under review Further discussion is needed to determine this issue's scope and/or implementation label Jan 3, 2019
@DanSheps
Copy link
Member

DanSheps commented Jan 3, 2019

I am conflicted about this.

I think as it is the topology map is in a state where it is usable for it's intended purpose. I think it if was developed further it would be amazing, however...

I don't think you or John should be the ones developing it or getting stuck with the feature requests for it. I think you guys should be able to focus on the core of Netbox and not have to deal with this little fiddly stuff like the topology map and this should be picked up by the community and development should be done by the community, with @lampwins and yourself enforcing the coding standards and quality (or perhaps delegate that to some trusted reviewers).

I think vizjs or something similar is where this should be implemented (frontend and not backend) and should be perhaps done in the netbox-community that @lampwins has.

So, it gets my support, begrudgingly 👍...

@TheNetworkGuy
Copy link

TheNetworkGuy commented Jan 4, 2019

Same here. I would rather see development on core features that can reach more users than the (tiny?) amount of users who actually use the topology map on a regular basis.

@snowie-swe
Copy link

The drawings could be removed for sure, but it would be great if implementing more filtering options to representing the topology such as device groups, similar to vlan groups.

@DanSheps
Copy link
Member

DanSheps commented Jan 4, 2019

@snowie-swe, I don't think device groups are the answer to the problem you are trying to solve as that is already covered under:

Sites/Rack Groups
or
Device Types

@netbox-community netbox-community deleted a comment from snowie-swe Jan 4, 2019
@jeremystretch
Copy link
Member Author

Please keep comments on-topic.

@tb-killa
Copy link
Contributor

tb-killa commented Jan 5, 2019

Please provide (easier) API endpoint(s) for external applications to generate their own topology maps using data sourced from NetBox.

@hhsn
Copy link

hhsn commented Jan 6, 2019

@jeremystretch
please don't remove this feature unless there is better replacement as Netbox user the "topology maps" feature with all issue exist still can help us to trace and understand some issues.

Thanks.

@kopacko
Copy link

kopacko commented Jan 8, 2019

Please do NOT remove the topology function. It may be a pain but has a very clear and concise use. If it cannot be updated until later on down the road, so be it. But removing it entirely would be detrimental to many of my clients of whom I have converted to Netbox.

@jeremystretch
Copy link
Member Author

If it cannot be updated until later on down the road, so be it.

This is one of the points identified above. It's not going to be improved, at any point, because it's not a primary focus of NetBox development.

@hhsn
Copy link

hhsn commented Jan 9, 2019

If it cannot be updated until later on down the road, so be it.

This is one of the points identified above. It's not going to be improved, at any point, because it's not a primary focus of NetBox development.

we would like to know if there other tools can render topology based on netbox information.

@TheNetworkGuy
Copy link

If it cannot be updated until later on down the road, so be it.

This is one of the points identified above. It's not going to be improved, at any point, because it's not a primary focus of NetBox development.

we would like to know if there other tools can render topology based on netbox information.

Using the Netbox API to render maps shouldn't be that difficult. In its most simplest form just query all cables / devices and link them together in a HTML page using something like Graphviz.

@tb-killa
Copy link
Contributor

@jeremystretch : What about replacing the Deprecate topology maps feature in detail "Graphviz" with the JS based site topology map (#1827) ? This would allow to work without external dependencys and doesnt need special configurations.

@DanSheps
Copy link
Member

@tb-killa That still adds development overhead to Jeremy and John, the primary maintainers, which is what they are trying to limit.

@tb-killa
Copy link
Contributor

@DanSheps Yes this will adds first development overhead but i think if graphviz is removed and the replacement with "vis.js" is implemented we can stay with it. The Problem with Graphviz are multiple sourced .. first the dependencys and second the configurations for generate the "maps".
Here the Users could do stupid stuff while "code" the result.

I think netbox should remove graphviz but allow simple connection drawing (connection-shower) inside the gui themselve to get a simple overview.
At this "vis.js" implementation like mentioned before would be the best, because here you doesnt could configure .. only show actually connections in nice looking and movable Art.

I agree that the completed #1827 Implementation are overheaded and i´m not the fan of this "add device" stuff implemented by this addon.

@jeremystretch
Copy link
Member Author

jeremystretch commented Jan 10, 2019

replacement with "vis.js"

conflicts with

  1. The core maintainers don't have the time or interest in developing the feature any further.

I don't want to speak for John, but I won't be committing any more effort to the feature.

@sleeplessnight2
Copy link

Please do NOT remove the topology function. It may be a pain but has a very clear and concise use. If it cannot be updated until later on down the road, so be it. But removing it entirely would be detrimental to many of my clients of whom I have converted to Netbox.

I got the same opinion. You do not need to develop it, but do not remove it.

If those little "non-core bonuses" were, where would it be - apart from the design - a difference to the other alternatives?

Often it is the small extras that make a system particularly valuable. Everyone can do "simple"...

@DanSheps
Copy link
Member

What if this module was deprecated over the next few major releases, so there is an understanding that this won't be developed further. That would give the community time to develop a replacement.

@tb-killa
Copy link
Contributor

I would prefer if this is implemented :
#969

you could remove this graphviz stuff because we could build URLs with device informations and let the own application external get via API the needing informations to draw or render the needing visuals.

@jeremystretch jeremystretch added status: accepted This issue has been accepted for implementation type: deprecation Removal of existing functionality or behavior and removed status: under review Further discussion is needed to determine this issue's scope and/or implementation labels Feb 21, 2019
@dgomes87
Copy link

dgomes87 commented Mar 12, 2019

While I agree it could use some work, but that developing it further doesn't seem ideal, I disagree with removing it in the near future. As you mention in points 5 and 6 a dedicated app, and ideally fed through the API, would be ideal. The issue is, is there such an app, easily accessible to users of netbox who are not developers? For example in my organization we're all just a bunch of datacenter technicians, we don't do in-house development, messing with the API and finding or developing a third party app to replace a feature that already exists in netbox (as basic as it may be) is not at all in our job descriptions and the time will never be allocated/approved to doing so. I would be curious how many other organizations are in the same boat.

I think this is the kind of scenario where a system for plugins would be justified, to allow people to develop and easily distribute functionality for netbox without having issues every time there is an update.

@jeremystretch jeremystretch added this to the v2.7 milestone May 2, 2019
@fernandolcx
Copy link

LibreNMS has a VERY NICE topology map feature.
image

@aaroneg
Copy link
Contributor

aaroneg commented Jun 20, 2019

I agree, for what it's worth. If it's not a feature that will be fleshed out fully, it should be dropped.

@hellerve
Copy link
Contributor

Is it reasonable to assume that this could be realized through a plugin as described by #3351?

@jeremystretch
Copy link
Member Author

@hellerve Sure, seems like an ideal use case for a plugin.

@hellerve
Copy link
Contributor

@jeremystretch That sounds great and like it could alleviate some of the community pains of this feature getting dropped :)

@tamatsuna
Copy link

It is convenient to be able to use this easily.
https://github.com/codeout/inet-henge

@augustocrmattos
Copy link

Anyone knows an application that can read data from Netbox and create a Topology map?

@jeremystretch
Copy link
Member Author

@projetopqdb Please direct your question to the mailing list as this issue has been closed.

@netbox-community netbox-community locked as resolved and limited conversation to collaborators Jan 23, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
status: accepted This issue has been accepted for implementation type: deprecation Removal of existing functionality or behavior
Projects
None yet
Development

No branches or pull requests

15 participants