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

Add several new functions to the napalm module #48707

Merged
merged 3 commits into from Jul 23, 2018

Conversation

Projects
None yet
3 participants
@mirceaulinic
Copy link
Member

commented Jul 23, 2018

This commit adds the functions required to gate functionality from the new
Fluorine modules nxos_api
and pyeapi.
NAPALM has all the underlying dependencies for all of these modules, which is
why we can reuse the code from the mentioned modules (plus junos, netmiko
etc.). This brings a lot of flexibility to the user, as without any further
configuration (or very little for the non-native NAPALM drivers) can execute
arbitrary RPC requests or show commands. This is due to the fact that the code
also forwards the already existing configuration details.
In other words, with this changes, starting with release Fluorine, NAPALM users
will be able to execute commands such as:
salt '*' napalm.pyeapi_run_commands 'show version' with no other changes in
their environment.

These functions are important as they open the gates to extend Salt without
depending on the third party NAPALM library, which massively speeds up the
development of new features (particularly when we need features that wouldn't
have their place into the public NAPALM library).

What does this PR do?

What issues does this PR fix or reference?

Previous Behavior

Remove this section if not relevant

New Behavior

Remove this section if not relevant

Tests written?

Yes/No

Commits signed with GPG?

Yes/No

Please review Salt's Contributing Guide for best practices.

See GitHub's page on GPG signing for more information about signing commits with GPG.

mirceaulinic added some commits Jul 23, 2018

Add several new functions to the napalm module
This commit adds the functions required to gate functionality from the new
Fluorine modules [``nxos_api``](https://docs.saltstack.com/en/develop/ref/modules/all/salt.modules.nxos_api.html)
and [``pyeapi``](https://docs.saltstack.com/en/develop/ref/modules/all/salt.modules.arista_pyeapi.html).
NAPALM has all the underlying dependencies for all of these modules, which is
why we can reuse the code from the mentioned modules (plus ``junos``, ``netmiko``
etc.). This brings a lot of flexibility to the user, as without any further
configuration (or very little for the non-native NAPALM drivers) can execute
arbitrary RPC requests or show commands. This is due to the fact that the code
also forwards the already existing configuration details.
In other words, with this changes, starting with release Fluorine, NAPALM users
will be able to execute commands such as:
``salt '*' napalm.pyeapi_run_commands 'show version'`` with no other changes in
their environment.

These functions are important as they open the gates to extend Salt without
depending on the third party NAPALM library, which massively speeds up the
development of new features (particularly when we need features that wouldn't
have their place into the public NAPALM library).
@rallytime
Copy link
Contributor

left a comment

👍

@cachedout cachedout added the Awesome label Jul 23, 2018

Mike Place

@rallytime rallytime merged commit 080d8b3 into saltstack:develop Jul 23, 2018

3 of 9 checks passed

continuous-integration/jenkins/pr-merge This commit cannot be built
Details
codeclimate 13 issues to fix
Details
jenkins/pr/lint The lint job has failed
Details
jenkins/pr/py3-centos-7 The py3-centos-7 job has failed
Details
jenkins/pr/py2-centos-7 running py2-centos-7...
Details
jenkins/pr/py3-ubuntu-1604 running py3-ubuntu-1604...
Details
WIP ready for review
Details
jenkins/pr/docs The docs job has passed
Details
jenkins/pr/py2-ubuntu-1604 The py2-ubuntu-1604 job has passed
Details

@mirceaulinic mirceaulinic deleted the mirceaulinic:napalm-pyeapi-nxos-gate branch Jul 24, 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.