Move NAPALM proxy functionality to a plugin #7055

Closed
opened 2025-12-29 19:48:25 +01:00 by adam · 5 comments
Owner

Originally created by @jeremystretch on GitHub (Sep 30, 2022).

Originally assigned to: @arthanson on GitHub.

NetBox version

v3.3.4

Feature type

Change to existing functionality

Proposed functionality

Move all NALPAM functionality out of NetBox core into a separate plugin that users can install as needed. (This is similar to what we did with secrets in v3.0; see #5278.) This includes:

  • Removing the /api/dcim/devices/$id/napalm/ endpoint
  • Removing the device status, LLDP neighbors, and configuration UI views
  • Removing the napalm_driver and napalm_args from the Platform model

Replicating this functionality in a plugin will require the completion of #9072, to enable the injection of object detail view tabs. Additionally, it will likely require a change to the REST API endpoint.

Use case

NetBox's NAPALM API proxy was never intended to be more than a convenience, and is not encompassed by NetBox's core mission of serving as a source of truth. Additionally, issues concerning changes to NAPALM functionality distract from core development. Some examples include:

Moving this feature into a standalone project should help draw more development interest, as it will no longer have to compete for attention among core development efforts. It also opens the door for additional functionality via the introduction of new models and API endpoints.

Database changes

No response

External dependencies

No response

Originally created by @jeremystretch on GitHub (Sep 30, 2022). Originally assigned to: @arthanson on GitHub. ### NetBox version v3.3.4 ### Feature type Change to existing functionality ### Proposed functionality Move all NALPAM functionality out of NetBox core into a separate plugin that users can install as needed. (This is similar to what we did with secrets in v3.0; see #5278.) This includes: - Removing the `/api/dcim/devices/$id/napalm/` endpoint - Removing the device status, LLDP neighbors, and configuration UI views - Removing the `napalm_driver` and `napalm_args` from the Platform model Replicating this functionality in a plugin will require the completion of #9072, to enable the injection of object detail view tabs. Additionally, it will likely require a change to the REST API endpoint. ### Use case NetBox's NAPALM API proxy was never intended to be more than a convenience, and is not encompassed by NetBox's core mission of serving as a source of truth. Additionally, issues concerning changes to NAPALM functionality distract from core development. Some examples include: - #4980 - #7197 - #8079 - #8152 - #8861 - #10468 - #10518 Moving this feature into a standalone project should help draw more development interest, as it will no longer have to compete for attention among core development efforts. It also opens the door for additional functionality via the introduction of new models and API endpoints. ### Database changes _No response_ ### External dependencies _No response_
adam added the status: acceptedtype: feature labels 2025-12-29 19:48:25 +01:00
adam closed this issue 2025-12-29 19:48:25 +01:00
Author
Owner

@PieterL75 commented on GitHub (Oct 17, 2022):

I'd really love to see a SuzieQ integration also :-)
not as realtime as napalm, but is for sure will be faster :-)

@PieterL75 commented on GitHub (Oct 17, 2022): I'd really love to see a SuzieQ integration also :-) not as realtime as napalm, but is for sure will be faster :-)
Author
Owner

@ryanmerolle commented on GitHub (Oct 22, 2022):

I'd really love to see a SuzieQ integration also :-) not as realtime as napalm, but is for sure will be faster :-)

This would really help users who want to integrate applications like suzie-q, librenms, zabbix, IP Fabric, Forward Networks, and the like by providing a reference model. I'm not sure the maintainer team is volunteering at this point to develop these plugins in house.

@ryanmerolle commented on GitHub (Oct 22, 2022): > I'd really love to see a SuzieQ integration also :-) not as realtime as napalm, but is for sure will be faster :-) This would really help users who want to integrate applications like suzie-q, librenms, zabbix, IP Fabric, Forward Networks, and the like by providing a reference model. I'm not sure the maintainer team is volunteering at this point to develop these plugins in house.
Author
Owner

@PieterL75 commented on GitHub (Oct 22, 2022):

Since the tabs can be added by a plugin, i think this is a good step to move napalm to a plugin, and indeed hope that other product maintainers hop on

@PieterL75 commented on GitHub (Oct 22, 2022): Since the tabs can be added by a plugin, i think this is a good step to move napalm to a plugin, and indeed hope that other product maintainers hop on
Author
Owner

@renatoalmeidaoliveira commented on GitHub (Nov 28, 2022):

About the plugin migration, how the mantainer team are thinking about it?
My concern is about multi vendor support, for example it would be ok to add an folder to Netbox folder structure like reports, and scripts for custom parsers?

@renatoalmeidaoliveira commented on GitHub (Nov 28, 2022): About the plugin migration, how the mantainer team are thinking about it? My concern is about multi vendor support, for example it would be ok to add an folder to Netbox folder structure like reports, and scripts for custom parsers?
Author
Owner

@jeremystretch commented on GitHub (Feb 24, 2023):

We've retained the NAPALM fields on the Platform model for now to help with the migration. They'll be removed in a future NetBox release.

@jeremystretch commented on GitHub (Feb 24, 2023): We've retained the NAPALM fields on the Platform model for now to help with the migration. They'll be removed in a future NetBox release.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/netbox#7055