mirror of
https://github.com/netbox-community/netbox.git
synced 2026-01-11 21:10:29 +01:00
Deprecate topology maps feature #2259
Closed
opened 2025-12-29 17:24:11 +01:00 by adam
·
27 comments
No Branch/Tag Specified
main
update-changelog-comments-docs
feature-removal-issue-type
20911-dropdown
20239-plugin-menu-classes-mutable-state
21097-graphql-id-lookups
feature
fix_module_substitution
20923-dcim-templates
20044-elevation-stuck-lightmode
feature-ip-prefix-link
v4.5-beta1-release
20068-import-moduletype-attrs
20766-fix-german-translation-code-literals
20378-del-script
7604-filter-modifiers-v3
circuit-swap
12318-case-insensitive-uniqueness
20637-improve-device-q-filter
20660-script-load
19724-graphql
20614-update-ruff
14884-script
02496-max-page
19720-macaddress-interface-generic-relation
19408-circuit-terminations-export-templates
20203-openapi-check
fix-19669-api-image-download
7604-filter-modifiers
19275-fixes-interface-bulk-edit
fix-17794-get_field_value_return_list
11507-show-aggregate-and-rir-on-api
9583-add_column_specific_search_field_to_tables
v4.5.0
v4.4.10
v4.4.9
v4.5.0-beta1
v4.4.8
v4.4.7
v4.4.6
v4.4.5
v4.4.4
v4.4.3
v4.4.2
v4.4.1
v4.4.0
v4.3.7
v4.4.0-beta1
v4.3.6
v4.3.5
v4.3.4
v4.3.3
v4.3.2
v4.3.1
v4.3.0
v4.2.9
v4.3.0-beta2
v4.2.8
v4.3.0-beta1
v4.2.7
v4.2.6
v4.2.5
v4.2.4
v4.2.3
v4.2.2
v4.2.1
v4.2.0
v4.1.11
v4.1.10
v4.1.9
v4.1.8
v4.2-beta1
v4.1.7
v4.1.6
v4.1.5
v4.1.4
v4.1.3
v4.1.2
v4.1.1
v4.1.0
v4.0.11
v4.0.10
v4.0.9
v4.1-beta1
v4.0.8
v4.0.7
v4.0.6
v4.0.5
v4.0.3
v4.0.2
v4.0.1
v4.0.0
v3.7.8
v3.7.7
v4.0-beta2
v3.7.6
v3.7.5
v4.0-beta1
v3.7.4
v3.7.3
v3.7.2
v3.7.1
v3.7.0
v3.6.9
v3.6.8
v3.6.7
v3.7-beta1
v3.6.6
v3.6.5
v3.6.4
v3.6.3
v3.6.2
v3.6.1
v3.6.0
v3.5.9
v3.6-beta2
v3.5.8
v3.6-beta1
v3.5.7
v3.5.6
v3.5.5
v3.5.4
v3.5.3
v3.5.2
v3.5.1
v3.5.0
v3.4.10
v3.4.9
v3.5-beta2
v3.4.8
v3.5-beta1
v3.4.7
v3.4.6
v3.4.5
v3.4.4
v3.4.3
v3.4.2
v3.4.1
v3.4.0
v3.3.10
v3.3.9
v3.4-beta1
v3.3.8
v3.3.7
v3.3.6
v3.3.5
v3.3.4
v3.3.3
v3.3.2
v3.3.1
v3.3.0
v3.2.9
v3.2.8
v3.3-beta2
v3.2.7
v3.3-beta1
v3.2.6
v3.2.5
v3.2.4
v3.2.3
v3.2.2
v3.2.1
v3.2.0
v3.1.11
v3.1.10
v3.2-beta2
v3.1.9
v3.2-beta1
v3.1.8
v3.1.7
v3.1.6
v3.1.5
v3.1.4
v3.1.3
v3.1.2
v3.1.1
v3.1.0
v3.0.12
v3.0.11
v3.0.10
v3.1-beta1
v3.0.9
v3.0.8
v3.0.7
v3.0.6
v3.0.5
v3.0.4
v3.0.3
v3.0.2
v3.0.1
v3.0.0
v2.11.12
v3.0-beta2
v2.11.11
v2.11.10
v3.0-beta1
v2.11.9
v2.11.8
v2.11.7
v2.11.6
v2.11.5
v2.11.4
v2.11.3
v2.11.2
v2.11.1
v2.11.0
v2.10.10
v2.10.9
v2.11-beta1
v2.10.8
v2.10.7
v2.10.6
v2.10.5
v2.10.4
v2.10.3
v2.10.2
v2.10.1
v2.10.0
v2.9.11
v2.10-beta2
v2.9.10
v2.10-beta1
v2.9.9
v2.9.8
v2.9.7
v2.9.6
v2.9.5
v2.9.4
v2.9.3
v2.9.2
v2.9.1
v2.9.0
v2.9-beta2
v2.8.9
v2.9-beta1
v2.8.8
v2.8.7
v2.8.6
v2.8.5
v2.8.4
v2.8.3
v2.8.2
v2.8.1
v2.8.0
v2.7.12
v2.7.11
v2.7.10
v2.7.9
v2.7.8
v2.7.7
v2.7.6
v2.7.5
v2.7.4
v2.7.3
v2.7.2
v2.7.1
v2.7.0
v2.6.12
v2.6.11
v2.6.10
v2.6.9
v2.7-beta1
Solcon-2020-01-06
v2.6.8
v2.6.7
v2.6.6
v2.6.5
v2.6.4
v2.6.3
v2.6.2
v2.6.1
v2.6.0
v2.5.13
v2.5.12
v2.6-beta1
v2.5.11
v2.5.10
v2.5.9
v2.5.8
v2.5.7
v2.5.6
v2.5.5
v2.5.4
v2.5.3
v2.5.2
v2.5.1
v2.5.0
v2.4.9
v2.5-beta2
v2.4.8
v2.5-beta1
v2.4.7
v2.4.6
v2.4.5
v2.4.4
v2.4.3
v2.4.2
v2.4.1
v2.4.0
v2.3.7
v2.4-beta1
v2.3.6
v2.3.5
v2.3.4
v2.3.3
v2.3.2
v2.3.1
v2.3.0
v2.2.10
v2.3-beta2
v2.2.9
v2.3-beta1
v2.2.8
v2.2.7
v2.2.6
v2.2.5
v2.2.4
v2.2.3
v2.2.2
v2.2.1
v2.2.0
v2.1.6
v2.2-beta2
v2.1.5
v2.2-beta1
v2.1.4
v2.1.3
v2.1.2
v2.1.1
v2.1.0
v2.0.10
v2.1-beta1
v2.0.9
v2.0.8
v2.0.7
v2.0.6
v2.0.5
v2.0.4
v2.0.3
v2.0.2
v2.0.1
v2.0.0
v2.0-beta3
v1.9.6
v1.9.5
v2.0-beta2
v1.9.4-r1
v1.9.3
v2.0-beta1
v1.9.2
v1.9.1
v1.9.0-r1
v1.8.4
v1.8.3
v1.8.2
v1.8.1
v1.8.0
v1.7.3
v1.7.2-r1
v1.7.1
v1.7.0
v1.6.3
v1.6.2-r1
v1.6.1-r1
1.6.1
v1.6.0
v1.5.2
v1.5.1
v1.5.0
v1.4.2
v1.4.1
v1.4.0
v1.3.2
v1.3.1
v1.3.0
v1.2.2
v1.2.1
v1.2.0
v1.1.0
v1.0.7-r1
v1.0.7
v1.0.6
v1.0.5
v1.0.4
v1.0.3-r1
v1.0.3
1.0.0
Labels
Clear labels
beta
breaking change
complexity: high
complexity: low
complexity: medium
needs milestone
netbox
pending closure
plugin candidate
pull-request
severity: high
severity: low
severity: medium
status: accepted
status: backlog
status: blocked
status: duplicate
status: needs owner
status: needs triage
status: revisions needed
status: under review
topic: GraphQL
topic: Internationalization
topic: OpenAPI
topic: UI/UX
topic: cabling
topic: event rules
topic: htmx navigation
topic: industrialization
topic: migrations
topic: plugins
topic: scripts
topic: templating
topic: testing
type: bug
type: deprecation
type: documentation
type: feature
type: housekeeping
type: translation
Mirrored from GitHub Pull Request
Milestone
No items
No Milestone
Projects
Clear projects
No project
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: starred/netbox#2259
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @jeremystretch on GitHub (Jan 3, 2019).
Environment
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:
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.
@DanSheps commented on GitHub (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 commented on GitHub (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 commented on GitHub (Jan 4, 2019):
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 commented on GitHub (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
@jeremystretch commented on GitHub (Jan 4, 2019):
Please keep comments on-topic.
@tb-killa commented on GitHub (Jan 5, 2019):
Please provide (easier) API endpoint(s) for external applications to generate their own topology maps using data sourced from NetBox.
@hhsn commented on GitHub (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 commented on GitHub (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 commented on GitHub (Jan 8, 2019):
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 commented on GitHub (Jan 9, 2019):
we would like to know if there other tools can render topology based on netbox information.
@TheNetworkGuy commented on GitHub (Jan 9, 2019):
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 commented on GitHub (Jan 10, 2019):
@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 commented on GitHub (Jan 10, 2019):
@tb-killa That still adds development overhead to Jeremy and John, the primary maintainers, which is what they are trying to limit.
@tb-killa commented on GitHub (Jan 10, 2019):
@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 commented on GitHub (Jan 10, 2019):
conflicts with
I don't want to speak for John, but I won't be committing any more effort to the feature.
@sleeplessnight2 commented on GitHub (Jan 18, 2019):
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 commented on GitHub (Jan 22, 2019):
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 commented on GitHub (Feb 21, 2019):
I would prefer if this is implemented :
https://github.com/digitalocean/netbox/issues/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.
@dgomes87 commented on GitHub (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.
@fernandolcx commented on GitHub (May 19, 2019):
LibreNMS has a VERY NICE topology map feature.

@aaroneg commented on GitHub (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 commented on GitHub (Jul 23, 2019):
Is it reasonable to assume that this could be realized through a plugin as described by #3351?
@jeremystretch commented on GitHub (Jul 23, 2019):
@hellerve Sure, seems like an ideal use case for a plugin.
@hellerve commented on GitHub (Jul 23, 2019):
@jeremystretch That sounds great and like it could alleviate some of the community pains of this feature getting dropped :)
@tamatsuna commented on GitHub (Dec 6, 2019):
It is convenient to be able to use this easily.
https://github.com/codeout/inet-henge
@augustocrmattos commented on GitHub (Jan 23, 2020):
Anyone knows an application that can read data from Netbox and create a Topology map?
@jeremystretch commented on GitHub (Jan 23, 2020):
@projetopqdb Please direct your question to the mailing list as this issue has been closed.