nautobot-app-device-onboarding icon indicating copy to clipboard operation
nautobot-app-device-onboarding copied to clipboard

Option to run from CLI, with API

Open Torstein-Eide opened this issue 1 year ago • 3 comments

Environment

  • Nautobot version: Not relevant
  • nautobot-device-onboarding version: Not relevant

Proposed Functionality

Add a option where users can use a CLI to onboard devices.

Topology

image

Use Case

For some companies the access to netmiko and NAPALM on the devices are heavily restricted.

SSOT is often setup i a locations where many users can use the SSOT, to limit the exposure if the solution is comprised, the SSOT does not have access to devices directly.

This is in complance with:

Torstein-Eide avatar Dec 14 '23 09:12 Torstein-Eide

Thank you Eideen. Can you expand on how you would like the onboarding procedure to work in this case?

I imagine that from the CLI or API, you would provide all of the items that Device Onboarding discovers by connecting to the device, is that right? In a sense, a short-cut to creating a new device.

scetron avatar Dec 14 '23 21:12 scetron

I think there is 2 ways you can go:

  • Read and forward all the raw data that you read.
  • Do the work on the client machine, and use the /dcim/device*/ api.

From a user perspective i think would be something simlare to the GUI:

Onboarding.py  --host ${url/ip} --username ${username} --password ${password} --secret ${secret} --port ${port} --timeout ${time} --location ${Location} --role ${role} --device_type ${device_type} --platform ${platform} --Nautobot_url ${Nautobot_URL} --Nautobot_token ${token}

Yes the second option is a short-cut to creating a new device, but can also be used to update periodically, the Nautobot, when the SSOT state is a "Sink" phase, until your are able to make the transition to "source" state.

for the first option the:

  • Location
  • Role
  • Device_type
  • Platform

Can be done in bulk, in the web GUI on Nautbot.

Torstein-Eide avatar Dec 15 '23 12:12 Torstein-Eide