Commit Graph

146 Commits (26d38dd6421851084c5980444f8aa079f60eef88)

Author SHA1 Message Date
Nathaniel Case d5a272ce89
Fix eos_support_session logic (#56524) 2019-05-16 11:28:19 -04:00
Nathaniel Case 409c46b2fa
Properly handle check for session support on eos (#56407)
* Properly handle eos session check.

* Why is eos_use_sessions an int?

* Add changelog
2019-05-16 10:44:22 -04:00
Nilashish Chakraborty 30ccc8e1bd
Fix VyOS cli prompt issues (#56389)
Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>
2019-05-14 19:17:00 +05:30
Nathaniel Case 0bead3672f eos_config: Fix test issues (#56180)
* Alter tests to pass

* Change diff_against to make changed work again

* Add another diff_against

* Expose supports_sessions across all EOS connection types

* Change session warning to failure

* supports_sessions needs to be a method to survive the rpc boundary

* Alter tests to match
2019-05-09 18:02:24 +05:30
Trishna Guha 2e8a3efccb
Revert nxos, ios, iosxr return_timestamps (#56206)
* Revert "nxos_command:run_commands results failure when commands array size >1 (#52670)"
This reverts commit 0df5b92af3.
* Revert "added timestamps to nxos_command module (#50261)"
This reverts commit e150943314.
* Revert "added timestamps to ios_command module (#50323)"
This reverts commit 2a432a093b.
* Revert "added response_timestamps to iosxr_command module (#50095)"
This reverts commit 2a0c356da9.
2019-05-08 20:49:29 +05:30
Nathaniel Case 38890ddcaf
Expose `newline` option to cli_command module (#55451)
* Add newline to all cliconf plugins

* Expose newline in cli_command

* Also hook up to anything using transform_commands directly
2019-05-07 17:25:57 -04:00
Nathaniel Case 3d9da0c468
Don't fail trying to read boot image without enable (#56126)
Also add a message when network_os_image can't be acquired.
2019-05-06 15:15:26 -04:00
Ujwal Komarla 9384773e1e Exos httpapi (#54405)
* Modify EXOS module utils to utilize 'httpapi' or 'network-cli' connection

* Changes to cliconf plugin to support 'json' or 'text' output for compatibility between network-cli and httpapi

* Add HTTPAPI plugin supportng JSONRPC and RESTCONF for EXOS

* exos_facts modify commands with run script cli2json.py to command dictionary specifying 'json' output
Load appropriate fixtures

* Update exos_config module to utilize the get_diff and get_default_flag functionality.
JSONRPC doesn't work well with pipes, regex MULTILINE

* Support for NOS agnostic 'cli_config' module by implementing 'get_default_flag' and 'get_diff' functionality

* Update Ansible Documentation regarding the connections available for EXOS
2019-03-27 14:44:04 +01:00
rajaspachipulusu17 e2d92e82c4 Pluribus Networks network cli terminal and cliconf plugins (#53735)
* Pluribus Networks network cli terminal and cliconf plugins

* Changes in Unit tests and modules according to network_cli connection

* Changes in Unit tests and modules according to network_cli connection
2019-03-15 13:51:50 +05:30
Trishna Guha a41028244d
Add platform facts in network facts modules (#51434)
* Add platform facts in network facts modules

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>

* Add nxos

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>

* Add vyos

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>

* Add iosxr

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>

* Add junos

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>

* fix pep8

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>

* update unit test

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>

* fix vyos_facts unittest

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>

* fix ios_facts unittest

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>

* fix iosxr unittests

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>

* fix CI failure

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>

* fix junos test

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
2019-03-11 10:56:39 +05:30
Nilashish Chakraborty bc403dbcda
Added new module - frr_facts (#51804)
* Add new module frr_facts

Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>

* Fix return value

Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>

* Fix review comments

Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>

* Fix review comments

Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>

* Handle empty row for mpls ldp neighbors

Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>

* Fix review comments

Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>

* Fix CI

Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>

* Remove timestamp from cliconf pluging

* Updated examples

Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>

* Fix sanity tests

Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>
2019-02-18 19:35:40 +05:30
Matt Clay 04112d47a7 Fix more incorrect uses of `is` operator. 2019-02-12 20:04:20 -08:00
Nathaniel Case 7ad238b358
Document httpapi and cliconf plugins (#49503)
* Create new documentation pages for httpapi and cliconf

* Add new documentation to plugins toctree and Makefile

* Add DOCUMENTATION to cliconf

* Apply suggestions from code review
2019-02-08 11:04:05 -05:00
vaneuk 2a0c356da9 added response_timestamps to ios_xr_command module (#50095) 2019-02-04 18:49:06 +05:30
Anil Kumar Muraleedharan 004d8b03d4 Lenovo cnos l3interface (#51322)
* Adding cnos_l3_interface module in alignment with others vendors.
2019-02-01 09:17:52 -05:00
Nilashish Chakraborty beb2af83c1
frr: Add terminal and cliconf plugins (#51169)
* Added terminal plugin for FRR

Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>

* Added cliconf plugin for FRR

Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>

* Added cliconf plugin for FRR

Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>

* Override required methods

Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>

* Fix pep8 issues

Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>

* Add get_supported_protocols and minor error regex fix

Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>

* Remove unused imports

Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>

* Fix review comments

Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>

* Add get_diff and run_commands

Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>

* Set output to empty list

Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>

* Fix CI errors

Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>
2019-02-01 17:56:31 +05:30
vaneuk 2a432a093b added timestamps to ios_command module (#50323)
ios_command module now returns timestamps field, which shows command execution time
2019-01-31 18:11:53 +05:30
Nathaniel Case 9336281a60
Standardize cliconf get_capabilities (#51147)
* Standardize cliconf get_capabilities

* Check for capabilities before querying them

* Try to be more helpful when unexpected things are found in get_capabilities

* Add flags param to get_config for compatibility
2019-01-28 08:24:44 -05:00
Nathaniel Case 8d4f7f5b56
Fix stray string in network_cli (#51142)
* Replace loose string that should be a byte string

* Replace byte string literals with string literals

* These, on the other hand, need to be byte strings
2019-01-22 09:07:04 -05:00
vaneuk e150943314 added timestamps to nxos_command module (#50261)
* added timestamps to nxos_command module

nxos_command module now returns timestamps field, which shows command execution time

* –fixed unit test failure for /lib/ansible/module_utils/basic

* cosmetic changes to align with PEP 8
2019-01-17 10:14:31 +05:30
Nathaniel Case 1829a72885
Allow persistent connection plugins to queue messages back to ansible-connection (#49977)
* Connections can queue messages to be returned from ansible-connection

* Provide fallback for invalid display level

* Strip display from plugins

* Route messages through helper method to try to avoid improper appends
2018-12-19 10:54:42 -05:00
Ganesh Nalawade cc8e90395a
Fix mandatory statement error for junos modules (#50074)
* Fix mandatory statement error for junos modules

Fixes #40267

*  Add error regex in junos terminal plugin to error out
   in case of commit fails

*  If commit fails add logic to discard changes before existing
   else next task will result in error

* Add integration test

* Minor update
2018-12-19 14:46:44 +05:30
anasbadaha fb8b59fcc6 Get Capabilities Support (#49880)
Signed-off-by: Anas Badaha <anasb@mellanox.com>
2018-12-14 09:45:31 +05:30
Nathaniel Case 02432565cd
Remove cliconf from httpapi connection (#46813)
* Bare minimum rip out cliconf

* nxapi changeover

* Update documentation, move options

* Memoize device_info

* Gratuitous rename to underscore use of local api implementation

Fixup eos module_utils like nxos

* Streamline version and image scans

* Expose get_capabilities through module_utils

* Add load_config to module_utils

* Support rpcs using both args and kwargs

* Add get_config for nxos

* Add get_diff

* module context, pulled from nxapi

We could probably do this correctly later

* Fix eos issues

* Limit connection._sub_plugin to only one plugin
2018-12-11 16:26:59 -05:00
Matt Martz 9773a1f289
Add a Singleton metaclass, use it with Display (#48935)
* Add a Singleton class, use it with Display

* update six import

* Move remaining failes to display singleton

* Fix rebase issues

* Singleton improvements

* Add code-smell for 'from __main__ import display'. ci_complete

* s/self/cls/g

* Add docs for no-main-display

* Address linting issues

* Add changelog fragment. ci_complete

* Implement reentrant lock for class instantiation in Singleton

* Add Display singleton porting guide
2018-11-20 17:06:51 -06:00
f-bor 35b97a2fa7 edgeswitch_facts (#47618) 2018-11-02 18:50:11 +05:30
Lindsay Hill a1b0d20368 New voss_config module (#47533)
* New voss_config module

* Updated test import paths as per #46996
2018-11-01 14:07:41 +05:30
Nathaniel Case 6a866a5e10
ios check_rc: Default to sending text of exception, not the whole exception (#47300)
* Default to sending text of exception, not the whole exception
2018-10-24 09:56:47 -04:00
Nathaniel Case 7844a40046
Update some cliconf plugins (#47141)
* Add `check_all` to many community cliconf plugins
2018-10-18 15:26:20 -04:00
Abhijeet Kasurde 5351a00445 Correct usage of message in ConnectionError (#46566)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-10-10 19:21:20 +05:30
Matt Clay a11f631ee4 Python 3.8 collections compatibility fixes.
Includes a new pylint blacklist plugin to prevent regressions.
2018-10-08 11:26:37 -07:00
tstoner e74e8b8e75 Additional feature enhancements to nxos_logging (#45844)
* Various changes to nxos_logging.  Plus added purge capibility.

* Made a few new nxapi_logging test cases conditional based on version
and/or platform.

* Addressed PR comments and ansibot shippable.  Fixed up nxos_logging documentation format.

* Addressed ansibot shippable issues with whitespaces and documentation.

* Resolved ansibot codestyle trailing whitespace
2018-09-25 11:02:09 +05:30
Ganesh Nalawade a3c137c1ab
Fix diff_ignore_lines option issue for candidate configuration (#45201)
* Fix diff_ignore_lines option issue for candidate configuration

*  diff_ignore_lines option is to handle the running config fetch from
   remote host and ignore the lines that are auto updated eg: commit time and date
*  This option should not be used while processing candidate (input) configuration

* Fix review comment
2018-09-06 23:54:56 +05:30
Anil Kumar Muraleedharan fbf55a09cc Lenovo image refactor (#44953)
* Refactoring code to adhere to persistence connection.

* Update cnos_rollback.py

* Updating license for the refactored method

* Update cnos_rollback.py

* Removing the BSD License as suggested by Legal

* Adding cnos_image after testing on sftp. Test code is also added

* Removing debug comments

* adding space
2018-08-31 20:04:57 +05:30
Ganesh Nalawade c0326aea2f
Fix cli_command multiple prompt issue (#44922)
* Add check in network_cli to handle all prompts

* Add check_all flag to mandatory handle all the command prompt
  in prompts list. By default if any one prompt is handled
  remaining prompts are ignored.

* Fix cli_command multiple prompt issue

* If multiple prompt and answers are given as input network_cli
  handles only the first prompt that matched by default
* If a command execution results in muliple prompt the fix
  add support to set a boolean option C(check_all) to indicate
  network_cli to wait till all the prompts and answers are processed.

* Update cli_command

* Update api doc

* Fix unit test failure

* Fix CI failure

* Update network_cli

* Fix review comment
2018-08-31 20:04:12 +05:30
Ganesh Nalawade 1a684df109
Fix iosxr cli_config module diff issue (#44898)
* Fix iosxr cli_config module diff issue

* Modify iosxr plugin to support configuration
  diff capability (get_diff()) within Ansible
  to be in sync with iosxr_config module.

* Fix unit test case failure
2018-08-30 21:39:11 +05:30
Justin Yaple a767929456 Fix 'macro name' timeout (#44001)
* Fix 'macro name' timeout

Added function to send macro to device using 'sendonly'.

* Filter 'macro' from normal commands

* Removed white space

* Undefined variable 'cmd'
2018-08-30 18:11:51 +05:30
Ganesh Nalawade eb9c75caad
Fix rollback option in cli_config module (#44834)
* Fix rollback option in cli_config module

* Update rollback flag in cliconf plugins
* Add rollback api for junos cliconf plugin

* Update doc

* Update doc
2018-08-29 21:00:11 +05:30
Trishna Guha 1e7c745a5c
fix rollback option vyos cliconf (#44763)
Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
2018-08-28 19:49:25 +05:30
Trishna Guha 79a020e312
junos cli_config idempotence fix (#44706)
Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
2018-08-27 12:40:16 +05:30
Lindsay Hill 6c05e03fea Replace invalid_params with ValueError (#44545) 2018-08-23 15:49:08 +02:00
Ganesh Nalawade e25d8e2b99 Add support for multiple prompt answers in network_cli (#44492)
* Currently network_cli support multiple prompts
  single answer as response. This PR adds support
  for multiple answers.
* In case of multiple prompts and mulitple answers the
  index of a particular prompt in the prompts list should
  match with the index in the answer list.
2018-08-23 09:46:42 -04:00
Lindsay Hill b0a25d321d new nos_config module (#44140)
* new nos_config module

* Update cliconf/nos.py to add missing 'end'
2018-08-21 10:02:40 -07:00
Deepak Agrawal aed6722fbc
DCI devel iosxr fix : on-device diffs does not work always (#44265)
* fix devel dci failure on iosxr

* pep8 issue fix
2018-08-17 12:34:11 +05:30
Lance Richardson dc08b9a738 new module exos_config (#43902)
- support config operations for EXOS-based platforms
- add regex to detect command failure responses
- add exos action plugin for "backup" operation
- add unit tests for exos_command (currently 94% coverage of
  exos_config.py)
2018-08-15 14:56:50 -07:00
Trishna Guha a8c24a5d5e
Add cli_config module (#42413)
* cli_config module

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>

* rename diff and replace

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>

* add nxos changes

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>

* nxos tests

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>

* remove severity

* address review comment

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>

* add module diff

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>

* add iosxr test

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>

* address diff review

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>

* Add junos tests

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>

* vyos cliconf diff fix

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
2018-08-14 13:52:15 +05:30
Trishna Guha 227bf61daa
junos cliconf diff fix (#44109)
Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
2018-08-14 13:01:27 +05:30
Trishna Guha e188073629
multiline_delimiter should be True ios cliconf (#44106)
Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
2018-08-14 11:34:07 +05:30
Lindsay Hill 727503c5ab fix typo in edit_config_capability name (#44102) 2018-08-14 09:17:50 +05:30
Lindsay Hill 5981a7489b new nos_command module (#43056) 2018-08-10 13:50:02 -07:00