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

@mirceaulinic
Copy link
Member

@mirceaulinic mirceaulinic 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.

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).
Copy link
Contributor

@rallytime rallytime left a comment

👍

@rallytime rallytime merged commit 080d8b3 into saltstack:develop Jul 23, 2018
3 of 9 checks passed
@mirceaulinic mirceaulinic deleted the napalm-pyeapi-nxos-gate branch Jul 24, 2018
@sagetherage sagetherage added this to PR needs merge to master in PRs to port to master via automation Apr 14, 2020
@sagetherage sagetherage added the P1 label Apr 14, 2020
@sagetherage sagetherage removed this from PR needs merge to master in PRs to port to master Apr 14, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

4 participants