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

Adding the initial version of the Netmiko Proxy and Execution modules #48260

Merged
merged 4 commits into from Jun 25, 2018

Conversation

@mirceaulinic
Copy link
Member

@mirceaulinic mirceaulinic commented Jun 22, 2018

What does this PR do?

Adding the initial version of the Netmiko Proxy and Execution modules (based on a third party library called netmiko). This gates the support to be able to interact and manage a large number of network operating systems (though over SSH!).

While the user can always manage the remote device through the netmiko Proxy, the Execution Module is flexible enough to be able to run arbitrary commands when running under a regular Minion, or a different flavour of a Proxy Minion (I have expanded more on this in the documentation).

mirceaulinic added a commit to mirceaulinic/salt that referenced this issue Jun 22, 2018
…lm proxy minions

``netmiko`` is already a dependency of ``napalm``, therefore we are able to
expose all the ``netmiko`` functionalities from the ``netmiko`` execution
module without having to run under a netmiko Proxy Minion: see
saltstack#48260, which is the PR adding the netmiko
execution module.

These new functions added to the existing napalm module gate netmiko's features
to be reused into the napalm Proxy Minions, by forwarding the authentication
details and options which are already there.

For example, the following function goes through the ``netmiko`` Execution
Module, and napalm users can invoke it straight away to get direct access to
basic SSH primitives: ``salt '*' napalm.netmiko_call send_command 'show version'``.
(without any further configuration needed).
mirceaulinic added a commit to mirceaulinic/salt that referenced this issue Jun 22, 2018
…lm proxy minions

``netmiko`` is already a dependency of ``napalm``, therefore we are able to
expose all the ``netmiko`` functionalities from the ``netmiko`` execution
module without having to run under a netmiko Proxy Minion: see
saltstack#48260, which is the PR adding the netmiko
execution module.

These new functions added to the existing napalm module gate netmiko's features
to be reused into the napalm Proxy Minions, by forwarding the authentication
details and options which are already there.

For example, the following function goes through the ``netmiko`` Execution
Module, and napalm users can invoke it straight away to get direct access to
basic SSH primitives: ``salt '*' napalm.netmiko_call send_command 'show version'``.
(without any further configuration needed).
mirceaulinic added a commit to mirceaulinic/salt that referenced this issue Jun 22, 2018
…lm proxy minions

``netmiko`` is already a dependency of ``napalm``, therefore we are able to
expose all the ``netmiko`` functionalities from the ``netmiko`` execution
module without having to run under a netmiko Proxy Minion: see
saltstack#48260, which is the PR adding the netmiko
execution module.

These new functions added to the existing napalm module gate netmiko's features
to be reused into the napalm Proxy Minions, by forwarding the authentication
details and options which are already there.

For example, the following function goes through the ``netmiko`` Execution
Module, and napalm users can invoke it straight away to get direct access to
basic SSH primitives: ``salt '*' napalm.netmiko_call send_command 'show version'``.
(without any further configuration needed).
mirceaulinic added a commit to mirceaulinic/salt that referenced this issue Jun 22, 2018
…lm proxy minions

``netmiko`` is already a dependency of ``napalm``, therefore we are able to
expose all the ``netmiko`` functionalities from the ``netmiko`` execution
module without having to run under a netmiko Proxy Minion: see
saltstack#48260, which is the PR adding the netmiko
execution module.

These new functions added to the existing napalm module gate netmiko's features
to be reused into the napalm Proxy Minions, by forwarding the authentication
details and options which are already there.

For example, the following function goes through the ``netmiko`` Execution
Module, and napalm users can invoke it straight away to get direct access to
basic SSH primitives: ``salt '*' napalm.netmiko_call send_command 'show version'``.
(without any further configuration needed).
@ngrundler
Copy link
Contributor

@ngrundler ngrundler commented Jun 22, 2018

+1

This looks great, and will be particularly useful for us since we have many legacy devices that we want to automate using Salt, but for which we don't want to run a full proxy-minion(primarily campus access switches with relatively static configurations).

mirceaulinic added a commit to mirceaulinic/salt that referenced this issue Jun 25, 2018
…lm proxy minions

``netmiko`` is already a dependency of ``napalm``, therefore we are able to
expose all the ``netmiko`` functionalities from the ``netmiko`` execution
module without having to run under a netmiko Proxy Minion: see
saltstack#48260, which is the PR adding the netmiko
execution module.

These new functions added to the existing napalm module gate netmiko's features
to be reused into the napalm Proxy Minions, by forwarding the authentication
details and options which are already there.

For example, the following function goes through the ``netmiko`` Execution
Module, and napalm users can invoke it straight away to get direct access to
basic SSH primitives: ``salt '*' napalm.netmiko_call send_command 'show version'``.
(without any further configuration needed).
@rallytime rallytime requested a review from Jun 25, 2018
@rallytime rallytime merged commit 210d558 into saltstack:develop Jun 25, 2018
4 of 10 checks passed
4 of 10 checks passed
jenkins/PR/salt-pr-linode-ubuntu16-py3 Pull Requests » Salt PR - Linode Ubuntu16.04 - PY3 #10922 — ABORTED
Details
codeclimate 6 issues to fix
Details
default Build finished.
Details
jenkins/PR/salt-pr-linode-cent7-py3 Pull Requests » Salt PR - Linode CentOS 7 - PY3 #5952 — FAILURE
Details
jenkins/PR/salt-pr-linode-ubuntu14-n Pull Requests » Salt PR - Linode Ubuntu14.04 #23880 — FAILURE
Details
jenkins/PR/salt-pr-rs-cent7-n Pull Requests » Salt PR - RS CentOS 7 #20005 — FAILURE
Details
@wip[bot]
WIP ready for review
Details
jenkins/PR/salt-pr-clone Pull Requests » Salt PR - Clone #26156 — SUCCESS
Details
jenkins/PR/salt-pr-docs-n Pull Requests » Salt PR - Docs #18206 — SUCCESS
Details
jenkins/PR/salt-pr-lint-n Pull Requests » Salt PR - Code Lint #22841 — SUCCESS
Details
@mirceaulinic mirceaulinic deleted the netmiko-proxy branch Aug 9, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

4 participants