Commit Graph

244 Commits (1c3fa2b07f92ef81c6831762bf9d79ffc121acc0)

Author SHA1 Message Date
Paul Neumann a914f494a8 ios_facts: Gather CDP neighbor data (#49129)
* ios_facts: Gather CDP neighbor data

* ios_facts: Create tests for ansible_net_neighbors
2018-11-29 14:05:17 -05:00
Sandra McCann 13a6b4a856 Gather subset fix (#49264)
*  reword subset description for ios_facts
2018-11-28 15:33:16 -06:00
Abhijeet Kasurde bc3e7bbeba
E325 Removal - Part II (#49196)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-11-28 13:55:52 +05:30
Paul Neumann 3cc1b8d7d3 ios_facts: Strip header from running-config (#48047)
IOS prepends a show running-config with lines that are not part of the
configuration, keeping the output from being an entirely valid configuration:
R1#show run
Building configuration...

Current configuration : 2045 bytes
...

In order to be able to use the config from ios_facts as-is, strip this
header.
2018-11-08 20:28:47 +05:30
Nilashish Chakraborty f0a057b63a
Add support for 25G and 100G interfaces (#47852)
Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>
2018-10-31 19:09:53 +05:30
Nilashish Chakraborty baae7fa9ba
Fix ios_user not able to handle certain scenario (#47656)
* added support for users with password(not secret) configs

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

* Added example

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

* Fix typo

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

* Fix pep8

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

* Add integration tests

Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>
2018-10-31 16:51:46 +05:30
Matt Clay 37b013aca3
Enable additional pylint rules and resolve issues found. (#47221)
* Resolve unneeded-not.
* Resolve global-at-module-level.
* Resolve useless-import-alias.
* Resolve bad-whitespace.
* Resolve global-variable-not-assigned.
* Resolve logging-not-lazy.
* Resolve comparison-with-itself.
2018-10-18 13:38:08 -07:00
Paul Neumann 39673dfc37 ios_facts: Fix minor aesthetical glitches (#46577)
* ios_facts: Fix LLDP gathering without neighbors

When LLDP is enabled but no neighbors are present, the following
structure is generated:
...
            "ansible_net_neighbors": {
                "null": [
                    {
                        "host": null,
                        "port": null
                    }
                ]
            },
...
If we are not able to find any relevant LLDP information, bail out early
so cases like shown above are handled more gracefully.

* ios_facts: Remove trailing space in lineprotocol

Some Cisco devices (at least CSR1000V 16.6.4) add a space after the
line protocol. This causes the space to be present in the result of
fact gathering:
            "ansible_net_interfaces": {
                "GigabitEthernet2": {
...
                    "lineprotocol": "up ",

Be more clear about scanning the output to avoid this behaviour.
2018-10-10 08:02:14 -04:00
Sebastien Pouplin 4ba0cfeb4b Added iostype details in network ios_facts module (#46599) 2018-10-10 08:00:25 -04:00
akira6592 8213096b7f The sshkey option is available in version 2.7 and above (#46103) 2018-09-25 10:41:23 +01:00
Joachim Mathes 30314c15c7 Generalize config retrieval in ios_l3_interface module (#45270)
This makes it work with Cisco 3750E.
2018-09-25 12:28:32 +05:30
Nathaniel Case 285b927889
network command modules cleanup (#45242)
* Standardize _command modules

* Centralize command transformation process

* Fix check mode error test
2018-09-13 08:55:35 -04:00
Nilashish Chakraborty 0f268e70a1
Fix ios_user issues (#44904)
* Fix ios_user issues

* Modify regex and fix unittests
2018-08-31 11:08:46 +05:30
Ryan Breaker c9adfdf68b Reword documentation for IOS L2/L3 interface modules (#44870)
* Update documentation to be cohesive with ios_l2_interface

* Fix small typo in documentation
2018-08-30 14:48:43 -05:00
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
Dennis Israelsson 49f692b08f ios_vrf speed fix (#43765) 2018-08-27 08:51:33 -04:00
Clement Trebuchet 401c45384e FIX ISSUE:#43878 when the vlans string have a final comma. (#43879) 2018-08-20 12:48:46 +05:30
Chris Smolen 3f5cf2aad4 add example using the "when" keyword (#41038)
* add example using the "when" keyword

<!--- Your description here -->
add example using the "when" keyword comparing group_var variable to returned value from ios_facts
+label: docsite_pr
+label: issue #311

* Update ios_config.py

* Update ios_config.py
2018-08-17 14:30:37 -04:00
housysadm bb553f138b ios_user purge example (#42904)
* Update ios_user.py

Added an example of purging all users except those listed and admin

* Update ios_user.py
2018-08-14 17:23:10 -04:00
Nilashish Chakraborty b14f256d41
Fixes ios_l2_interface and ios_vlan not working on certain interface types issue (#43819)
* Fixes #43654 and #43582

* Remove q statement

* Fix shippable errors

* Fix more shippable errors

* Fix unittest
2018-08-14 11:35:09 +05:30
Joren Vrancken b954917761 Surround top-level function and class definitions with two blank lines. 2018-07-31 12:06:56 -07:00
Ganesh Nalawade 21dcaa4349
Handle ConnectionError exception in network modules (#43353)
* Handle ConnectionError exception in network modules

* Catch ConnectionError expection and fail module in case
  expection is raised.

* Fix CI failure
2018-07-30 10:24:58 +05:30
Ganesh Nalawade af3f510316
nxos cliconf plugin refactor (#43203)
* nxos cliconf plugin refactor

Fixes #39056

*  Refactor nxos cliconf plugin as per new api definition
*  Minor changes in ios, eos, vyos cliconf plugin
*  Change nxos httpapi plugin edit_config method to be in sync with
   nxos cliconf edit_config

* Fix CI failure

* Fix unit test failure and review comment
2018-07-27 11:05:40 +05:30
Matej Vadnjal 7c318d4e30 ios_user module - implement sshkey option (#38782)
* ios_user module - add sshkey support

* ios_user - Add version_added to sshkey option

* ios_user - pep8 indentation fixes in unit tests

* ios_user - use b64decode method that works on python 2 and 3
2018-07-19 10:28:52 -04:00
Clement Trebuchet 7c97bb5077 Devel ios vrf submode (#41659)
* add submode features ipv4/ipv6

* add tests for submode

* the parameters both_ * were not idempotent, in what is read in the configuration we have a list with 2 entries (import, export) while the input parameter has only one parameter which will be applied twice

* add docstring to the ios_vrf module + provide a fix for: https://github.com/ansible/ansible/issues/41581

* complete tests

* add missing description

* fix KeyError for address-family ipv*

* fix both_* tests

* fix E231, W292, W293

* fix W293

* remove set has it doesn't preserve order of routes

* fix E106

* remove ImportError: cannot import name OrderedDict

* We should be able to mix the parameters for the routes targets , while remaining imdepotent. During the first implementation we did not take this into account, which did not correspond to the reality of the needs in production (to be able to use each parameter indifemently together)

* remove epdb reference

* FIX E111, E106

* FIX E302

* using loop produce a result who  was not imdepotent

* FIX E241

* fix: used pass intead of list
2018-07-12 20:27:10 +05:30
Nilashish Chakraborty fa624eba29 Fixed regex to pick correct items (#42557) 2018-07-11 19:20:50 +05:30
Zhikang Zhang 70e33ef92c
Make ios_vlan identify vlans starting with 9 (#42247)
* Make ios_vlan identify vlans starting with 9

* Add unit test for vlan id start with 9
2018-07-09 09:50:06 -04:00
Paul Neumann dfb2b3fdd5 ios_facts: Report space of file systems (#41850)
* ios_facts: Report file system space

Parse total and free space from dir output. For this, add a hash
filesystems_info containing the keys spacetotal_kb and spacefree_kb.

* ios_facts: Add unit test for file system space reporting

* ios_facts: Add integration test for file system space reporting
2018-07-09 09:15:31 -04:00
Sumit Jaiswal 828dd1a663
To fix the NoneType error raised in ios_l2_interface when Access Mode VLAN is unassigned (#42312)
* to fix the bug41657

* to fix review comment
2018-07-05 10:58:54 +05:30
Ganesh Nalawade c068b88b38
Update eos, ios, vyos cliconf plugin (#42300)
* Update eos cliconf plugin methods

*  Refactor eos cliconf plugin
*  Changes in eos module_utils as per cliconf plugin refactor

* Fix unit test and sanity failures

* Fix review comment
2018-07-04 19:45:21 +05:30
Ganesh Nalawade 773c031d33
vyos and ios cliconf plugin refactor (#41846)
* vyos and ios cliconf plugin refactor

*  Refactor vyos cliconf plugin
*  Change vyos module_utils and vyos_config as per refactor
*  Minor changes in ios cliconf plugin

* Fix unit test failure

* Fix sanity issues

* Add get_diff to rpc list
2018-06-25 09:43:37 +05:30
Trishna Guha 8ab0d654f3
don't retrieve config in running_config when config is provided for diff (#41400)
* don't retrieve config in running_config when config is provided for diff

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

* fix for eos, nxos

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

* add integration test

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
2018-06-14 18:02:19 +05:30
epicanthal 12d221152b Update ios_facts.py (#40928)
Account for upper/lower case match occurrences of "[Nn]umber" and "[Ss]erial"

Model Number                       : WS-C3850-12X48U
System Serial Number          :  <removed>
2018-06-06 08:47:18 -04:00
Ganesh Nalawade ba4b12358c
Refactor ios cliconf plugin and ios_config module (#39695)
* Refactor ios cliconf plugin and ios_config module

*  Refactor ios cliconf plugin to support generic network_config module
*  Refactor ios_config module to work with cliconf api's
*  Enable command and response logging in cliconf pulgin
*  cliconf api documentation

* Fix unit test and other minor changes

* Doc update

* Fix CI failure

* Add default flag related changes

* Minor changes

* redact input command logging by default
2018-06-06 11:12:45 +05:30
Nathaniel Case 92a95368fe
Fixes to ios_logging (#41029)
* Logging size may not show up in config

* This is much simpler

* Avoid repetition in tests

* Both options of buffered are optional
2018-06-04 07:32:23 -04:00
Nathaniel Case e7afd3d378
Search for macaddresses more stringently (#40901)
* Search for macaddresses more stringently

Fixes #40829
2018-05-31 10:45:17 -04:00
Nilashish Chakraborty a013cdc747
Fixes ios_logging idempotency issues (#40701)
* Fixes ios_logging idempotency issues

* Added intergration tests & minor fixes

* Minor fixes in tests

* Minor fixes in tests #2

* eos_logging fixes after PR review
2018-05-31 20:07:24 +05:30
Nathaniel Case 82dfa542c2
Replace bogus (but routeable) ip addresses with RFC 5737 example addresses (#40554)
* Remove 1.1.1.1 from *_config tests

* remove from *_smoke and *_system

* Miscellaneous other tests

* Remove from module documentation as well

* Remove from unit tests as well

* Remove accidental duplication from rebase
2018-05-30 13:03:20 -04:00
Ricardo Carrillo Cruz 669949e6a3
Do not gather mem facts if command invalid (#40820)
* Do not gather mem facts if command invalid

In some firmwares, 'show memory statistics' fail, thus
do not populate mem if we got a failure after running that command.

* Fix pep8

* Warn if got error when running 'sh memory statistics'

* Fix pep8
2018-05-29 18:16:53 +02:00
Nathaniel Case f88412b7cd
Fix ios test pt. 2 (#40628)
* Add missing idempotence assert

* Remove dhcp with other addresses on ipv6
2018-05-23 18:33:36 -04:00
pierremahot 3903ca5c8e Fix ios_vlan to correctly identify unmodified config when having long interface names (#40145)
Change the command to get the interface in a vlan "show vlan" => "show vlan brief"
Change the parsing of the return command of the switch.
The return of the ios command is fixed so i cut with fix number of carracter.
Adding looking for the next line to add the forgeted interfaces.
2018-05-23 10:15:54 -04:00
Nathaniel Case e8d02a3a0f
Search all assigned ipv6 addresses instead of just the first (#40533)
* Search all assigned ipv6 addresses instead of just the first

* Add test for idempotency with multiple ipv6 addresses assigned
2018-05-22 12:00:16 -04:00
Nathaniel Case eb818df1ec
Ios test fixes (#40503)
* Return messages generated from edit_config to module

* This does not seem to work that way

* Change test IP addresses to not conflict with device config
2018-05-21 17:51:21 -04:00
Tyler Bigler db4ae20e8b ios_command: Correct answer example and consolidate docs on command param. (#40158)
* Correct answer example as 'c' cancels, not confirms. Moved command note to be in line with command docs.

* Correct example to escape square brackets. Remove '\r' mention as it does not get passed correctly.

* Add carriage return example since it works with double quotes.

* Remove colon which was breaking docs rendering.
2018-05-16 15:39:07 +01:00
Tyler Bigler 39bed45baf ios_facts: Add check to skip lldp neighbors if lldp doesn't exist or isn't enabled. (#40109)
* Add check to skip lldp neighbors if lldp doesn't exist or isn't enabled.

* Re-enable check_rc on ios' run_commands
2018-05-16 09:33:57 -04:00
Sean Cavanaugh 0dc73e7822 add SVI example for Cisco IOS/IOS-XE platform (#40021)
on networktocode slack there was a user that wanted an example of how to add a switch vlan interface.  This will work and was tested on a 3850 cisco ios switch
2018-05-15 14:07:23 -05:00
Eric Thiel 67acffb5f2 Fixes to improve ios_system idempotency (#38303)
Added detection of additional formatting for domain_name, domain_search,
lookup_source, and lookup_enabled on some software versions. In each
case they failed to detect existing commands with a '-' in it.

Fix: #38301
2018-05-15 10:27:40 -04:00
Chris Smolen 75304bd121 Update ios_system.py (#39623)
<!--- Your description here -->
Typo in the example of `domain_search`, was `domain-search`should be `domain_search`
+label: docsite_pr
2018-05-09 14:44:27 +01:00
Ganesh Nalawade 09e3b5c92b
Fetch ios default config is defaults is enabled (#39741)
If default option is eanbled fetch the current
running configuration by adding `all` or `full`
flag
2018-05-08 09:38:08 +05:30
Trishna Guha dddcbb7198
use show run instead of section pipeline ios_l2_interface (#39658)
Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
2018-05-04 21:22:09 +05:30