enhancement to support proxied devices #1525

Closed
opened 2025-12-29 16:32:41 +01:00 by adam · 4 comments
Owner

Originally created by @jeremyschulman on GitHub (Feb 1, 2018).

Issue type

[X ] Feature request
[ ] Bug report
[ ] Documentation

Environment

  • Python version: all
  • NetBox version: 2.2.8

Description

As a User of Netbox that wants to inventory devices managed by a 3rd-party controller system (aka a "proxy device"), I would like to associate the proxy information to the device instance, and then provide that proxy information to the NAPALM driver as part of the optional_args so that
the driver can make the necessary connection / communications using that information.

Originally created by @jeremyschulman on GitHub (Feb 1, 2018). ### Issue type [X ] Feature request <!-- An enhancement of existing functionality --> [ ] Bug report <!-- Unexpected or erroneous behavior --> [ ] Documentation <!-- A modification to the documentation --> ### Environment * Python version: all * NetBox version: 2.2.8 ### Description As a User of Netbox that wants to inventory devices managed by a 3rd-party controller system (aka a "proxy device"), I would like to associate the proxy information to the device instance, and then provide that proxy information to the NAPALM driver as part of the `optional_args` so that the driver can make the necessary connection / communications using that information.
adam closed this issue 2025-12-29 16:32:41 +01:00
Author
Owner

@jeremyschulman commented on GitHub (Feb 1, 2018):

I would like to propose the following approach making use of custom_fields bound to the device instance. Any custom field that begins with "napalm_option" will be passed to the napalm driver, in addition to any existing napalm settings stored as part of the netbox configuration.

For example, if the custom_fields for a device contained the items:

napalm_option_server = http://my-proxy-server.com
napalm_option_token = blurbidyblugyakkettytoken

Then, at the time when Netbox makes the call to the napalm driver, here, these key-value
pairs would be passed to the napalm_driver code.

@jeremyschulman commented on GitHub (Feb 1, 2018): I would like to propose the following approach making use of `custom_fields` bound to the device instance. Any custom field that begins with "napalm_option" will be passed to the napalm driver, in addition to any existing napalm settings stored as part of the netbox configuration. For example, if the custom_fields for a device contained the items: ```python napalm_option_server = http://my-proxy-server.com napalm_option_token = blurbidyblugyakkettytoken ``` Then, at the time when Netbox makes the call to the napalm driver, [here](https://github.com/digitalocean/netbox/blob/develop/netbox/dcim/api/views.py#L297), these key-value pairs would be passed to the napalm_driver code.
Author
Owner

@jeremystretch commented on GitHub (Feb 13, 2018):

Let's avoid trying to hotwire any features by designating special custom field names. I want to ensure custom field names are kept decoupled from any built-in functionality.

@jeremystretch commented on GitHub (Feb 13, 2018): Let's avoid trying to hotwire any features by designating special custom field names. I want to ensure custom field names are kept decoupled from any built-in functionality.
Author
Owner

@orgito commented on GitHub (Jun 26, 2018):

We could add napalm_optional_args to the device model as suggested for the platform model. The optional_args passed to the napalm_driver would come from NAPAL_ARGS settings -> napalm_optional_args platform field -> napalm_optional_args device field. The more specific levels adding and replacing the less specific ones.

I could update #2190 to also include this.

@orgito commented on GitHub (Jun 26, 2018): We could add napalm_optional_args to the device model as suggested for the platform model. The optional_args passed to the napalm_driver would come from NAPAL_ARGS settings -> napalm_optional_args platform field -> napalm_optional_args device field. The more specific levels adding and replacing the less specific ones. I could update #2190 to also include this.
Author
Owner

@jeremystretch commented on GitHub (Jun 25, 2019):

Doesn't look like this ever got any traction, and honestly I still don't have any good ideas for implementing it. Going to close it out; might be something we revisit in the future.

@jeremystretch commented on GitHub (Jun 25, 2019): Doesn't look like this ever got any traction, and honestly I still don't have any good ideas for implementing it. Going to close it out; might be something we revisit in the future.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/netbox#1525