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

Move NAPALM proxy functionality to a plugin #10520

Closed
jeremystretch opened this issue Sep 30, 2022 · 5 comments
Closed

Move NAPALM proxy functionality to a plugin #10520

jeremystretch opened this issue Sep 30, 2022 · 5 comments
Assignees
Labels
status: accepted This issue has been accepted for implementation type: feature Introduction of new functionality to the application
Milestone

Comments

@jeremystretch
Copy link
Member

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

@jeremystretch jeremystretch added type: feature Introduction of new functionality to the application needs milestone Awaiting prioritization for inclusion with a future NetBox release labels Sep 30, 2022
@PieterL75
Copy link
Contributor

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

@ryanmerolle
Copy link
Contributor

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.

@PieterL75
Copy link
Contributor

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

@jeremystretch jeremystretch added status: accepted This issue has been accepted for implementation and removed needs milestone Awaiting prioritization for inclusion with a future NetBox release labels Nov 2, 2022
@jeremystretch jeremystretch added this to the v3.5 milestone Nov 2, 2022
@renatoalmeidaoliveira
Copy link
Contributor

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?

@jeremystretch
Copy link
Member Author

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 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: feature Introduction of new functionality to the application
Projects
None yet
Development

No branches or pull requests

5 participants