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

Projects
None yet
4 participants
@mirceaulinic
Copy link
Member

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 pull request Jun 22, 2018

Adding a few helpers to gate functionality from netmiko into the napa…
…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 pull request Jun 22, 2018

Adding a few helpers to gate functionality from netmiko into the napa…
…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 pull request Jun 22, 2018

Adding a few helpers to gate functionality from netmiko into the napa…
…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 pull request Jun 22, 2018

Adding a few helpers to gate functionality from netmiko into the napa…
…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 mirceaulinic force-pushed the mirceaulinic:netmiko-proxy branch from d2056d8 to d163f64 Jun 22, 2018

@ngrundler

This comment has been minimized.

Copy link
Contributor

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 pull request Jun 25, 2018

Adding a few helpers to gate functionality from netmiko into the napa…
…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 saltstack/team-core Jun 25, 2018

@rallytime rallytime merged commit 210d558 into saltstack:develop Jun 25, 2018

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 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 mirceaulinic:netmiko-proxy branch Aug 9, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.