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

swap embedded ssh transport with scrapligo #668

Open
hellt opened this issue Oct 25, 2021 · 3 comments
Open

swap embedded ssh transport with scrapligo #668

hellt opened this issue Oct 25, 2021 · 3 comments

Comments

@hellt
Copy link
Member

hellt commented Oct 25, 2021

to add support for most popular network oses

@steiler
Copy link
Collaborator

steiler commented Dec 27, 2022

@hellt what's the actual status?

@hellt
Copy link
Member Author

hellt commented Dec 27, 2022

@steiler it is available for implementation.
although I'd say there is a first step that is more crucial to implement, that goes in parallel to what this issue describes.

We need to make sure clab has an option to configure the device(s) with the CLI commands upon the lab deployment.
In essence, this means that a user should be able to provide a file with CLI commands, or a list of such commands in a clab file and those commands need to be "pushed" to the relevant nodes as if they were typed in by an operator.
For this we need to leverage scrapligo.

Currently, we have a .topology.nodes[node].config structure that was designed to do complicated config templation stuff with clever things embedded, but I feel like it is far more important right now to deliver on the explained use case to make sure we have an easy way to provision network nodes with a config.

I was thinking of having a clab config push command that does that, as well as this functionality, can be reused to allow users to create an "over the top" config file that is applied once the lab is deployed automatically.
Think of it as a config that users want to add on top of the clab default config

@kellerza
Copy link
Contributor

This should be very close to what we need in containerlab - https://github.com/labctl/labctl/tree/main/utils/tx - it uses scrapligo where the standard driver reads .ssh/config for more advanced configurations (see here)

It implements your idea of "config push" as "config send" and on top of that "config commit" (similar to what exists of config engine in containerlab) and "config compare" for SR OS and SRL kinds. You can also override these KindMaps for other kinds

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

Successfully merging a pull request may close this issue.

3 participants