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

Option to run from CLI, with API #139

Open
Torstein-Eide opened this issue Dec 14, 2023 · 3 comments
Open

Option to run from CLI, with API #139

Torstein-Eide opened this issue Dec 14, 2023 · 3 comments

Comments

@Torstein-Eide
Copy link

Torstein-Eide commented Dec 14, 2023

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:

@scetron
Copy link
Contributor

scetron commented Dec 14, 2023

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.

@Torstein-Eide
Copy link
Author

Torstein-Eide commented Dec 15, 2023

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.

@jeffkala
Copy link
Contributor

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.

shortcut to creating the device would be something you can do today in Design Builder app. https://docs.nautobot.com/projects/design-builder/en/latest/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants