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 nssa properties to ospf_area provider #354

Merged
merged 28 commits into from
Jun 23, 2016
Merged

Add nssa properties to ospf_area provider #354

merged 28 commits into from
Jun 23, 2016

Conversation

saichint
Copy link

This PR is for extending cisco_ospf_area with nssa parameters.
All tests pass for all nxos platforms.

@chrisvanheuveln chrisvanheuveln changed the title Ospf area with nssa properties Add nssa properties to ospf_area provider Jun 22, 2016

cisco_ospf_area { 'my_ospf_instance my_vrf 1000':
ensure => 'present',
nssa => 'md5',
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/md5/true/



##### `nssa_no_redistribution`
This property configures not to send redistributed LSAs into NSSA area. Valid values are true, false or keyword 'default'.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

-This property configures not to send redistributed LSAs into NSSA area.
+Disable redistribution within the NSSA.

@chrisvanheuveln chrisvanheuveln merged commit 5f39839 into cisco:develop Jun 23, 2016
mikewiebe added a commit that referenced this pull request Oct 3, 2016
* Added IOS XR support for tacacs_server

* Updated CHANGELOG

* Update CHANGELOG.md

* Added support on IOS XR for tacacs_server_group

* remove sync damage from demo_bridge

* Refactored network_interface provider. Updated tests and code to
support IOS XR.

* Matrix updates for overlay_global & network_trunk

* domain and search options are mutually exclusive

http://man7.org/linux/man-pages/man5/resolv.conf.5.html

* Remove source_interface_hold_down_time for 8k

* Collapse release_1.3.2 to develop

* cisco_bfd_global: new properties (#334)

* manifest

* type file add

* provider file

* array types

* beaker

* add loopback int

* remove name

* fix manifest

* documentation

* comment

* Review comments

* Fix README

* Fix README

* network_snmp ios_xr does not support global enable

* bgp_neighbor: add bfd (#340)

* manifest

* type file add

* provider file

* array types

* beaker

* add loopback int

* remove name

* fix manifest

* documentation

* comment

* Review comments

* Fix README

* Fix README

* add bfd to bgp_neighbor

* bfd prop

* documentation

* Fix BFD caveat

* Update CHANGELOG.md

* search_domain, tests platform agnostic (#343)

* modificatins for snmp_notification on IOS_XR

* test fixes for ios_xr snmp_notification_receiver (#338)

* Add test_get / test_set to command_config (#348)

* Add test_get / test_set to command_config

* Needed a way for beaker to query / set config that didn't have explicit resource support (e.g. disabling a feature)

* test_get is a simple get-only property that does a show running; callers set a filter to parse what they need:
    `puppet resource cisco_command_config 'cc' test_get='incl feature'`

* test_set is a simple set-only property:
    `puppet resource cisco_command_config 'cc' test_set='no feature foo'`

* Tested on n3,n5,n7,n9

* Bad regex in bkr test service_provider_nondefaults.rb

* Add beaker test_get / test_set

* config_find_remove() uses test_get to search for existing configs, then test_set to remove it.

* Fix the fabricpath tests which ran into an issue on n5k when cleaning up 'feature nv overlay' with command_config: Puppet resource removes the config but then immediately does a 'show runn' which gets a SAP timeout on the device itself and the test errors. Using the test_set setter instead of regular command_config gets around this problem because it's a "set-only" with a dummy test_set getter.

* Tested on n5,n7,n9

* test_get: add debugs, comments

* tested on n5

* Skipped tacacs provider test on IOS XR (#350)

* Refactor tests: aaa_group_tacacs (#351)

* Converted to new test syntax

* Tested on n9-i4

* Add cisco_ospf_area provider (#352)

This PR is for cisco_ospf_area provider. The properties do not include nssa and its associated properties. They will be added as part of another user story.

Since this provider becomes absent when all properties are set to default, cisco_pim model is followed for beaker tests.

All demo_manifests and beaker tests passed on all platforms.

Squashed commits:

* first commit

* fix issues

* remove comment

* Fix stub

* fix area to ipaddr or int

* small error

* beaker tests

* documentation

* review comments

* Update README.md

* Review comments about stub

* Added IOS XR support for snmp_user (#353)

* Add nssa properties to ospf_area provider (#354)

* first commit

* fix issues

* remove comment

* Fix stub

* fix area to ipaddr or int

* small error

* beaker tests

* documentation

* review comments

* Update README.md

* Review comments about stub

* nssa

* small correction

* name changes

* fix manifest

* fix nssa_set

* include cmnutils

* beaker test added for nssa

* typo fix

* documentation

* fix docmentation

* fix README

* Fix review comments

* tacacs_global changes for ios_xr (#342)

* router_ospf_area_vlink: new provider (#355)

Adds virtual-link support

* Fixes for cisco_interface_ospf provider (#357)

* Fix interface_ospf provider and beaker

* doc

* doc

* review comments

* minor vrf name change

* to avoid annoying conflict with 'management'

* command_config: undefined method 'previous' (#358)

* Symptom: Simple cc manifest with a faulty line of config:

cisco_command_config { 'interface':
   command  => '
     interface loopback42
     ipv6 pim foo
   '
}

When puppet agent runs the cc provider drops into a rescue which should first print out the parts of the config that were successfully processed and then do a raise, but instead we see:

```
  Error: undefined method 'previous' for #<Cisco::CliError:0x0000000460ac08>
```

* Analysis: `client.rb` was refactored a few months ago, wherein the `previous` hash key was renamed to `successful_input`. The cc providers (both puppet & chef) never got updated with the new key name.
  * Ref: https://github.com/cisco/cisco-network-node-utils/blob/develop/lib/cisco_node_utils/client/nxapi/client.rb#L285

* Testing:

```
Linux# puppet agent -t --debug
 ...
Info: Cisco_command_config[interface](provider=cisco): Successfully updated:
interface loopback42
Error: The command 'ipv6 pim foo' was rejected with error:
% Invalid command

Error: /Stage[main]/Main/Node[default]/Cisco_command_config[interface]/command: change from  to interface loopback42
ipv6 pim foo
 failed: The command 'ipv6 pim foo' was rejected with error:
% Invalid command

```

* Merge release_1.3.2 --> develop (#365)

* Add note on existing_str

* Refactor test_interface.rb into multiple files

* This test was trying to do too much; it became too large and unwieldy to use and troubleshoot.
* Refactor to use new test syntax (test_harness_run)
* File changes:
  *  deleted:    test_interface.rb
  *  new file:   interfacelib.rb
  *  new file:   test_interface_L2.rb
  *  new file:   test_interface_L3.rb
  *  new file:   test_interface_bdi.rb
  *  modified:   test_interface_capabilities.rb
  *  modified:   test_interface_stp.rb
  *  new file:   test_interface_svi.rb
  *  new file:   test_interface_private_vlan.rb

* renamed test_vlan_mapping.rb to test_interface_vlan_mapping.rb

* Only tested on n7k and n9k so far but there's a lot here and I wanted to get some eyes on the changes

* Platform tweaks for test_interface*

* test_interface: add skip_unless_supported plat checks

* Minor change to bail out of the test immediately if the platform does not apply

* test_interface_private_vlan: fix trunk assoc cleanup

* Found a bug on n9k where 'private-vlan association trunk' does not get cleaned up by 'default interface', which breaks this beaker test

* Created a workaround cleanup method that does 'no switchport'

* Tested on N9k-I3

* test_private_vlan: refactor, remove redundancies

* Refactored to use new test syntax; removed unnecessary/redundant tests and some that didn't test anything
* This test suffers from the same idempotency bug as the interface private-vlan code; it will require the same kind of fix

* Tested on n9k-I3, N7

* Bump version number.

* Add testing for switchport_autostate_exclude

* Remove old and redudant access_vlan tests

* Remove old style beaker tests

* normalize_range_array for puppet

This is the puppet counter-part to NU. The notes below are copied from: cisco/cisco-network-node-utils#400
The main difference between these is a default check in Utils.normalize_range_array and that there's no Utils.dash_range_to_elements since that's not needed in puppet.

* The motivation for this change was finding yet another array normalizer in the private vlan code so these changes are initially meant to address fixes there. IMO our range summarize methods were getting a bit long and difficult to maintain; these new methods will hopefully simplify things somewhat.

  * The main problem these methods are trying to solve is reconciling manifest inputs with getter results when there are overlapping ranges; e.g.:
  * '2-5, 9, 4-6'     needs to be ['2-6', '9']
  * ['2', '3', '4-6'] needs to be ['2-6']
  * ['2', '3', '4']   needs to be ['2-4']

* It's fairly easy to merge the ranges if they are actual ruby ranges instead of the dash-syntax ranges, so the new methods just convert to ruby ranges, merge, and convert back.

* Tested on n9k. Additional testing coming on the other platforms, as well well as demo, Readme, etc.

* bgp_af l2vpn

* Fix demo_bgp

* Fix additional_paths_install

* New beaker style vlan tests

* l2vpn/evpn support

* l2vpn/evpn support

* exclude n3k

* review comments

* Review comments

* cisco_interface: deprecate private_vlan*

* private_vlan refactor

* cisco_interface: private_vlan refactor

* Deprecated the private_vlan properties that were released with 1.3.0 and created new pvlan properties in their place.

* This is the companion to NU PR: cisco/cisco-network-node-utils#406

* Updated Type, Provider, Beaker, Demo, README, and CHANGELOG.

* Currently only tested on N7, N9-i3. Additional testing in prog.

* readme and changelog

* readme and changelog

* Update README.md

* pvlan beaker fixups for 6k

* The 6k cli is strict about requiring vlan associations before allowing interface vlan association; therefore I added the dependencies to the test. I need to rerun the test on all the platforms to see if the platform check needs to be tweaked.

* Only tested on n6 so far

* Minor demo_interface changes

* Added some private-vlan dependency resources

* test_interface_private_vlan: n3k platform fixes

* demo manifest as well

* tested on n3-i4,n9-i2,n5,n9-i3,n7

* test_interface_stp needs vlan cleanup

* tested on n9-i3

* Re-add n8k doc references

* Fix some N8k references

* Add N8k back to support table

* Remove extra property

* Fix spacing in rotate property

* anycast_gateway platform checks

* Restrict the anycast test to n9k only

* Tested on n3,n7,n9-i2,n9-i3

* test_interface_service_vni script fixes

* Some cleanup / setup was insufficient

* :non_default was not getting run

* This is only supported on n7k; tested on n7k.

* test_vrf: f3 dependencies

* N7k needs an f3-only vdc for route_distinguisher

* tested on n7

* test_vrf_af: add f3 dependency for 7k

* tested on n7k

* Update README-agent-install.md

* Update README.md

* test_vlan/test_private_vlan: add f3 deps

* Tested on n7

* test_vxlan_vtep*: add f3 deps

* Tested on n7

* Refactor package provider to use rpm - qip (#328)

* Replace regexp with rpm -qip

* patching demo updates

* Updated fail message

* Update demo_patching.pp

* Add back rpm filename regexp support (#329)

* Add back rpm filename regexp support

* Remove debugs

* Update README.md

* interface svi fix

* Remove explicit anycast config

* anycast-gateway-mac is a required dependency; a recent commit added an explicit call to the test file to set this up; BUT we already had existing code for doing this that was part of interfacelib.rb

* The interfacelib code was returning early because of /unless/if/

* Tested on n9-i4

* test_interface_L2 should reset sys_def_switchport

* This test sets the system default switchport state to true but it should reset it to false when it's finished.

* Tested on n9-i4

* test_vxlan_vtep_vni: suppress_uuc broken

* There was a platform exception that tried to add this property using the new test syntax; however this test file uses an older syntax.

* Added an nv overlay hw support check (my n6k does not support nv overlay)

* Tested on n6

* README-agent-install: doc cleanup (#330)

* README-agent-install: doc cleanup

* This doc has had a lot of misc updates in the past so I tried to streamline the content somewhat and organize the sections into discrete steps.

* A couple of things that need a closer look:
 * The RPM table may need updating to reflect the GS fix coming out any day
 * The auto-install section for cisco_node_utils gem is a little weak. I'm not sure if I referenced the correct pp file and used the right directory target.

* README-agent-install.md: Cleanup node-utils section

* README-agent-install.md: fix broken links

* Review comments addressed

* All addressed except for the GS RPM comment.

* README-agent-install: GS RPM v1.5 tested

* Add markdown syntax flags

* README.md cleanup for 1.3.2 (#335)

* Move Document Workflow Map to Documentation Guide table

* README: Move Limitations into Platform Support

* Add Legend & tables

* README: Update Usage section

* README: Move platform support section after resource ref tables

* README.md: minor text change

* URL change: /develop/master/

* Addressed remaining PR comments

* /develop/master/ URL fixup

* test_vdc: fix for non-F3 testbeds (#336)

* test_vdc: fix for non-F3 testbeds

* Updated this test to work with non-F3 N7k testbeds.
  * Initially set the VDC module-type to default state
  * Then set module-type to F3 and test
  * There's no great way to know which way to leave the module-type when this test completes, so:
    * Reset module-type to default for non-F3 testbeds since leaving it as F3 means the device won't have any usable interfaces
    * Noop for F3 testbeds so that it leaves their F3 still usable

* Tested on n6, n7-non-F3

* beaker tests: add F3 dependencies

* vdc, bridge-domain tests

* tested on n6, n7-non-F3

* Fix vxlan_vtep_vni suppress_uuc prop (#341)

* Readme.md changes for itd_service (#346)

* itd_service pre requisite

* cleanup

* cleanup

* review comment

* review comment

* review comment

* Add n8k reference to CHANGELOG

* command_config: undefined method 'previous' (#358)

* Symptom: Simple cc manifest with a faulty line of config:

cisco_command_config { 'interface':
   command  => '
     interface loopback42
     ipv6 pim foo
   '
}

When puppet agent runs the cc provider drops into a rescue which should first print out the parts of the config that were successfully processed and then do a raise, but instead we see:

```
  Error: undefined method 'previous' for #<Cisco::CliError:0x0000000460ac08>
```

* Analysis: `client.rb` was refactored a few months ago, wherein the `previous` hash key was renamed to `successful_input`. The cc providers (both puppet & chef) never got updated with the new key name.
  * Ref: https://github.com/cisco/cisco-network-node-utils/blob/develop/lib/cisco_node_utils/client/nxapi/client.rb#L285

* Testing:

```
Linux# puppet agent -t --debug
 ...
Info: Cisco_command_config[interface](provider=cisco): Successfully updated:
interface loopback42
Error: The command 'ipv6 pim foo' was rejected with error:
% Invalid command

Error: /Stage[main]/Main/Node[default]/Cisco_command_config[interface]/command: change from  to interface loopback42
ipv6 pim foo
 failed: The command 'ipv6 pim foo' was rejected with error:
% Invalid command

```

* New overlay_global behaviors (#360)

* DME changes for l2rib properties resulted in removal of the 'default' keyword from the cli:

    `l2rib dup-host-mac-detection default`

* Prior to this change, 'default' was the only way to reset the host_moves & timeout properties back to default; there was/is no 'no' command, so the only way to reset it now is to re-enter the command with the default values.

* This change necessitates changes to the setter, minitest, and beaker. I also changed the default values to actual integer values instead of empty strings.

* Tested minitest & beaker for: n9-edev,n9-I4,n5,n6. Skips for n3 (normal) and n7 (requires F3 card).

* Remove vsh code (#361)

* Fix cisco_aaa* 'TACACS+ group delete denied, group is in use' issue (#362)

* Added setup and cleanup steps

* Add back needed autorequires

* Added cleanup and teardown calls

* Refactor setup/cleanup

* Remove debug causing beaker tests to error out

* Fix cisco_tacacs* 'TACACS+ group delete denied, group is in use' (#363)

* Added setup and cleanup steps

* Add back needed autorequires

* Added cleanup and teardown calls

* Refactor setup/cleanup

* Remove debug causing beaker tests to error out

* Add setup/cleanup steps

* Fix netdev tacacs* 'TACACS+ group delete denied, group is in use' (#364)

* Added setup and cleanup steps

* Add back needed autorequires

* Added cleanup and teardown calls

* Refactor setup/cleanup

* Remove debug causing beaker tests to error out

* Add setup/cleanup steps

* Add setup/cleanup steps

* Fixed merge issue

* Add noop beaker test

* This is a dummy test for use during CI development

* Move noop.rb to base dir

* Munge events value 'false' to 'size_disable' (#366)

Due to recent platform changes, the CLI for `event_history events
size disable` now results in the config `no event-history events`.

This change munges the manifest value of `false` to `size_disable`.

* Ospf bfd for interfaces (#367)

* Fix interface_ospf provider and beaker

* doc

* doc

* review comments

* bfd added to router ospf vrf

* bfd_per_link added to interface_portchannel

* add bfd and network to int ospf

* add bfd echo to intf

* changelog

* doc

* Remove get_vshell_cmd calls (#368)

* L3 PIM-on-VRF-intf beaker fix (#369)

* ip pim sparse-mode was failing to nvgen during the test
  * Factors: a) the intf is in vrf 'test1'; and, b) 'test1' has not been instantiated yet
  * Normally these forward-references are not a problem but the new DME-based PIM cli is silently rejecting it because the vrf is not instantiated
  * For puppet it's not unreasonable to require a pre-instantiated vrf, and since this change only affects our beaker test I'm just going to update the test. The PIM team did say they would reconsider raising an error for this, or better yet just create the pim cli object regardless of vrf-instantiation state.

* Also fixed a cleanup issue for dot1q sub-ints.

* Tested on N9-I5

* Add Ospf properties for interfaces (#371)

* Fix interface_ospf provider and beaker

* doc

* doc

* review comments

* add mtu, pri, shut and tx delay to int ospf

* documentation

* Fix beaker test bug (#372)

* bug fix for interface_portchannel beaker test (#373)

* Fix interface_ospf provider and beaker

* doc

* doc

* review comments

* add mtu, pri, shut and tx delay to int ospf

* documentation

* bug fix

* Removed, no longer needed

* Remove broken snmp_user XR support (#374)

* Add agent_probe to utility.lib (#375)

* `feature vn-segment-vlan-based` is not supported on some n3k's

* Added a simple helper method to test for h/w support; the result is then used by `unsupported_properties` to update the test cases

* Tested on n3k(3048), n7k, n9k

* Add f3 utility for n7 bkr tests (#376)

* Tested on n7k

* Fix half/full in test_duplex (#377)

* For some 3k, need to munge 'half/full' into csv-style 'half,full' to play nice with interface_capabilities

* This fix is a little trickier than the NU fix because the output from puppet resource is 'raw' whereas the NU output is a pre-processed hash of capabilities; thus we have to be careful not to munge the vsh or puppet resource output.

* Tested on n3048

* Update service provider beaker test to work in guestshell (#378)

* Select service based on OS family

* Update fail_test message

* Add teardowns to beaker (#379)

* f3 handling for test_vrf (#380)

* f3 handling for test_vrf

* N7k setup/cleanup when missing F3 cards

* New `image?` method for checking image version pattern; used as test for unprops

* New `remove_all_vrfs` method that uses `test_get`/`test_set`; this is much faster than removing vrfs one at a time

* Remove :description image check

* Remove redundant cleanup

* f3 setup/teardown for vrf_af

* f3 setup/teardown bridge-domain

* f3 setup/teardown for encap

* bkr setup/teardown cleanups

* f3 setup/teardown for interface_svi

* f3 setup/teardown for service_vni

* f3 setup/teardown test_private_vlan

* f3 setup/teardown for vxlan_vtep*

* f3 setup/teardown for fabricpath_topology

* setup/teardown cleanups for cisco_itd_device_group_node

* beaker fix for resilient and symmetry non support on n3k (#381)

* Fix interface_ospf provider and beaker

* doc

* doc

* review comments

* add mtu, pri, shut and tx delay to int ospf

* documentation

* bug fix

* Fix for symmetry and resilient no support on n3k

* review comment

* rewview comments

* setup/teardown for bfd_global

* setup/teardown bridge_domain

* setup/teardown acl

* setup/teardown bgp_af

* setup/teardown cisco_pim

* Convert test_fabricpath_global to new syntax

* Setup/teardown test_interface_L3

* setup/teardown test_interface_private_vlan

* Convert test_interface_channel_group to new syntax

* Convert test_interface_portchannel to new syntax

* setup/teardown for test_itd_service

* setup/teardown cisco_ospf_area*

* setup/teardown cisco_interface_ospf

* setup/teardown cisco_ospf_vrf

* Bad cleanup test_itd_service

* Convert test_command_config to new syntax

* better cleanup for bfd

* setup/teardown for test_bgp

* setup/teardown test_bgpaf

* better cleanup for pim

* setup/teardown test_bgpneighbor

* Better remove_all_vlans

* setup/teardown test_bgpneighboraf

* ospf_vrf cleanup should remove feature bfd

* setup/teardown test_stp_global

* setup/teardown test_bgpneighbor*

* better cleanup test_interface_L3

* better cleanup test_interface_ospf

* setup/teardown test_interface_portchannel

* setup/teardown test_interface_stp

* setup/teardown test_interface_bdi

* setup/teardown test_evpn_vni

* Convert test_vpc_domain to new syntax

* setup/teardown test_itd_device_group

* Convert test_overlay_global to new syntax

* Rel140/refactor package tests (#382)

* Refactor beaker package tests

* Remove unused code

* Rubocop fix

* Uncomment filename

* Add ensure_prop_override setting

* Rubocop fix

* Fix test_itd_service

* The cleanup in the dependency manifest was turning off 'feature itd' but that needs to be re-enabled in order to configure the itd device-group dependency

* beaker: Remove raise_skip call from summary checker

* test_interface_ospf dependency fix

* Add :array opt to test_get bkr utility

* Enable yum package testing in guestshell (#384)

* Initial gs package test support

* Minor refactoring

* Add camden i2.1 patch details

* Use specific yum patch for camden fcs

* Separate native and gs test flow

* Remove ensure absent in manifest_props

* Enable additional releases

* I5 patch fix

* Use single workflow for gs and native

* Convert test_snmp_server to new syntax (#385)

* Convert test_snmp_server to new syntax

* packetsize was failing on n7k so I just rewrote the test to use the new format

* tested on n7k,n9k-I5

* Fix pktsize cleanup

* Rename test_package.rb -> test_package_patch.rb

* Converted the old style tests to new syntax. (#386)

Most of these are straightforward changes. The package test is complicated on native since third-party rpms require setting up a yum repo, but I set up the test to do the repo init via puppet so we actually get a bit more coverage this way.

* Tested on N5,N7,N9-I5 using native/GS/OAC

* utilitylib: Restore tests[id][:resource]['ensure']

I pulled this out by mistake with this commit:
  2641c7a#diff-e0883d3270eb11e5d50fcdc5c4f83003L603

* test_interface_ospf: Fix process dependency

* A previous test cleanup removed 'router ospf Sample' from the harness dependencies; now the nightly if failing when it tries to configure an ospf config on an interface

* Although the router config is not necessary for the interface config, the failure occurs because the ospf process is still starting up (ospf startup is slow on 5k/6k/8k). The ospf provider already has a 'wait_for_process_initialized' method to handle this slow start, while the interface_ospf provider does not. This is only an issue during testing so I do not propose adding the wait_for method to interface_ospf.

* Tested on n5,n7,n9

* test_interface_ospf: Fix process dependency (#388)

* A previous test cleanup removed 'router ospf Sample' from the harness dependencies; now the nightly if failing when it tries to configure an ospf config on an interface

* Although the router config is not necessary for the interface config, the failure occurs because the ospf process is still starting up (ospf startup is slow on 5k/6k/8k). The ospf provider already has a 'wait_for_process_initialized' method to handle this slow start, while the interface_ospf provider does not. This is only an issue during testing so I do not propose adding the wait_for method to interface_ospf.

* Tested on n5,n7,n9

* Add log.error to beaker search_pattern

* When test_resource fails it just displays what it's expecting to find but it doesn't show what the current output was (which often helps with troubleshooting). This just includes the output when there's a failure.

* Add titles for bgp vrf beaker tests

* Suppress fib pending fix (#387)

* Generalize the method for checking nexus images

* Fix suppress fib pending for non-I5 images

* Clean up image check and post-merge leftovers

* cisco_interface enhancement (#389)

* Fix interface_ospf provider and beaker

* doc

* doc

* review comments

* add mtu, pri, shut and tx delay to int ospf

* documentation

* bug fix

* Fix for symmetry and resilient no support on n3k

* review comment

* rewview comments

* dhcp relay and storm control -- not tested yet

* beaker test

* fix non default test

* removed storm control broadcast and multicast for n7k

* fix munging

* demo manifest changes

* cleanup manifests

* dhcp and l3 are merged

* merge L2 and storm control

* docs

* review comments

* Add'l cleanup for test_interface_ospf

* Fix id bug

* Replace skip_nexus_i2_image() with skip_nexus_image() api call (#390)

* Skip dns provider test instead of error

* Remove commented out call to fail api

* Update test_harness_dependencies for test_interface_ospf.rb (#393)

* Fixed rubocop errors

* Remove debug code

* Dhcp Relay Global (#392)

* Fix interface_ospf provider and beaker

* doc

* doc

* review comments

* add mtu, pri, shut and tx delay to int ospf

* documentation

* bug fix

* Fix for symmetry and resilient no support on n3k

* review comment

* rewview comments

* dhcp relay and storm control -- not tested yet

* beaker test

* fix non default test

* removed storm control broadcast and multicast for n7k

* fix munging

* demo manifest changes

* cleanup manifests

* dhcp and l3 are merged

* merge L2 and storm control

* docs

* review comments

* dhcp_relay_global provider

* beaker

* fix beaker

* Fix provider code for removal of name

* documentation

* typo in beaker

* fix doc

* fix doc

* fix doc for version

* Remove packet_size prop testing for I2 and I3 images

* cisco_interface beaker test (#394)

* Fix interface_ospf provider and beaker

* doc

* doc

* review comments

* add mtu, pri, shut and tx delay to int ospf

* documentation

* bug fix

* Fix for symmetry and resilient no support on n3k

* review comment

* rewview comments

* dhcp relay and storm control -- not tested yet

* beaker test

* fix non default test

* removed storm control broadcast and multicast for n7k

* fix munging

* demo manifest changes

* cleanup manifests

* dhcp and l3 are merged

* merge L2 and storm control

* docs

* review comments

* dhcp_relay_global provider

* beaker

* fix beaker

* Fix provider code for removal of name

* documentation

* typo in beaker

* fix doc

* fix doc

* fix doc for version

* fix beaker test for intf

* Update version -> 1.4.0

* Remove old README doc

* Rel140/test service fix (#396)

* Change test service

* Fix typo in service name

* Switch to functional crond service

* Update changelog

* Add date stamp

* Remove N8K references (#397)

* Remove n8k references from README.md

* Remove n8k references and deprecate beaker agent installer

* Remove n8k checks and align hash rockets

* Remove n8k sample patch

* Document n3k agent install workaround (#398)
mikewiebe added a commit that referenced this pull request Nov 2, 2016
* Added IOS XR support for tacacs_server

* Updated CHANGELOG

* Update CHANGELOG.md

* Added support on IOS XR for tacacs_server_group

* remove sync damage from demo_bridge

* Refactored network_interface provider. Updated tests and code to
support IOS XR.

* Matrix updates for overlay_global & network_trunk

* domain and search options are mutually exclusive

http://man7.org/linux/man-pages/man5/resolv.conf.5.html

* Remove source_interface_hold_down_time for 8k

* Collapse release_1.3.2 to develop

* cisco_bfd_global: new properties (#334)

* manifest

* type file add

* provider file

* array types

* beaker

* add loopback int

* remove name

* fix manifest

* documentation

* comment

* Review comments

* Fix README

* Fix README

* network_snmp ios_xr does not support global enable

* bgp_neighbor: add bfd (#340)

* manifest

* type file add

* provider file

* array types

* beaker

* add loopback int

* remove name

* fix manifest

* documentation

* comment

* Review comments

* Fix README

* Fix README

* add bfd to bgp_neighbor

* bfd prop

* documentation

* Fix BFD caveat

* Update CHANGELOG.md

* search_domain, tests platform agnostic (#343)

* modificatins for snmp_notification on IOS_XR

* test fixes for ios_xr snmp_notification_receiver (#338)

* Add test_get / test_set to command_config (#348)

* Add test_get / test_set to command_config

* Needed a way for beaker to query / set config that didn't have explicit resource support (e.g. disabling a feature)

* test_get is a simple get-only property that does a show running; callers set a filter to parse what they need:
    `puppet resource cisco_command_config 'cc' test_get='incl feature'`

* test_set is a simple set-only property:
    `puppet resource cisco_command_config 'cc' test_set='no feature foo'`

* Tested on n3,n5,n7,n9

* Bad regex in bkr test service_provider_nondefaults.rb

* Add beaker test_get / test_set

* config_find_remove() uses test_get to search for existing configs, then test_set to remove it.

* Fix the fabricpath tests which ran into an issue on n5k when cleaning up 'feature nv overlay' with command_config: Puppet resource removes the config but then immediately does a 'show runn' which gets a SAP timeout on the device itself and the test errors. Using the test_set setter instead of regular command_config gets around this problem because it's a "set-only" with a dummy test_set getter.

* Tested on n5,n7,n9

* test_get: add debugs, comments

* tested on n5

* Skipped tacacs provider test on IOS XR (#350)

* Refactor tests: aaa_group_tacacs (#351)

* Converted to new test syntax

* Tested on n9-i4

* Add cisco_ospf_area provider (#352)

This PR is for cisco_ospf_area provider. The properties do not include nssa and its associated properties. They will be added as part of another user story.

Since this provider becomes absent when all properties are set to default, cisco_pim model is followed for beaker tests.

All demo_manifests and beaker tests passed on all platforms.

Squashed commits:

* first commit

* fix issues

* remove comment

* Fix stub

* fix area to ipaddr or int

* small error

* beaker tests

* documentation

* review comments

* Update README.md

* Review comments about stub

* Added IOS XR support for snmp_user (#353)

* Add nssa properties to ospf_area provider (#354)

* first commit

* fix issues

* remove comment

* Fix stub

* fix area to ipaddr or int

* small error

* beaker tests

* documentation

* review comments

* Update README.md

* Review comments about stub

* nssa

* small correction

* name changes

* fix manifest

* fix nssa_set

* include cmnutils

* beaker test added for nssa

* typo fix

* documentation

* fix docmentation

* fix README

* Fix review comments

* tacacs_global changes for ios_xr (#342)

* router_ospf_area_vlink: new provider (#355)

Adds virtual-link support

* Fixes for cisco_interface_ospf provider (#357)

* Fix interface_ospf provider and beaker

* doc

* doc

* review comments

* minor vrf name change

* to avoid annoying conflict with 'management'

* command_config: undefined method 'previous' (#358)

* Symptom: Simple cc manifest with a faulty line of config:

cisco_command_config { 'interface':
   command  => '
     interface loopback42
     ipv6 pim foo
   '
}

When puppet agent runs the cc provider drops into a rescue which should first print out the parts of the config that were successfully processed and then do a raise, but instead we see:

```
  Error: undefined method 'previous' for #<Cisco::CliError:0x0000000460ac08>
```

* Analysis: `client.rb` was refactored a few months ago, wherein the `previous` hash key was renamed to `successful_input`. The cc providers (both puppet & chef) never got updated with the new key name.
  * Ref: https://github.com/cisco/cisco-network-node-utils/blob/develop/lib/cisco_node_utils/client/nxapi/client.rb#L285

* Testing:

```
Linux# puppet agent -t --debug
 ...
Info: Cisco_command_config[interface](provider=cisco): Successfully updated:
interface loopback42
Error: The command 'ipv6 pim foo' was rejected with error:
% Invalid command

Error: /Stage[main]/Main/Node[default]/Cisco_command_config[interface]/command: change from  to interface loopback42
ipv6 pim foo
 failed: The command 'ipv6 pim foo' was rejected with error:
% Invalid command

```

* Merge release_1.3.2 --> develop (#365)

* Add note on existing_str

* Refactor test_interface.rb into multiple files

* This test was trying to do too much; it became too large and unwieldy to use and troubleshoot.
* Refactor to use new test syntax (test_harness_run)
* File changes:
  *  deleted:    test_interface.rb
  *  new file:   interfacelib.rb
  *  new file:   test_interface_L2.rb
  *  new file:   test_interface_L3.rb
  *  new file:   test_interface_bdi.rb
  *  modified:   test_interface_capabilities.rb
  *  modified:   test_interface_stp.rb
  *  new file:   test_interface_svi.rb
  *  new file:   test_interface_private_vlan.rb

* renamed test_vlan_mapping.rb to test_interface_vlan_mapping.rb

* Only tested on n7k and n9k so far but there's a lot here and I wanted to get some eyes on the changes

* Platform tweaks for test_interface*

* test_interface: add skip_unless_supported plat checks

* Minor change to bail out of the test immediately if the platform does not apply

* test_interface_private_vlan: fix trunk assoc cleanup

* Found a bug on n9k where 'private-vlan association trunk' does not get cleaned up by 'default interface', which breaks this beaker test

* Created a workaround cleanup method that does 'no switchport'

* Tested on N9k-I3

* test_private_vlan: refactor, remove redundancies

* Refactored to use new test syntax; removed unnecessary/redundant tests and some that didn't test anything
* This test suffers from the same idempotency bug as the interface private-vlan code; it will require the same kind of fix

* Tested on n9k-I3, N7

* Bump version number.

* Add testing for switchport_autostate_exclude

* Remove old and redudant access_vlan tests

* Remove old style beaker tests

* normalize_range_array for puppet

This is the puppet counter-part to NU. The notes below are copied from: cisco/cisco-network-node-utils#400
The main difference between these is a default check in Utils.normalize_range_array and that there's no Utils.dash_range_to_elements since that's not needed in puppet.

* The motivation for this change was finding yet another array normalizer in the private vlan code so these changes are initially meant to address fixes there. IMO our range summarize methods were getting a bit long and difficult to maintain; these new methods will hopefully simplify things somewhat.

  * The main problem these methods are trying to solve is reconciling manifest inputs with getter results when there are overlapping ranges; e.g.:
  * '2-5, 9, 4-6'     needs to be ['2-6', '9']
  * ['2', '3', '4-6'] needs to be ['2-6']
  * ['2', '3', '4']   needs to be ['2-4']

* It's fairly easy to merge the ranges if they are actual ruby ranges instead of the dash-syntax ranges, so the new methods just convert to ruby ranges, merge, and convert back.

* Tested on n9k. Additional testing coming on the other platforms, as well well as demo, Readme, etc.

* bgp_af l2vpn

* Fix demo_bgp

* Fix additional_paths_install

* New beaker style vlan tests

* l2vpn/evpn support

* l2vpn/evpn support

* exclude n3k

* review comments

* Review comments

* cisco_interface: deprecate private_vlan*

* private_vlan refactor

* cisco_interface: private_vlan refactor

* Deprecated the private_vlan properties that were released with 1.3.0 and created new pvlan properties in their place.

* This is the companion to NU PR: cisco/cisco-network-node-utils#406

* Updated Type, Provider, Beaker, Demo, README, and CHANGELOG.

* Currently only tested on N7, N9-i3. Additional testing in prog.

* readme and changelog

* readme and changelog

* Update README.md

* pvlan beaker fixups for 6k

* The 6k cli is strict about requiring vlan associations before allowing interface vlan association; therefore I added the dependencies to the test. I need to rerun the test on all the platforms to see if the platform check needs to be tweaked.

* Only tested on n6 so far

* Minor demo_interface changes

* Added some private-vlan dependency resources

* test_interface_private_vlan: n3k platform fixes

* demo manifest as well

* tested on n3-i4,n9-i2,n5,n9-i3,n7

* test_interface_stp needs vlan cleanup

* tested on n9-i3

* Re-add n8k doc references

* Fix some N8k references

* Add N8k back to support table

* Remove extra property

* Fix spacing in rotate property

* anycast_gateway platform checks

* Restrict the anycast test to n9k only

* Tested on n3,n7,n9-i2,n9-i3

* test_interface_service_vni script fixes

* Some cleanup / setup was insufficient

* :non_default was not getting run

* This is only supported on n7k; tested on n7k.

* test_vrf: f3 dependencies

* N7k needs an f3-only vdc for route_distinguisher

* tested on n7

* test_vrf_af: add f3 dependency for 7k

* tested on n7k

* Update README-agent-install.md

* Update README.md

* test_vlan/test_private_vlan: add f3 deps

* Tested on n7

* test_vxlan_vtep*: add f3 deps

* Tested on n7

* Refactor package provider to use rpm - qip (#328)

* Replace regexp with rpm -qip

* patching demo updates

* Updated fail message

* Update demo_patching.pp

* Add back rpm filename regexp support (#329)

* Add back rpm filename regexp support

* Remove debugs

* Update README.md

* interface svi fix

* Remove explicit anycast config

* anycast-gateway-mac is a required dependency; a recent commit added an explicit call to the test file to set this up; BUT we already had existing code for doing this that was part of interfacelib.rb

* The interfacelib code was returning early because of /unless/if/

* Tested on n9-i4

* test_interface_L2 should reset sys_def_switchport

* This test sets the system default switchport state to true but it should reset it to false when it's finished.

* Tested on n9-i4

* test_vxlan_vtep_vni: suppress_uuc broken

* There was a platform exception that tried to add this property using the new test syntax; however this test file uses an older syntax.

* Added an nv overlay hw support check (my n6k does not support nv overlay)

* Tested on n6

* README-agent-install: doc cleanup (#330)

* README-agent-install: doc cleanup

* This doc has had a lot of misc updates in the past so I tried to streamline the content somewhat and organize the sections into discrete steps.

* A couple of things that need a closer look:
 * The RPM table may need updating to reflect the GS fix coming out any day
 * The auto-install section for cisco_node_utils gem is a little weak. I'm not sure if I referenced the correct pp file and used the right directory target.

* README-agent-install.md: Cleanup node-utils section

* README-agent-install.md: fix broken links

* Review comments addressed

* All addressed except for the GS RPM comment.

* README-agent-install: GS RPM v1.5 tested

* Add markdown syntax flags

* README.md cleanup for 1.3.2 (#335)

* Move Document Workflow Map to Documentation Guide table

* README: Move Limitations into Platform Support

* Add Legend & tables

* README: Update Usage section

* README: Move platform support section after resource ref tables

* README.md: minor text change

* URL change: /develop/master/

* Addressed remaining PR comments

* /develop/master/ URL fixup

* test_vdc: fix for non-F3 testbeds (#336)

* test_vdc: fix for non-F3 testbeds

* Updated this test to work with non-F3 N7k testbeds.
  * Initially set the VDC module-type to default state
  * Then set module-type to F3 and test
  * There's no great way to know which way to leave the module-type when this test completes, so:
    * Reset module-type to default for non-F3 testbeds since leaving it as F3 means the device won't have any usable interfaces
    * Noop for F3 testbeds so that it leaves their F3 still usable

* Tested on n6, n7-non-F3

* beaker tests: add F3 dependencies

* vdc, bridge-domain tests

* tested on n6, n7-non-F3

* Fix vxlan_vtep_vni suppress_uuc prop (#341)

* Readme.md changes for itd_service (#346)

* itd_service pre requisite

* cleanup

* cleanup

* review comment

* review comment

* review comment

* Add n8k reference to CHANGELOG

* command_config: undefined method 'previous' (#358)

* Symptom: Simple cc manifest with a faulty line of config:

cisco_command_config { 'interface':
   command  => '
     interface loopback42
     ipv6 pim foo
   '
}

When puppet agent runs the cc provider drops into a rescue which should first print out the parts of the config that were successfully processed and then do a raise, but instead we see:

```
  Error: undefined method 'previous' for #<Cisco::CliError:0x0000000460ac08>
```

* Analysis: `client.rb` was refactored a few months ago, wherein the `previous` hash key was renamed to `successful_input`. The cc providers (both puppet & chef) never got updated with the new key name.
  * Ref: https://github.com/cisco/cisco-network-node-utils/blob/develop/lib/cisco_node_utils/client/nxapi/client.rb#L285

* Testing:

```
Linux# puppet agent -t --debug
 ...
Info: Cisco_command_config[interface](provider=cisco): Successfully updated:
interface loopback42
Error: The command 'ipv6 pim foo' was rejected with error:
% Invalid command

Error: /Stage[main]/Main/Node[default]/Cisco_command_config[interface]/command: change from  to interface loopback42
ipv6 pim foo
 failed: The command 'ipv6 pim foo' was rejected with error:
% Invalid command

```

* New overlay_global behaviors (#360)

* DME changes for l2rib properties resulted in removal of the 'default' keyword from the cli:

    `l2rib dup-host-mac-detection default`

* Prior to this change, 'default' was the only way to reset the host_moves & timeout properties back to default; there was/is no 'no' command, so the only way to reset it now is to re-enter the command with the default values.

* This change necessitates changes to the setter, minitest, and beaker. I also changed the default values to actual integer values instead of empty strings.

* Tested minitest & beaker for: n9-edev,n9-I4,n5,n6. Skips for n3 (normal) and n7 (requires F3 card).

* Remove vsh code (#361)

* Fix cisco_aaa* 'TACACS+ group delete denied, group is in use' issue (#362)

* Added setup and cleanup steps

* Add back needed autorequires

* Added cleanup and teardown calls

* Refactor setup/cleanup

* Remove debug causing beaker tests to error out

* Fix cisco_tacacs* 'TACACS+ group delete denied, group is in use' (#363)

* Added setup and cleanup steps

* Add back needed autorequires

* Added cleanup and teardown calls

* Refactor setup/cleanup

* Remove debug causing beaker tests to error out

* Add setup/cleanup steps

* Fix netdev tacacs* 'TACACS+ group delete denied, group is in use' (#364)

* Added setup and cleanup steps

* Add back needed autorequires

* Added cleanup and teardown calls

* Refactor setup/cleanup

* Remove debug causing beaker tests to error out

* Add setup/cleanup steps

* Add setup/cleanup steps

* Fixed merge issue

* Add noop beaker test

* This is a dummy test for use during CI development

* Move noop.rb to base dir

* Munge events value 'false' to 'size_disable' (#366)

Due to recent platform changes, the CLI for `event_history events
size disable` now results in the config `no event-history events`.

This change munges the manifest value of `false` to `size_disable`.

* Ospf bfd for interfaces (#367)

* Fix interface_ospf provider and beaker

* doc

* doc

* review comments

* bfd added to router ospf vrf

* bfd_per_link added to interface_portchannel

* add bfd and network to int ospf

* add bfd echo to intf

* changelog

* doc

* Remove get_vshell_cmd calls (#368)

* L3 PIM-on-VRF-intf beaker fix (#369)

* ip pim sparse-mode was failing to nvgen during the test
  * Factors: a) the intf is in vrf 'test1'; and, b) 'test1' has not been instantiated yet
  * Normally these forward-references are not a problem but the new DME-based PIM cli is silently rejecting it because the vrf is not instantiated
  * For puppet it's not unreasonable to require a pre-instantiated vrf, and since this change only affects our beaker test I'm just going to update the test. The PIM team did say they would reconsider raising an error for this, or better yet just create the pim cli object regardless of vrf-instantiation state.

* Also fixed a cleanup issue for dot1q sub-ints.

* Tested on N9-I5

* Add Ospf properties for interfaces (#371)

* Fix interface_ospf provider and beaker

* doc

* doc

* review comments

* add mtu, pri, shut and tx delay to int ospf

* documentation

* Fix beaker test bug (#372)

* bug fix for interface_portchannel beaker test (#373)

* Fix interface_ospf provider and beaker

* doc

* doc

* review comments

* add mtu, pri, shut and tx delay to int ospf

* documentation

* bug fix

* Removed, no longer needed

* Remove broken snmp_user XR support (#374)

* Add agent_probe to utility.lib (#375)

* `feature vn-segment-vlan-based` is not supported on some n3k's

* Added a simple helper method to test for h/w support; the result is then used by `unsupported_properties` to update the test cases

* Tested on n3k(3048), n7k, n9k

* Add f3 utility for n7 bkr tests (#376)

* Tested on n7k

* Fix half/full in test_duplex (#377)

* For some 3k, need to munge 'half/full' into csv-style 'half,full' to play nice with interface_capabilities

* This fix is a little trickier than the NU fix because the output from puppet resource is 'raw' whereas the NU output is a pre-processed hash of capabilities; thus we have to be careful not to munge the vsh or puppet resource output.

* Tested on n3048

* Update service provider beaker test to work in guestshell (#378)

* Select service based on OS family

* Update fail_test message

* Add teardowns to beaker (#379)

* f3 handling for test_vrf (#380)

* f3 handling for test_vrf

* N7k setup/cleanup when missing F3 cards

* New `image?` method for checking image version pattern; used as test for unprops

* New `remove_all_vrfs` method that uses `test_get`/`test_set`; this is much faster than removing vrfs one at a time

* Remove :description image check

* Remove redundant cleanup

* f3 setup/teardown for vrf_af

* f3 setup/teardown bridge-domain

* f3 setup/teardown for encap

* bkr setup/teardown cleanups

* f3 setup/teardown for interface_svi

* f3 setup/teardown for service_vni

* f3 setup/teardown test_private_vlan

* f3 setup/teardown for vxlan_vtep*

* f3 setup/teardown for fabricpath_topology

* setup/teardown cleanups for cisco_itd_device_group_node

* beaker fix for resilient and symmetry non support on n3k (#381)

* Fix interface_ospf provider and beaker

* doc

* doc

* review comments

* add mtu, pri, shut and tx delay to int ospf

* documentation

* bug fix

* Fix for symmetry and resilient no support on n3k

* review comment

* rewview comments

* setup/teardown for bfd_global

* setup/teardown bridge_domain

* setup/teardown acl

* setup/teardown bgp_af

* setup/teardown cisco_pim

* Convert test_fabricpath_global to new syntax

* Setup/teardown test_interface_L3

* setup/teardown test_interface_private_vlan

* Convert test_interface_channel_group to new syntax

* Convert test_interface_portchannel to new syntax

* setup/teardown for test_itd_service

* setup/teardown cisco_ospf_area*

* setup/teardown cisco_interface_ospf

* setup/teardown cisco_ospf_vrf

* Bad cleanup test_itd_service

* Convert test_command_config to new syntax

* better cleanup for bfd

* setup/teardown for test_bgp

* setup/teardown test_bgpaf

* better cleanup for pim

* setup/teardown test_bgpneighbor

* Better remove_all_vlans

* setup/teardown test_bgpneighboraf

* ospf_vrf cleanup should remove feature bfd

* setup/teardown test_stp_global

* setup/teardown test_bgpneighbor*

* better cleanup test_interface_L3

* better cleanup test_interface_ospf

* setup/teardown test_interface_portchannel

* setup/teardown test_interface_stp

* setup/teardown test_interface_bdi

* setup/teardown test_evpn_vni

* Convert test_vpc_domain to new syntax

* setup/teardown test_itd_device_group

* Convert test_overlay_global to new syntax

* Rel140/refactor package tests (#382)

* Refactor beaker package tests

* Remove unused code

* Rubocop fix

* Uncomment filename

* Add ensure_prop_override setting

* Rubocop fix

* Fix test_itd_service

* The cleanup in the dependency manifest was turning off 'feature itd' but that needs to be re-enabled in order to configure the itd device-group dependency

* beaker: Remove raise_skip call from summary checker

* test_interface_ospf dependency fix

* Add :array opt to test_get bkr utility

* Enable yum package testing in guestshell (#384)

* Initial gs package test support

* Minor refactoring

* Add camden i2.1 patch details

* Use specific yum patch for camden fcs

* Separate native and gs test flow

* Remove ensure absent in manifest_props

* Enable additional releases

* I5 patch fix

* Use single workflow for gs and native

* Convert test_snmp_server to new syntax (#385)

* Convert test_snmp_server to new syntax

* packetsize was failing on n7k so I just rewrote the test to use the new format

* tested on n7k,n9k-I5

* Fix pktsize cleanup

* Rename test_package.rb -> test_package_patch.rb

* Converted the old style tests to new syntax. (#386)

Most of these are straightforward changes. The package test is complicated on native since third-party rpms require setting up a yum repo, but I set up the test to do the repo init via puppet so we actually get a bit more coverage this way.

* Tested on N5,N7,N9-I5 using native/GS/OAC

* utilitylib: Restore tests[id][:resource]['ensure']

I pulled this out by mistake with this commit:
  2641c7a#diff-e0883d3270eb11e5d50fcdc5c4f83003L603

* test_interface_ospf: Fix process dependency

* A previous test cleanup removed 'router ospf Sample' from the harness dependencies; now the nightly if failing when it tries to configure an ospf config on an interface

* Although the router config is not necessary for the interface config, the failure occurs because the ospf process is still starting up (ospf startup is slow on 5k/6k/8k). The ospf provider already has a 'wait_for_process_initialized' method to handle this slow start, while the interface_ospf provider does not. This is only an issue during testing so I do not propose adding the wait_for method to interface_ospf.

* Tested on n5,n7,n9

* test_interface_ospf: Fix process dependency (#388)

* A previous test cleanup removed 'router ospf Sample' from the harness dependencies; now the nightly if failing when it tries to configure an ospf config on an interface

* Although the router config is not necessary for the interface config, the failure occurs because the ospf process is still starting up (ospf startup is slow on 5k/6k/8k). The ospf provider already has a 'wait_for_process_initialized' method to handle this slow start, while the interface_ospf provider does not. This is only an issue during testing so I do not propose adding the wait_for method to interface_ospf.

* Tested on n5,n7,n9

* Add log.error to beaker search_pattern

* When test_resource fails it just displays what it's expecting to find but it doesn't show what the current output was (which often helps with troubleshooting). This just includes the output when there's a failure.

* Add titles for bgp vrf beaker tests

* Suppress fib pending fix (#387)

* Generalize the method for checking nexus images

* Fix suppress fib pending for non-I5 images

* Clean up image check and post-merge leftovers

* cisco_interface enhancement (#389)

* Fix interface_ospf provider and beaker

* doc

* doc

* review comments

* add mtu, pri, shut and tx delay to int ospf

* documentation

* bug fix

* Fix for symmetry and resilient no support on n3k

* review comment

* rewview comments

* dhcp relay and storm control -- not tested yet

* beaker test

* fix non default test

* removed storm control broadcast and multicast for n7k

* fix munging

* demo manifest changes

* cleanup manifests

* dhcp and l3 are merged

* merge L2 and storm control

* docs

* review comments

* Add'l cleanup for test_interface_ospf

* Fix id bug

* Replace skip_nexus_i2_image() with skip_nexus_image() api call (#390)

* Skip dns provider test instead of error

* Remove commented out call to fail api

* Update test_harness_dependencies for test_interface_ospf.rb (#393)

* Fixed rubocop errors

* Remove debug code

* Dhcp Relay Global (#392)

* Fix interface_ospf provider and beaker

* doc

* doc

* review comments

* add mtu, pri, shut and tx delay to int ospf

* documentation

* bug fix

* Fix for symmetry and resilient no support on n3k

* review comment

* rewview comments

* dhcp relay and storm control -- not tested yet

* beaker test

* fix non default test

* removed storm control broadcast and multicast for n7k

* fix munging

* demo manifest changes

* cleanup manifests

* dhcp and l3 are merged

* merge L2 and storm control

* docs

* review comments

* dhcp_relay_global provider

* beaker

* fix beaker

* Fix provider code for removal of name

* documentation

* typo in beaker

* fix doc

* fix doc

* fix doc for version

* Remove packet_size prop testing for I2 and I3 images

* cisco_interface beaker test (#394)

* Fix interface_ospf provider and beaker

* doc

* doc

* review comments

* add mtu, pri, shut and tx delay to int ospf

* documentation

* bug fix

* Fix for symmetry and resilient no support on n3k

* review comment

* rewview comments

* dhcp relay and storm control -- not tested yet

* beaker test

* fix non default test

* removed storm control broadcast and multicast for n7k

* fix munging

* demo manifest changes

* cleanup manifests

* dhcp and l3 are merged

* merge L2 and storm control

* docs

* review comments

* dhcp_relay_global provider

* beaker

* fix beaker

* Fix provider code for removal of name

* documentation

* typo in beaker

* fix doc

* fix doc

* fix doc for version

* fix beaker test for intf

* event_history_periodic changes for bgp (#395)

* Fix interface_ospf provider and beaker

* doc

* doc

* review comments

* add mtu, pri, shut and tx delay to int ospf

* documentation

* bug fix

* Fix for symmetry and resilient no support on n3k

* review comment

* rewview comments

* dhcp relay and storm control -- not tested yet

* beaker test

* fix non default test

* removed storm control broadcast and multicast for n7k

* fix munging

* demo manifest changes

* cleanup manifests

* dhcp and l3 are merged

* merge L2 and storm control

* docs

* review comments

* dhcp_relay_global provider

* beaker

* fix beaker

* Fix provider code for removal of name

* documentation

* typo in beaker

* fix doc

* fix doc

* fix doc for version

* fix beaker test for intf

* fix bgp for event_history

* move facter to provider

* beaker for event_history_periodic

* documentation

* review comments

* review comments

* bgp event_history (#400)

* fix bgp event-history

* beaker changes

* doc and manifest

* review comments

* manifest review comment

* Rel141/lacp suspend (#401)

* Fix lacp_suspend_individual property issue in evergreen

* Remove unneeded test_set call in test_interface_portchannel.rb

* Update README.me with lacp_suspend_individual caveat

* Futher clarify caveat for lacp_suspend_individual property

* Futher clarify caveat for lacp_suspend_individual property

* Test non-default value for n3k

* fix vrf beaker (#402)

* Delete old README file.

* Update version and release info in metadata.json

* Update CHANGELOG.md

* Scrub n8k references.

* Scrub N8k References

* Remove redundant section and n3k workaround

* Remove n8k references and add I5 sample patch

* Update cisco_node_utils.rb

* Update CHANGELOG.md
mikewiebe added a commit that referenced this pull request Jan 10, 2017
* Added IOS XR support for tacacs_server

* Updated CHANGELOG

* Update CHANGELOG.md

* Added support on IOS XR for tacacs_server_group

* remove sync damage from demo_bridge

* Refactored network_interface provider. Updated tests and code to
support IOS XR.

* Matrix updates for overlay_global & network_trunk

* domain and search options are mutually exclusive

http://man7.org/linux/man-pages/man5/resolv.conf.5.html

* Remove source_interface_hold_down_time for 8k

* Collapse release_1.3.2 to develop

* cisco_bfd_global: new properties (#334)

* manifest

* type file add

* provider file

* array types

* beaker

* add loopback int

* remove name

* fix manifest

* documentation

* comment

* Review comments

* Fix README

* Fix README

* network_snmp ios_xr does not support global enable

* bgp_neighbor: add bfd (#340)

* manifest

* type file add

* provider file

* array types

* beaker

* add loopback int

* remove name

* fix manifest

* documentation

* comment

* Review comments

* Fix README

* Fix README

* add bfd to bgp_neighbor

* bfd prop

* documentation

* Fix BFD caveat

* Update CHANGELOG.md

* search_domain, tests platform agnostic (#343)

* modificatins for snmp_notification on IOS_XR

* test fixes for ios_xr snmp_notification_receiver (#338)

* Add test_get / test_set to command_config (#348)

* Add test_get / test_set to command_config

* Needed a way for beaker to query / set config that didn't have explicit resource support (e.g. disabling a feature)

* test_get is a simple get-only property that does a show running; callers set a filter to parse what they need:
    `puppet resource cisco_command_config 'cc' test_get='incl feature'`

* test_set is a simple set-only property:
    `puppet resource cisco_command_config 'cc' test_set='no feature foo'`

* Tested on n3,n5,n7,n9

* Bad regex in bkr test service_provider_nondefaults.rb

* Add beaker test_get / test_set

* config_find_remove() uses test_get to search for existing configs, then test_set to remove it.

* Fix the fabricpath tests which ran into an issue on n5k when cleaning up 'feature nv overlay' with command_config: Puppet resource removes the config but then immediately does a 'show runn' which gets a SAP timeout on the device itself and the test errors. Using the test_set setter instead of regular command_config gets around this problem because it's a "set-only" with a dummy test_set getter.

* Tested on n5,n7,n9

* test_get: add debugs, comments

* tested on n5

* Skipped tacacs provider test on IOS XR (#350)

* Refactor tests: aaa_group_tacacs (#351)

* Converted to new test syntax

* Tested on n9-i4

* Add cisco_ospf_area provider (#352)

This PR is for cisco_ospf_area provider. The properties do not include nssa and its associated properties. They will be added as part of another user story.

Since this provider becomes absent when all properties are set to default, cisco_pim model is followed for beaker tests.

All demo_manifests and beaker tests passed on all platforms.

Squashed commits:

* first commit

* fix issues

* remove comment

* Fix stub

* fix area to ipaddr or int

* small error

* beaker tests

* documentation

* review comments

* Update README.md

* Review comments about stub

* Added IOS XR support for snmp_user (#353)

* Add nssa properties to ospf_area provider (#354)

* first commit

* fix issues

* remove comment

* Fix stub

* fix area to ipaddr or int

* small error

* beaker tests

* documentation

* review comments

* Update README.md

* Review comments about stub

* nssa

* small correction

* name changes

* fix manifest

* fix nssa_set

* include cmnutils

* beaker test added for nssa

* typo fix

* documentation

* fix docmentation

* fix README

* Fix review comments

* tacacs_global changes for ios_xr (#342)

* router_ospf_area_vlink: new provider (#355)

Adds virtual-link support

* Fixes for cisco_interface_ospf provider (#357)

* Fix interface_ospf provider and beaker

* doc

* doc

* review comments

* minor vrf name change

* to avoid annoying conflict with 'management'

* command_config: undefined method 'previous' (#358)

* Symptom: Simple cc manifest with a faulty line of config:

cisco_command_config { 'interface':
   command  => '
     interface loopback42
     ipv6 pim foo
   '
}

When puppet agent runs the cc provider drops into a rescue which should first print out the parts of the config that were successfully processed and then do a raise, but instead we see:

```
  Error: undefined method 'previous' for #<Cisco::CliError:0x0000000460ac08>
```

* Analysis: `client.rb` was refactored a few months ago, wherein the `previous` hash key was renamed to `successful_input`. The cc providers (both puppet & chef) never got updated with the new key name.
  * Ref: https://github.com/cisco/cisco-network-node-utils/blob/develop/lib/cisco_node_utils/client/nxapi/client.rb#L285

* Testing:

```
Linux# puppet agent -t --debug
 ...
Info: Cisco_command_config[interface](provider=cisco): Successfully updated:
interface loopback42
Error: The command 'ipv6 pim foo' was rejected with error:
% Invalid command

Error: /Stage[main]/Main/Node[default]/Cisco_command_config[interface]/command: change from  to interface loopback42
ipv6 pim foo
 failed: The command 'ipv6 pim foo' was rejected with error:
% Invalid command

```

* Merge release_1.3.2 --> develop (#365)

* Add note on existing_str

* Refactor test_interface.rb into multiple files

* This test was trying to do too much; it became too large and unwieldy to use and troubleshoot.
* Refactor to use new test syntax (test_harness_run)
* File changes:
  *  deleted:    test_interface.rb
  *  new file:   interfacelib.rb
  *  new file:   test_interface_L2.rb
  *  new file:   test_interface_L3.rb
  *  new file:   test_interface_bdi.rb
  *  modified:   test_interface_capabilities.rb
  *  modified:   test_interface_stp.rb
  *  new file:   test_interface_svi.rb
  *  new file:   test_interface_private_vlan.rb

* renamed test_vlan_mapping.rb to test_interface_vlan_mapping.rb

* Only tested on n7k and n9k so far but there's a lot here and I wanted to get some eyes on the changes

* Platform tweaks for test_interface*

* test_interface: add skip_unless_supported plat checks

* Minor change to bail out of the test immediately if the platform does not apply

* test_interface_private_vlan: fix trunk assoc cleanup

* Found a bug on n9k where 'private-vlan association trunk' does not get cleaned up by 'default interface', which breaks this beaker test

* Created a workaround cleanup method that does 'no switchport'

* Tested on N9k-I3

* test_private_vlan: refactor, remove redundancies

* Refactored to use new test syntax; removed unnecessary/redundant tests and some that didn't test anything
* This test suffers from the same idempotency bug as the interface private-vlan code; it will require the same kind of fix

* Tested on n9k-I3, N7

* Bump version number.

* Add testing for switchport_autostate_exclude

* Remove old and redudant access_vlan tests

* Remove old style beaker tests

* normalize_range_array for puppet

This is the puppet counter-part to NU. The notes below are copied from: cisco/cisco-network-node-utils#400
The main difference between these is a default check in Utils.normalize_range_array and that there's no Utils.dash_range_to_elements since that's not needed in puppet.

* The motivation for this change was finding yet another array normalizer in the private vlan code so these changes are initially meant to address fixes there. IMO our range summarize methods were getting a bit long and difficult to maintain; these new methods will hopefully simplify things somewhat.

  * The main problem these methods are trying to solve is reconciling manifest inputs with getter results when there are overlapping ranges; e.g.:
  * '2-5, 9, 4-6'     needs to be ['2-6', '9']
  * ['2', '3', '4-6'] needs to be ['2-6']
  * ['2', '3', '4']   needs to be ['2-4']

* It's fairly easy to merge the ranges if they are actual ruby ranges instead of the dash-syntax ranges, so the new methods just convert to ruby ranges, merge, and convert back.

* Tested on n9k. Additional testing coming on the other platforms, as well well as demo, Readme, etc.

* bgp_af l2vpn

* Fix demo_bgp

* Fix additional_paths_install

* New beaker style vlan tests

* l2vpn/evpn support

* l2vpn/evpn support

* exclude n3k

* review comments

* Review comments

* cisco_interface: deprecate private_vlan*

* private_vlan refactor

* cisco_interface: private_vlan refactor

* Deprecated the private_vlan properties that were released with 1.3.0 and created new pvlan properties in their place.

* This is the companion to NU PR: cisco/cisco-network-node-utils#406

* Updated Type, Provider, Beaker, Demo, README, and CHANGELOG.

* Currently only tested on N7, N9-i3. Additional testing in prog.

* readme and changelog

* readme and changelog

* Update README.md

* pvlan beaker fixups for 6k

* The 6k cli is strict about requiring vlan associations before allowing interface vlan association; therefore I added the dependencies to the test. I need to rerun the test on all the platforms to see if the platform check needs to be tweaked.

* Only tested on n6 so far

* Minor demo_interface changes

* Added some private-vlan dependency resources

* test_interface_private_vlan: n3k platform fixes

* demo manifest as well

* tested on n3-i4,n9-i2,n5,n9-i3,n7

* test_interface_stp needs vlan cleanup

* tested on n9-i3

* Re-add n8k doc references

* Fix some N8k references

* Add N8k back to support table

* Remove extra property

* Fix spacing in rotate property

* anycast_gateway platform checks

* Restrict the anycast test to n9k only

* Tested on n3,n7,n9-i2,n9-i3

* test_interface_service_vni script fixes

* Some cleanup / setup was insufficient

* :non_default was not getting run

* This is only supported on n7k; tested on n7k.

* test_vrf: f3 dependencies

* N7k needs an f3-only vdc for route_distinguisher

* tested on n7

* test_vrf_af: add f3 dependency for 7k

* tested on n7k

* Update README-agent-install.md

* Update README.md

* test_vlan/test_private_vlan: add f3 deps

* Tested on n7

* test_vxlan_vtep*: add f3 deps

* Tested on n7

* Refactor package provider to use rpm - qip (#328)

* Replace regexp with rpm -qip

* patching demo updates

* Updated fail message

* Update demo_patching.pp

* Add back rpm filename regexp support (#329)

* Add back rpm filename regexp support

* Remove debugs

* Update README.md

* interface svi fix

* Remove explicit anycast config

* anycast-gateway-mac is a required dependency; a recent commit added an explicit call to the test file to set this up; BUT we already had existing code for doing this that was part of interfacelib.rb

* The interfacelib code was returning early because of /unless/if/

* Tested on n9-i4

* test_interface_L2 should reset sys_def_switchport

* This test sets the system default switchport state to true but it should reset it to false when it's finished.

* Tested on n9-i4

* test_vxlan_vtep_vni: suppress_uuc broken

* There was a platform exception that tried to add this property using the new test syntax; however this test file uses an older syntax.

* Added an nv overlay hw support check (my n6k does not support nv overlay)

* Tested on n6

* README-agent-install: doc cleanup (#330)

* README-agent-install: doc cleanup

* This doc has had a lot of misc updates in the past so I tried to streamline the content somewhat and organize the sections into discrete steps.

* A couple of things that need a closer look:
 * The RPM table may need updating to reflect the GS fix coming out any day
 * The auto-install section for cisco_node_utils gem is a little weak. I'm not sure if I referenced the correct pp file and used the right directory target.

* README-agent-install.md: Cleanup node-utils section

* README-agent-install.md: fix broken links

* Review comments addressed

* All addressed except for the GS RPM comment.

* README-agent-install: GS RPM v1.5 tested

* Add markdown syntax flags

* README.md cleanup for 1.3.2 (#335)

* Move Document Workflow Map to Documentation Guide table

* README: Move Limitations into Platform Support

* Add Legend & tables

* README: Update Usage section

* README: Move platform support section after resource ref tables

* README.md: minor text change

* URL change: /develop/master/

* Addressed remaining PR comments

* /develop/master/ URL fixup

* test_vdc: fix for non-F3 testbeds (#336)

* test_vdc: fix for non-F3 testbeds

* Updated this test to work with non-F3 N7k testbeds.
  * Initially set the VDC module-type to default state
  * Then set module-type to F3 and test
  * There's no great way to know which way to leave the module-type when this test completes, so:
    * Reset module-type to default for non-F3 testbeds since leaving it as F3 means the device won't have any usable interfaces
    * Noop for F3 testbeds so that it leaves their F3 still usable

* Tested on n6, n7-non-F3

* beaker tests: add F3 dependencies

* vdc, bridge-domain tests

* tested on n6, n7-non-F3

* Fix vxlan_vtep_vni suppress_uuc prop (#341)

* Readme.md changes for itd_service (#346)

* itd_service pre requisite

* cleanup

* cleanup

* review comment

* review comment

* review comment

* Add n8k reference to CHANGELOG

* command_config: undefined method 'previous' (#358)

* Symptom: Simple cc manifest with a faulty line of config:

cisco_command_config { 'interface':
   command  => '
     interface loopback42
     ipv6 pim foo
   '
}

When puppet agent runs the cc provider drops into a rescue which should first print out the parts of the config that were successfully processed and then do a raise, but instead we see:

```
  Error: undefined method 'previous' for #<Cisco::CliError:0x0000000460ac08>
```

* Analysis: `client.rb` was refactored a few months ago, wherein the `previous` hash key was renamed to `successful_input`. The cc providers (both puppet & chef) never got updated with the new key name.
  * Ref: https://github.com/cisco/cisco-network-node-utils/blob/develop/lib/cisco_node_utils/client/nxapi/client.rb#L285

* Testing:

```
Linux# puppet agent -t --debug
 ...
Info: Cisco_command_config[interface](provider=cisco): Successfully updated:
interface loopback42
Error: The command 'ipv6 pim foo' was rejected with error:
% Invalid command

Error: /Stage[main]/Main/Node[default]/Cisco_command_config[interface]/command: change from  to interface loopback42
ipv6 pim foo
 failed: The command 'ipv6 pim foo' was rejected with error:
% Invalid command

```

* New overlay_global behaviors (#360)

* DME changes for l2rib properties resulted in removal of the 'default' keyword from the cli:

    `l2rib dup-host-mac-detection default`

* Prior to this change, 'default' was the only way to reset the host_moves & timeout properties back to default; there was/is no 'no' command, so the only way to reset it now is to re-enter the command with the default values.

* This change necessitates changes to the setter, minitest, and beaker. I also changed the default values to actual integer values instead of empty strings.

* Tested minitest & beaker for: n9-edev,n9-I4,n5,n6. Skips for n3 (normal) and n7 (requires F3 card).

* Remove vsh code (#361)

* Fix cisco_aaa* 'TACACS+ group delete denied, group is in use' issue (#362)

* Added setup and cleanup steps

* Add back needed autorequires

* Added cleanup and teardown calls

* Refactor setup/cleanup

* Remove debug causing beaker tests to error out

* Fix cisco_tacacs* 'TACACS+ group delete denied, group is in use' (#363)

* Added setup and cleanup steps

* Add back needed autorequires

* Added cleanup and teardown calls

* Refactor setup/cleanup

* Remove debug causing beaker tests to error out

* Add setup/cleanup steps

* Fix netdev tacacs* 'TACACS+ group delete denied, group is in use' (#364)

* Added setup and cleanup steps

* Add back needed autorequires

* Added cleanup and teardown calls

* Refactor setup/cleanup

* Remove debug causing beaker tests to error out

* Add setup/cleanup steps

* Add setup/cleanup steps

* Fixed merge issue

* Add noop beaker test

* This is a dummy test for use during CI development

* Move noop.rb to base dir

* Munge events value 'false' to 'size_disable' (#366)

Due to recent platform changes, the CLI for `event_history events
size disable` now results in the config `no event-history events`.

This change munges the manifest value of `false` to `size_disable`.

* Ospf bfd for interfaces (#367)

* Fix interface_ospf provider and beaker

* doc

* doc

* review comments

* bfd added to router ospf vrf

* bfd_per_link added to interface_portchannel

* add bfd and network to int ospf

* add bfd echo to intf

* changelog

* doc

* Remove get_vshell_cmd calls (#368)

* L3 PIM-on-VRF-intf beaker fix (#369)

* ip pim sparse-mode was failing to nvgen during the test
  * Factors: a) the intf is in vrf 'test1'; and, b) 'test1' has not been instantiated yet
  * Normally these forward-references are not a problem but the new DME-based PIM cli is silently rejecting it because the vrf is not instantiated
  * For puppet it's not unreasonable to require a pre-instantiated vrf, and since this change only affects our beaker test I'm just going to update the test. The PIM team did say they would reconsider raising an error for this, or better yet just create the pim cli object regardless of vrf-instantiation state.

* Also fixed a cleanup issue for dot1q sub-ints.

* Tested on N9-I5

* Add Ospf properties for interfaces (#371)

* Fix interface_ospf provider and beaker

* doc

* doc

* review comments

* add mtu, pri, shut and tx delay to int ospf

* documentation

* Fix beaker test bug (#372)

* bug fix for interface_portchannel beaker test (#373)

* Fix interface_ospf provider and beaker

* doc

* doc

* review comments

* add mtu, pri, shut and tx delay to int ospf

* documentation

* bug fix

* Removed, no longer needed

* Remove broken snmp_user XR support (#374)

* Add agent_probe to utility.lib (#375)

* `feature vn-segment-vlan-based` is not supported on some n3k's

* Added a simple helper method to test for h/w support; the result is then used by `unsupported_properties` to update the test cases

* Tested on n3k(3048), n7k, n9k

* Add f3 utility for n7 bkr tests (#376)

* Tested on n7k

* Fix half/full in test_duplex (#377)

* For some 3k, need to munge 'half/full' into csv-style 'half,full' to play nice with interface_capabilities

* This fix is a little trickier than the NU fix because the output from puppet resource is 'raw' whereas the NU output is a pre-processed hash of capabilities; thus we have to be careful not to munge the vsh or puppet resource output.

* Tested on n3048

* Update service provider beaker test to work in guestshell (#378)

* Select service based on OS family

* Update fail_test message

* Add teardowns to beaker (#379)

* f3 handling for test_vrf (#380)

* f3 handling for test_vrf

* N7k setup/cleanup when missing F3 cards

* New `image?` method for checking image version pattern; used as test for unprops

* New `remove_all_vrfs` method that uses `test_get`/`test_set`; this is much faster than removing vrfs one at a time

* Remove :description image check

* Remove redundant cleanup

* f3 setup/teardown for vrf_af

* f3 setup/teardown bridge-domain

* f3 setup/teardown for encap

* bkr setup/teardown cleanups

* f3 setup/teardown for interface_svi

* f3 setup/teardown for service_vni

* f3 setup/teardown test_private_vlan

* f3 setup/teardown for vxlan_vtep*

* f3 setup/teardown for fabricpath_topology

* setup/teardown cleanups for cisco_itd_device_group_node

* beaker fix for resilient and symmetry non support on n3k (#381)

* Fix interface_ospf provider and beaker

* doc

* doc

* review comments

* add mtu, pri, shut and tx delay to int ospf

* documentation

* bug fix

* Fix for symmetry and resilient no support on n3k

* review comment

* rewview comments

* setup/teardown for bfd_global

* setup/teardown bridge_domain

* setup/teardown acl

* setup/teardown bgp_af

* setup/teardown cisco_pim

* Convert test_fabricpath_global to new syntax

* Setup/teardown test_interface_L3

* setup/teardown test_interface_private_vlan

* Convert test_interface_channel_group to new syntax

* Convert test_interface_portchannel to new syntax

* setup/teardown for test_itd_service

* setup/teardown cisco_ospf_area*

* setup/teardown cisco_interface_ospf

* setup/teardown cisco_ospf_vrf

* Bad cleanup test_itd_service

* Convert test_command_config to new syntax

* better cleanup for bfd

* setup/teardown for test_bgp

* setup/teardown test_bgpaf

* better cleanup for pim

* setup/teardown test_bgpneighbor

* Better remove_all_vlans

* setup/teardown test_bgpneighboraf

* ospf_vrf cleanup should remove feature bfd

* setup/teardown test_stp_global

* setup/teardown test_bgpneighbor*

* better cleanup test_interface_L3

* better cleanup test_interface_ospf

* setup/teardown test_interface_portchannel

* setup/teardown test_interface_stp

* setup/teardown test_interface_bdi

* setup/teardown test_evpn_vni

* Convert test_vpc_domain to new syntax

* setup/teardown test_itd_device_group

* Convert test_overlay_global to new syntax

* Rel140/refactor package tests (#382)

* Refactor beaker package tests

* Remove unused code

* Rubocop fix

* Uncomment filename

* Add ensure_prop_override setting

* Rubocop fix

* Fix test_itd_service

* The cleanup in the dependency manifest was turning off 'feature itd' but that needs to be re-enabled in order to configure the itd device-group dependency

* beaker: Remove raise_skip call from summary checker

* test_interface_ospf dependency fix

* Add :array opt to test_get bkr utility

* Enable yum package testing in guestshell (#384)

* Initial gs package test support

* Minor refactoring

* Add camden i2.1 patch details

* Use specific yum patch for camden fcs

* Separate native and gs test flow

* Remove ensure absent in manifest_props

* Enable additional releases

* I5 patch fix

* Use single workflow for gs and native

* Convert test_snmp_server to new syntax (#385)

* Convert test_snmp_server to new syntax

* packetsize was failing on n7k so I just rewrote the test to use the new format

* tested on n7k,n9k-I5

* Fix pktsize cleanup

* Rename test_package.rb -> test_package_patch.rb

* Converted the old style tests to new syntax. (#386)

Most of these are straightforward changes. The package test is complicated on native since third-party rpms require setting up a yum repo, but I set up the test to do the repo init via puppet so we actually get a bit more coverage this way.

* Tested on N5,N7,N9-I5 using native/GS/OAC

* utilitylib: Restore tests[id][:resource]['ensure']

I pulled this out by mistake with this commit:
  2641c7a#diff-e0883d3270eb11e5d50fcdc5c4f83003L603

* test_interface_ospf: Fix process dependency

* A previous test cleanup removed 'router ospf Sample' from the harness dependencies; now the nightly if failing when it tries to configure an ospf config on an interface

* Although the router config is not necessary for the interface config, the failure occurs because the ospf process is still starting up (ospf startup is slow on 5k/6k/8k). The ospf provider already has a 'wait_for_process_initialized' method to handle this slow start, while the interface_ospf provider does not. This is only an issue during testing so I do not propose adding the wait_for method to interface_ospf.

* Tested on n5,n7,n9

* test_interface_ospf: Fix process dependency (#388)

* A previous test cleanup removed 'router ospf Sample' from the harness dependencies; now the nightly if failing when it tries to configure an ospf config on an interface

* Although the router config is not necessary for the interface config, the failure occurs because the ospf process is still starting up (ospf startup is slow on 5k/6k/8k). The ospf provider already has a 'wait_for_process_initialized' method to handle this slow start, while the interface_ospf provider does not. This is only an issue during testing so I do not propose adding the wait_for method to interface_ospf.

* Tested on n5,n7,n9

* Add log.error to beaker search_pattern

* When test_resource fails it just displays what it's expecting to find but it doesn't show what the current output was (which often helps with troubleshooting). This just includes the output when there's a failure.

* Add titles for bgp vrf beaker tests

* Suppress fib pending fix (#387)

* Generalize the method for checking nexus images

* Fix suppress fib pending for non-I5 images

* Clean up image check and post-merge leftovers

* cisco_interface enhancement (#389)

* Fix interface_ospf provider and beaker

* doc

* doc

* review comments

* add mtu, pri, shut and tx delay to int ospf

* documentation

* bug fix

* Fix for symmetry and resilient no support on n3k

* review comment

* rewview comments

* dhcp relay and storm control -- not tested yet

* beaker test

* fix non default test

* removed storm control broadcast and multicast for n7k

* fix munging

* demo manifest changes

* cleanup manifests

* dhcp and l3 are merged

* merge L2 and storm control

* docs

* review comments

* Add'l cleanup for test_interface_ospf

* Fix id bug

* Replace skip_nexus_i2_image() with skip_nexus_image() api call (#390)

* Skip dns provider test instead of error

* Remove commented out call to fail api

* Update test_harness_dependencies for test_interface_ospf.rb (#393)

* Fixed rubocop errors

* Remove debug code

* Dhcp Relay Global (#392)

* Fix interface_ospf provider and beaker

* doc

* doc

* review comments

* add mtu, pri, shut and tx delay to int ospf

* documentation

* bug fix

* Fix for symmetry and resilient no support on n3k

* review comment

* rewview comments

* dhcp relay and storm control -- not tested yet

* beaker test

* fix non default test

* removed storm control broadcast and multicast for n7k

* fix munging

* demo manifest changes

* cleanup manifests

* dhcp and l3 are merged

* merge L2 and storm control

* docs

* review comments

* dhcp_relay_global provider

* beaker

* fix beaker

* Fix provider code for removal of name

* documentation

* typo in beaker

* fix doc

* fix doc

* fix doc for version

* Remove packet_size prop testing for I2 and I3 images

* cisco_interface beaker test (#394)

* Fix interface_ospf provider and beaker

* doc

* doc

* review comments

* add mtu, pri, shut and tx delay to int ospf

* documentation

* bug fix

* Fix for symmetry and resilient no support on n3k

* review comment

* rewview comments

* dhcp relay and storm control -- not tested yet

* beaker test

* fix non default test

* removed storm control broadcast and multicast for n7k

* fix munging

* demo manifest changes

* cleanup manifests

* dhcp and l3 are merged

* merge L2 and storm control

* docs

* review comments

* dhcp_relay_global provider

* beaker

* fix beaker

* Fix provider code for removal of name

* documentation

* typo in beaker

* fix doc

* fix doc

* fix doc for version

* fix beaker test for intf

* event_history_periodic changes for bgp (#395)

* Fix interface_ospf provider and beaker

* doc

* doc

* review comments

* add mtu, pri, shut and tx delay to int ospf

* documentation

* bug fix

* Fix for symmetry and resilient no support on n3k

* review comment

* rewview comments

* dhcp relay and storm control -- not tested yet

* beaker test

* fix non default test

* removed storm control broadcast and multicast for n7k

* fix munging

* demo manifest changes

* cleanup manifests

* dhcp and l3 are merged

* merge L2 and storm control

* docs

* review comments

* dhcp_relay_global provider

* beaker

* fix beaker

* Fix provider code for removal of name

* documentation

* typo in beaker

* fix doc

* fix doc

* fix doc for version

* fix beaker test for intf

* fix bgp for event_history

* move facter to provider

* beaker for event_history_periodic

* documentation

* review comments

* review comments

* bgp event_history (#400)

* fix bgp event-history

* beaker changes

* doc and manifest

* review comments

* manifest review comment

* Rel141/lacp suspend (#401)

* Fix lacp_suspend_individual property issue in evergreen

* Remove unneeded test_set call in test_interface_portchannel.rb

* Update README.me with lacp_suspend_individual caveat

* Futher clarify caveat for lacp_suspend_individual property

* Futher clarify caveat for lacp_suspend_individual property

* Test non-default value for n3k

* fix vrf beaker (#402)

* Remove comment that no longer applied with the latest node utils gem

* Scrub N8k References

* hsrp_global and interface hsrp (#404)

* hsrp global new provider

* hsrp interface

* beaker of intf_hsrp

* move int_hsrp to int

* documentation

* Rel150/n8k n9kf rebranding (#406)

* N8k -> N9K-F changes

* Fix puppet module function name

* Remove old README doc

* Update N9k-F Module Version

* Additional N8k -> N9K-F updates

* Refactor platform_fretta function to use os_release fact

* Update platform_fretta function comments

* Fix image version check

* Skip privte vlan tests on n9k-f

* Skip cisco_itd tests on n9k-f

* Skip private vlan tests on n9k-f

* Skip cisco_vpc tests on n9k-f

* Anchor n9k platform check

* Update platform regexp to use correct packet size for fretta

* Rel150/product tag (#407)

* Add product_tag helper method

* Fix bug in product_tag api

* Update CHANGELOG.md

* Interface HSRP group (#405)

* hsrp global new provider

* hsrp interface

* beaker of intf_hsrp

* move int_hsrp to int

* documentation

* hsrp group fixes

* fix array issue

* add validations

* demo manifest

* beaker

* documentation

* n8k to n9k-f

* review comments

* fix event_history for fretta

* fixes for review comments

* readme change

* more comments

* Rel150/atherton fretta fixes (#409)

* Handle atherton nxapi double quotes

* Handle atherton nxapi double quotes

* Handle atherton nxapi double quotes for tacacs

* Make regexp in nexus_image method more flexible

* pim and interface bfd (#410)

* pim bfd

* doc

* Update CHANGELOG.md

* n7k atherton hsrp (#411)

* pim bfd

* doc

* fix n7k atherton hsrp

* review comments for doc

* review comments for doc

* Some travis gem's require ruby version 2.1.0 or greater.

* Update CHANGELOG.md

* Update CHANGELOG.md

* Update cisco_node_utils.rb

* Update metadata.json

* Update CHANGELOG.md
mikewiebe added a commit that referenced this pull request Mar 14, 2017
* Added IOS XR support for tacacs_server

* Updated CHANGELOG

* Update CHANGELOG.md

* Added support on IOS XR for tacacs_server_group

* remove sync damage from demo_bridge

* Refactored network_interface provider. Updated tests and code to
support IOS XR.

* Matrix updates for overlay_global & network_trunk

* domain and search options are mutually exclusive

http://man7.org/linux/man-pages/man5/resolv.conf.5.html

* Remove source_interface_hold_down_time for 8k

* Collapse release_1.3.2 to develop

* cisco_bfd_global: new properties (#334)

* manifest

* type file add

* provider file

* array types

* beaker

* add loopback int

* remove name

* fix manifest

* documentation

* comment

* Review comments

* Fix README

* Fix README

* network_snmp ios_xr does not support global enable

* bgp_neighbor: add bfd (#340)

* manifest

* type file add

* provider file

* array types

* beaker

* add loopback int

* remove name

* fix manifest

* documentation

* comment

* Review comments

* Fix README

* Fix README

* add bfd to bgp_neighbor

* bfd prop

* documentation

* Fix BFD caveat

* Update CHANGELOG.md

* search_domain, tests platform agnostic (#343)

* modificatins for snmp_notification on IOS_XR

* test fixes for ios_xr snmp_notification_receiver (#338)

* Add test_get / test_set to command_config (#348)

* Add test_get / test_set to command_config

* Needed a way for beaker to query / set config that didn't have explicit resource support (e.g. disabling a feature)

* test_get is a simple get-only property that does a show running; callers set a filter to parse what they need:
    `puppet resource cisco_command_config 'cc' test_get='incl feature'`

* test_set is a simple set-only property:
    `puppet resource cisco_command_config 'cc' test_set='no feature foo'`

* Tested on n3,n5,n7,n9

* Bad regex in bkr test service_provider_nondefaults.rb

* Add beaker test_get / test_set

* config_find_remove() uses test_get to search for existing configs, then test_set to remove it.

* Fix the fabricpath tests which ran into an issue on n5k when cleaning up 'feature nv overlay' with command_config: Puppet resource removes the config but then immediately does a 'show runn' which gets a SAP timeout on the device itself and the test errors. Using the test_set setter instead of regular command_config gets around this problem because it's a "set-only" with a dummy test_set getter.

* Tested on n5,n7,n9

* test_get: add debugs, comments

* tested on n5

* Skipped tacacs provider test on IOS XR (#350)

* Refactor tests: aaa_group_tacacs (#351)

* Converted to new test syntax

* Tested on n9-i4

* Add cisco_ospf_area provider (#352)

This PR is for cisco_ospf_area provider. The properties do not include nssa and its associated properties. They will be added as part of another user story.

Since this provider becomes absent when all properties are set to default, cisco_pim model is followed for beaker tests.

All demo_manifests and beaker tests passed on all platforms.

Squashed commits:

* first commit

* fix issues

* remove comment

* Fix stub

* fix area to ipaddr or int

* small error

* beaker tests

* documentation

* review comments

* Update README.md

* Review comments about stub

* Added IOS XR support for snmp_user (#353)

* Add nssa properties to ospf_area provider (#354)

* first commit

* fix issues

* remove comment

* Fix stub

* fix area to ipaddr or int

* small error

* beaker tests

* documentation

* review comments

* Update README.md

* Review comments about stub

* nssa

* small correction

* name changes

* fix manifest

* fix nssa_set

* include cmnutils

* beaker test added for nssa

* typo fix

* documentation

* fix docmentation

* fix README

* Fix review comments

* tacacs_global changes for ios_xr (#342)

* router_ospf_area_vlink: new provider (#355)

Adds virtual-link support

* Fixes for cisco_interface_ospf provider (#357)

* Fix interface_ospf provider and beaker

* doc

* doc

* review comments

* minor vrf name change

* to avoid annoying conflict with 'management'

* command_config: undefined method 'previous' (#358)

* Symptom: Simple cc manifest with a faulty line of config:

cisco_command_config { 'interface':
   command  => '
     interface loopback42
     ipv6 pim foo
   '
}

When puppet agent runs the cc provider drops into a rescue which should first print out the parts of the config that were successfully processed and then do a raise, but instead we see:

```
  Error: undefined method 'previous' for #<Cisco::CliError:0x0000000460ac08>
```

* Analysis: `client.rb` was refactored a few months ago, wherein the `previous` hash key was renamed to `successful_input`. The cc providers (both puppet & chef) never got updated with the new key name.
  * Ref: https://github.com/cisco/cisco-network-node-utils/blob/develop/lib/cisco_node_utils/client/nxapi/client.rb#L285

* Testing:

```
Linux# puppet agent -t --debug
 ...
Info: Cisco_command_config[interface](provider=cisco): Successfully updated:
interface loopback42
Error: The command 'ipv6 pim foo' was rejected with error:
% Invalid command

Error: /Stage[main]/Main/Node[default]/Cisco_command_config[interface]/command: change from  to interface loopback42
ipv6 pim foo
 failed: The command 'ipv6 pim foo' was rejected with error:
% Invalid command

```

* Merge release_1.3.2 --> develop (#365)

* Add note on existing_str

* Refactor test_interface.rb into multiple files

* This test was trying to do too much; it became too large and unwieldy to use and troubleshoot.
* Refactor to use new test syntax (test_harness_run)
* File changes:
  *  deleted:    test_interface.rb
  *  new file:   interfacelib.rb
  *  new file:   test_interface_L2.rb
  *  new file:   test_interface_L3.rb
  *  new file:   test_interface_bdi.rb
  *  modified:   test_interface_capabilities.rb
  *  modified:   test_interface_stp.rb
  *  new file:   test_interface_svi.rb
  *  new file:   test_interface_private_vlan.rb

* renamed test_vlan_mapping.rb to test_interface_vlan_mapping.rb

* Only tested on n7k and n9k so far but there's a lot here and I wanted to get some eyes on the changes

* Platform tweaks for test_interface*

* test_interface: add skip_unless_supported plat checks

* Minor change to bail out of the test immediately if the platform does not apply

* test_interface_private_vlan: fix trunk assoc cleanup

* Found a bug on n9k where 'private-vlan association trunk' does not get cleaned up by 'default interface', which breaks this beaker test

* Created a workaround cleanup method that does 'no switchport'

* Tested on N9k-I3

* test_private_vlan: refactor, remove redundancies

* Refactored to use new test syntax; removed unnecessary/redundant tests and some that didn't test anything
* This test suffers from the same idempotency bug as the interface private-vlan code; it will require the same kind of fix

* Tested on n9k-I3, N7

* Bump version number.

* Add testing for switchport_autostate_exclude

* Remove old and redudant access_vlan tests

* Remove old style beaker tests

* normalize_range_array for puppet

This is the puppet counter-part to NU. The notes below are copied from: cisco/cisco-network-node-utils#400
The main difference between these is a default check in Utils.normalize_range_array and that there's no Utils.dash_range_to_elements since that's not needed in puppet.

* The motivation for this change was finding yet another array normalizer in the private vlan code so these changes are initially meant to address fixes there. IMO our range summarize methods were getting a bit long and difficult to maintain; these new methods will hopefully simplify things somewhat.

  * The main problem these methods are trying to solve is reconciling manifest inputs with getter results when there are overlapping ranges; e.g.:
  * '2-5, 9, 4-6'     needs to be ['2-6', '9']
  * ['2', '3', '4-6'] needs to be ['2-6']
  * ['2', '3', '4']   needs to be ['2-4']

* It's fairly easy to merge the ranges if they are actual ruby ranges instead of the dash-syntax ranges, so the new methods just convert to ruby ranges, merge, and convert back.

* Tested on n9k. Additional testing coming on the other platforms, as well well as demo, Readme, etc.

* bgp_af l2vpn

* Fix demo_bgp

* Fix additional_paths_install

* New beaker style vlan tests

* l2vpn/evpn support

* l2vpn/evpn support

* exclude n3k

* review comments

* Review comments

* cisco_interface: deprecate private_vlan*

* private_vlan refactor

* cisco_interface: private_vlan refactor

* Deprecated the private_vlan properties that were released with 1.3.0 and created new pvlan properties in their place.

* This is the companion to NU PR: cisco/cisco-network-node-utils#406

* Updated Type, Provider, Beaker, Demo, README, and CHANGELOG.

* Currently only tested on N7, N9-i3. Additional testing in prog.

* readme and changelog

* readme and changelog

* Update README.md

* pvlan beaker fixups for 6k

* The 6k cli is strict about requiring vlan associations before allowing interface vlan association; therefore I added the dependencies to the test. I need to rerun the test on all the platforms to see if the platform check needs to be tweaked.

* Only tested on n6 so far

* Minor demo_interface changes

* Added some private-vlan dependency resources

* test_interface_private_vlan: n3k platform fixes

* demo manifest as well

* tested on n3-i4,n9-i2,n5,n9-i3,n7

* test_interface_stp needs vlan cleanup

* tested on n9-i3

* Re-add n8k doc references

* Fix some N8k references

* Add N8k back to support table

* Remove extra property

* Fix spacing in rotate property

* anycast_gateway platform checks

* Restrict the anycast test to n9k only

* Tested on n3,n7,n9-i2,n9-i3

* test_interface_service_vni script fixes

* Some cleanup / setup was insufficient

* :non_default was not getting run

* This is only supported on n7k; tested on n7k.

* test_vrf: f3 dependencies

* N7k needs an f3-only vdc for route_distinguisher

* tested on n7

* test_vrf_af: add f3 dependency for 7k

* tested on n7k

* Update README-agent-install.md

* Update README.md

* test_vlan/test_private_vlan: add f3 deps

* Tested on n7

* test_vxlan_vtep*: add f3 deps

* Tested on n7

* Refactor package provider to use rpm - qip (#328)

* Replace regexp with rpm -qip

* patching demo updates

* Updated fail message

* Update demo_patching.pp

* Add back rpm filename regexp support (#329)

* Add back rpm filename regexp support

* Remove debugs

* Update README.md

* interface svi fix

* Remove explicit anycast config

* anycast-gateway-mac is a required dependency; a recent commit added an explicit call to the test file to set this up; BUT we already had existing code for doing this that was part of interfacelib.rb

* The interfacelib code was returning early because of /unless/if/

* Tested on n9-i4

* test_interface_L2 should reset sys_def_switchport

* This test sets the system default switchport state to true but it should reset it to false when it's finished.

* Tested on n9-i4

* test_vxlan_vtep_vni: suppress_uuc broken

* There was a platform exception that tried to add this property using the new test syntax; however this test file uses an older syntax.

* Added an nv overlay hw support check (my n6k does not support nv overlay)

* Tested on n6

* README-agent-install: doc cleanup (#330)

* README-agent-install: doc cleanup

* This doc has had a lot of misc updates in the past so I tried to streamline the content somewhat and organize the sections into discrete steps.

* A couple of things that need a closer look:
 * The RPM table may need updating to reflect the GS fix coming out any day
 * The auto-install section for cisco_node_utils gem is a little weak. I'm not sure if I referenced the correct pp file and used the right directory target.

* README-agent-install.md: Cleanup node-utils section

* README-agent-install.md: fix broken links

* Review comments addressed

* All addressed except for the GS RPM comment.

* README-agent-install: GS RPM v1.5 tested

* Add markdown syntax flags

* README.md cleanup for 1.3.2 (#335)

* Move Document Workflow Map to Documentation Guide table

* README: Move Limitations into Platform Support

* Add Legend & tables

* README: Update Usage section

* README: Move platform support section after resource ref tables

* README.md: minor text change

* URL change: /develop/master/

* Addressed remaining PR comments

* /develop/master/ URL fixup

* test_vdc: fix for non-F3 testbeds (#336)

* test_vdc: fix for non-F3 testbeds

* Updated this test to work with non-F3 N7k testbeds.
  * Initially set the VDC module-type to default state
  * Then set module-type to F3 and test
  * There's no great way to know which way to leave the module-type when this test completes, so:
    * Reset module-type to default for non-F3 testbeds since leaving it as F3 means the device won't have any usable interfaces
    * Noop for F3 testbeds so that it leaves their F3 still usable

* Tested on n6, n7-non-F3

* beaker tests: add F3 dependencies

* vdc, bridge-domain tests

* tested on n6, n7-non-F3

* Fix vxlan_vtep_vni suppress_uuc prop (#341)

* Readme.md changes for itd_service (#346)

* itd_service pre requisite

* cleanup

* cleanup

* review comment

* review comment

* review comment

* Add n8k reference to CHANGELOG

* command_config: undefined method 'previous' (#358)

* Symptom: Simple cc manifest with a faulty line of config:

cisco_command_config { 'interface':
   command  => '
     interface loopback42
     ipv6 pim foo
   '
}

When puppet agent runs the cc provider drops into a rescue which should first print out the parts of the config that were successfully processed and then do a raise, but instead we see:

```
  Error: undefined method 'previous' for #<Cisco::CliError:0x0000000460ac08>
```

* Analysis: `client.rb` was refactored a few months ago, wherein the `previous` hash key was renamed to `successful_input`. The cc providers (both puppet & chef) never got updated with the new key name.
  * Ref: https://github.com/cisco/cisco-network-node-utils/blob/develop/lib/cisco_node_utils/client/nxapi/client.rb#L285

* Testing:

```
Linux# puppet agent -t --debug
 ...
Info: Cisco_command_config[interface](provider=cisco): Successfully updated:
interface loopback42
Error: The command 'ipv6 pim foo' was rejected with error:
% Invalid command

Error: /Stage[main]/Main/Node[default]/Cisco_command_config[interface]/command: change from  to interface loopback42
ipv6 pim foo
 failed: The command 'ipv6 pim foo' was rejected with error:
% Invalid command

```

* New overlay_global behaviors (#360)

* DME changes for l2rib properties resulted in removal of the 'default' keyword from the cli:

    `l2rib dup-host-mac-detection default`

* Prior to this change, 'default' was the only way to reset the host_moves & timeout properties back to default; there was/is no 'no' command, so the only way to reset it now is to re-enter the command with the default values.

* This change necessitates changes to the setter, minitest, and beaker. I also changed the default values to actual integer values instead of empty strings.

* Tested minitest & beaker for: n9-edev,n9-I4,n5,n6. Skips for n3 (normal) and n7 (requires F3 card).

* Remove vsh code (#361)

* Fix cisco_aaa* 'TACACS+ group delete denied, group is in use' issue (#362)

* Added setup and cleanup steps

* Add back needed autorequires

* Added cleanup and teardown calls

* Refactor setup/cleanup

* Remove debug causing beaker tests to error out

* Fix cisco_tacacs* 'TACACS+ group delete denied, group is in use' (#363)

* Added setup and cleanup steps

* Add back needed autorequires

* Added cleanup and teardown calls

* Refactor setup/cleanup

* Remove debug causing beaker tests to error out

* Add setup/cleanup steps

* Fix netdev tacacs* 'TACACS+ group delete denied, group is in use' (#364)

* Added setup and cleanup steps

* Add back needed autorequires

* Added cleanup and teardown calls

* Refactor setup/cleanup

* Remove debug causing beaker tests to error out

* Add setup/cleanup steps

* Add setup/cleanup steps

* Fixed merge issue

* Add noop beaker test

* This is a dummy test for use during CI development

* Move noop.rb to base dir

* Munge events value 'false' to 'size_disable' (#366)

Due to recent platform changes, the CLI for `event_history events
size disable` now results in the config `no event-history events`.

This change munges the manifest value of `false` to `size_disable`.

* Ospf bfd for interfaces (#367)

* Fix interface_ospf provider and beaker

* doc

* doc

* review comments

* bfd added to router ospf vrf

* bfd_per_link added to interface_portchannel

* add bfd and network to int ospf

* add bfd echo to intf

* changelog

* doc

* Remove get_vshell_cmd calls (#368)

* L3 PIM-on-VRF-intf beaker fix (#369)

* ip pim sparse-mode was failing to nvgen during the test
  * Factors: a) the intf is in vrf 'test1'; and, b) 'test1' has not been instantiated yet
  * Normally these forward-references are not a problem but the new DME-based PIM cli is silently rejecting it because the vrf is not instantiated
  * For puppet it's not unreasonable to require a pre-instantiated vrf, and since this change only affects our beaker test I'm just going to update the test. The PIM team did say they would reconsider raising an error for this, or better yet just create the pim cli object regardless of vrf-instantiation state.

* Also fixed a cleanup issue for dot1q sub-ints.

* Tested on N9-I5

* Add Ospf properties for interfaces (#371)

* Fix interface_ospf provider and beaker

* doc

* doc

* review comments

* add mtu, pri, shut and tx delay to int ospf

* documentation

* Fix beaker test bug (#372)

* bug fix for interface_portchannel beaker test (#373)

* Fix interface_ospf provider and beaker

* doc

* doc

* review comments

* add mtu, pri, shut and tx delay to int ospf

* documentation

* bug fix

* Removed, no longer needed

* Remove broken snmp_user XR support (#374)

* Add agent_probe to utility.lib (#375)

* `feature vn-segment-vlan-based` is not supported on some n3k's

* Added a simple helper method to test for h/w support; the result is then used by `unsupported_properties` to update the test cases

* Tested on n3k(3048), n7k, n9k

* Add f3 utility for n7 bkr tests (#376)

* Tested on n7k

* Fix half/full in test_duplex (#377)

* For some 3k, need to munge 'half/full' into csv-style 'half,full' to play nice with interface_capabilities

* This fix is a little trickier than the NU fix because the output from puppet resource is 'raw' whereas the NU output is a pre-processed hash of capabilities; thus we have to be careful not to munge the vsh or puppet resource output.

* Tested on n3048

* Update service provider beaker test to work in guestshell (#378)

* Select service based on OS family

* Update fail_test message

* Add teardowns to beaker (#379)

* f3 handling for test_vrf (#380)

* f3 handling for test_vrf

* N7k setup/cleanup when missing F3 cards

* New `image?` method for checking image version pattern; used as test for unprops

* New `remove_all_vrfs` method that uses `test_get`/`test_set`; this is much faster than removing vrfs one at a time

* Remove :description image check

* Remove redundant cleanup

* f3 setup/teardown for vrf_af

* f3 setup/teardown bridge-domain

* f3 setup/teardown for encap

* bkr setup/teardown cleanups

* f3 setup/teardown for interface_svi

* f3 setup/teardown for service_vni

* f3 setup/teardown test_private_vlan

* f3 setup/teardown for vxlan_vtep*

* f3 setup/teardown for fabricpath_topology

* setup/teardown cleanups for cisco_itd_device_group_node

* beaker fix for resilient and symmetry non support on n3k (#381)

* Fix interface_ospf provider and beaker

* doc

* doc

* review comments

* add mtu, pri, shut and tx delay to int ospf

* documentation

* bug fix

* Fix for symmetry and resilient no support on n3k

* review comment

* rewview comments

* setup/teardown for bfd_global

* setup/teardown bridge_domain

* setup/teardown acl

* setup/teardown bgp_af

* setup/teardown cisco_pim

* Convert test_fabricpath_global to new syntax

* Setup/teardown test_interface_L3

* setup/teardown test_interface_private_vlan

* Convert test_interface_channel_group to new syntax

* Convert test_interface_portchannel to new syntax

* setup/teardown for test_itd_service

* setup/teardown cisco_ospf_area*

* setup/teardown cisco_interface_ospf

* setup/teardown cisco_ospf_vrf

* Bad cleanup test_itd_service

* Convert test_command_config to new syntax

* better cleanup for bfd

* setup/teardown for test_bgp

* setup/teardown test_bgpaf

* better cleanup for pim

* setup/teardown test_bgpneighbor

* Better remove_all_vlans

* setup/teardown test_bgpneighboraf

* ospf_vrf cleanup should remove feature bfd

* setup/teardown test_stp_global

* setup/teardown test_bgpneighbor*

* better cleanup test_interface_L3

* better cleanup test_interface_ospf

* setup/teardown test_interface_portchannel

* setup/teardown test_interface_stp

* setup/teardown test_interface_bdi

* setup/teardown test_evpn_vni

* Convert test_vpc_domain to new syntax

* setup/teardown test_itd_device_group

* Convert test_overlay_global to new syntax

* Rel140/refactor package tests (#382)

* Refactor beaker package tests

* Remove unused code

* Rubocop fix

* Uncomment filename

* Add ensure_prop_override setting

* Rubocop fix

* Fix test_itd_service

* The cleanup in the dependency manifest was turning off 'feature itd' but that needs to be re-enabled in order to configure the itd device-group dependency

* beaker: Remove raise_skip call from summary checker

* test_interface_ospf dependency fix

* Add :array opt to test_get bkr utility

* Enable yum package testing in guestshell (#384)

* Initial gs package test support

* Minor refactoring

* Add camden i2.1 patch details

* Use specific yum patch for camden fcs

* Separate native and gs test flow

* Remove ensure absent in manifest_props

* Enable additional releases

* I5 patch fix

* Use single workflow for gs and native

* Convert test_snmp_server to new syntax (#385)

* Convert test_snmp_server to new syntax

* packetsize was failing on n7k so I just rewrote the test to use the new format

* tested on n7k,n9k-I5

* Fix pktsize cleanup

* Rename test_package.rb -> test_package_patch.rb

* Converted the old style tests to new syntax. (#386)

Most of these are straightforward changes. The package test is complicated on native since third-party rpms require setting up a yum repo, but I set up the test to do the repo init via puppet so we actually get a bit more coverage this way.

* Tested on N5,N7,N9-I5 using native/GS/OAC

* utilitylib: Restore tests[id][:resource]['ensure']

I pulled this out by mistake with this commit:
  2641c7a#diff-e0883d3270eb11e5d50fcdc5c4f83003L603

* test_interface_ospf: Fix process dependency

* A previous test cleanup removed 'router ospf Sample' from the harness dependencies; now the nightly if failing when it tries to configure an ospf config on an interface

* Although the router config is not necessary for the interface config, the failure occurs because the ospf process is still starting up (ospf startup is slow on 5k/6k/8k). The ospf provider already has a 'wait_for_process_initialized' method to handle this slow start, while the interface_ospf provider does not. This is only an issue during testing so I do not propose adding the wait_for method to interface_ospf.

* Tested on n5,n7,n9

* test_interface_ospf: Fix process dependency (#388)

* A previous test cleanup removed 'router ospf Sample' from the harness dependencies; now the nightly if failing when it tries to configure an ospf config on an interface

* Although the router config is not necessary for the interface config, the failure occurs because the ospf process is still starting up (ospf startup is slow on 5k/6k/8k). The ospf provider already has a 'wait_for_process_initialized' method to handle this slow start, while the interface_ospf provider does not. This is only an issue during testing so I do not propose adding the wait_for method to interface_ospf.

* Tested on n5,n7,n9

* Add log.error to beaker search_pattern

* When test_resource fails it just displays what it's expecting to find but it doesn't show what the current output was (which often helps with troubleshooting). This just includes the output when there's a failure.

* Add titles for bgp vrf beaker tests

* Suppress fib pending fix (#387)

* Generalize the method for checking nexus images

* Fix suppress fib pending for non-I5 images

* Clean up image check and post-merge leftovers

* cisco_interface enhancement (#389)

* Fix interface_ospf provider and beaker

* doc

* doc

* review comments

* add mtu, pri, shut and tx delay to int ospf

* documentation

* bug fix

* Fix for symmetry and resilient no support on n3k

* review comment

* rewview comments

* dhcp relay and storm control -- not tested yet

* beaker test

* fix non default test

* removed storm control broadcast and multicast for n7k

* fix munging

* demo manifest changes

* cleanup manifests

* dhcp and l3 are merged

* merge L2 and storm control

* docs

* review comments

* Add'l cleanup for test_interface_ospf

* Fix id bug

* Replace skip_nexus_i2_image() with skip_nexus_image() api call (#390)

* Skip dns provider test instead of error

* Remove commented out call to fail api

* Update test_harness_dependencies for test_interface_ospf.rb (#393)

* Fixed rubocop errors

* Remove debug code

* Dhcp Relay Global (#392)

* Fix interface_ospf provider and beaker

* doc

* doc

* review comments

* add mtu, pri, shut and tx delay to int ospf

* documentation

* bug fix

* Fix for symmetry and resilient no support on n3k

* review comment

* rewview comments

* dhcp relay and storm control -- not tested yet

* beaker test

* fix non default test

* removed storm control broadcast and multicast for n7k

* fix munging

* demo manifest changes

* cleanup manifests

* dhcp and l3 are merged

* merge L2 and storm control

* docs

* review comments

* dhcp_relay_global provider

* beaker

* fix beaker

* Fix provider code for removal of name

* documentation

* typo in beaker

* fix doc

* fix doc

* fix doc for version

* Remove packet_size prop testing for I2 and I3 images

* cisco_interface beaker test (#394)

* Fix interface_ospf provider and beaker

* doc

* doc

* review comments

* add mtu, pri, shut and tx delay to int ospf

* documentation

* bug fix

* Fix for symmetry and resilient no support on n3k

* review comment

* rewview comments

* dhcp relay and storm control -- not tested yet

* beaker test

* fix non default test

* removed storm control broadcast and multicast for n7k

* fix munging

* demo manifest changes

* cleanup manifests

* dhcp and l3 are merged

* merge L2 and storm control

* docs

* review comments

* dhcp_relay_global provider

* beaker

* fix beaker

* Fix provider code for removal of name

* documentation

* typo in beaker

* fix doc

* fix doc

* fix doc for version

* fix beaker test for intf

* event_history_periodic changes for bgp (#395)

* Fix interface_ospf provider and beaker

* doc

* doc

* review comments

* add mtu, pri, shut and tx delay to int ospf

* documentation

* bug fix

* Fix for symmetry and resilient no support on n3k

* review comment

* rewview comments

* dhcp relay and storm control -- not tested yet

* beaker test

* fix non default test

* removed storm control broadcast and multicast for n7k

* fix munging

* demo manifest changes

* cleanup manifests

* dhcp and l3 are merged

* merge L2 and storm control

* docs

* review comments

* dhcp_relay_global provider

* beaker

* fix beaker

* Fix provider code for removal of name

* documentation

* typo in beaker

* fix doc

* fix doc

* fix doc for version

* fix beaker test for intf

* fix bgp for event_history

* move facter to provider

* beaker for event_history_periodic

* documentation

* review comments

* review comments

* bgp event_history (#400)

* fix bgp event-history

* beaker changes

* doc and manifest

* review comments

* manifest review comment

* Rel141/lacp suspend (#401)

* Fix lacp_suspend_individual property issue in evergreen

* Remove unneeded test_set call in test_interface_portchannel.rb

* Update README.me with lacp_suspend_individual caveat

* Futher clarify caveat for lacp_suspend_individual property

* Futher clarify caveat for lacp_suspend_individual property

* Test non-default value for n3k

* fix vrf beaker (#402)

* Remove comment that no longer applied with the latest node utils gem

* Scrub N8k References

* hsrp_global and interface hsrp (#404)

* hsrp global new provider

* hsrp interface

* beaker of intf_hsrp

* move int_hsrp to int

* documentation

* Rel150/n8k n9kf rebranding (#406)

* N8k -> N9K-F changes

* Fix puppet module function name

* Remove old README doc

* Update N9k-F Module Version

* Additional N8k -> N9K-F updates

* Refactor platform_fretta function to use os_release fact

* Update platform_fretta function comments

* Fix image version check

* Skip privte vlan tests on n9k-f

* Skip cisco_itd tests on n9k-f

* Skip private vlan tests on n9k-f

* Skip cisco_vpc tests on n9k-f

* Anchor n9k platform check

* Update platform regexp to use correct packet size for fretta

* Rel150/product tag (#407)

* Add product_tag helper method

* Fix bug in product_tag api

* Update CHANGELOG.md

* Interface HSRP group (#405)

* hsrp global new provider

* hsrp interface

* beaker of intf_hsrp

* move int_hsrp to int

* documentation

* hsrp group fixes

* fix array issue

* add validations

* demo manifest

* beaker

* documentation

* n8k to n9k-f

* review comments

* fix event_history for fretta

* fixes for review comments

* readme change

* more comments

* Rel150/atherton fretta fixes (#409)

* Handle atherton nxapi double quotes

* Handle atherton nxapi double quotes

* Handle atherton nxapi double quotes for tacacs

* Make regexp in nexus_image method more flexible

* pim and interface bfd (#410)

* pim bfd

* doc

* Update CHANGELOG.md

* n7k atherton hsrp (#411)

* pim bfd

* doc

* fix n7k atherton hsrp

* review comments for doc

* review comments for doc

* Add ('--') separator for /bin/nsenter example.

Resolves #413

* Update Copyright date

* fix the case sensitive issue for int_hsrp_group (#416)

* cisco route map (#418)

* pim bfd

* doc

* fix n7k atherton hsrp

* review comments for doc

* review comments for doc

* partial new code

* rest of the code

* manifest

* fix get issue

* fix few errors in manifest

* fix manifest

* fix few issues

* fix next-hop sets

* fix manifest

* fix few issues

* fix vlan string munge

* beaker tests

* fix manifest

* fix beaker

* fix case sensitivity for int_hsrp_group name

* remove downcase from provider

* fixes for fretta

* doc

* remove 2 props from I4 code

* review comments

* review comments

* fix doc

* review comments

* add validate for multicast props

* route-map provider (#421)

* pim bfd

* doc

* fix n7k atherton hsrp

* review comments for doc

* review comments for doc

* partial new code

* rest of the code

* manifest

* fix get issue

* fix few errors in manifest

* fix manifest

* fix few issues

* fix next-hop sets

* fix manifest

* fix few issues

* fix vlan string munge

* beaker tests

* fix manifest

* fix beaker

* fix case sensitivity for int_hsrp_group name

* remove downcase from provider

* fixes for fretta

* doc

* remove 2 props from I4 code

* review comments

* review comments

* fix doc

* review comments

* add validate for multicast props

* add validate for multicast props

* Fix Chrun: console and vty config #417 (#422)

* Strip \r characters

* Add testcases to validate config with ctrl chars

* Remove puts and add inspect to debugs

* Add cleanup before next test

* Refactor ctrl character pattern and test

* Remove puts statements

* Add load-interval props to cisco_interface (#425)

* add load-interval attribs to interface

* clean up changelog

* review comment

* fix double quotes issue for passwords (#426)

* add load-interval attribs to interface

* clean up changelog

* review comment

* double quote string cleanup

* review comments

* fix backspace issue for dhcp (#428)

* Feature/upgrade services (#427)

* Add new type for cisco_service

* Add new provider cisco_Service

* Fix rubopcop errors

* fix rubocop errors

* Fix date on CopyRight

* Rename cisco_service to cisco_upgrade

* Redesigned upgrade resource type based on @mikewiebe PR comments

* Redesigned upgrade resource provider based on @mikewiebe PR comments

* removing cisco_service resource type

* rename media to uri and misc. fixes

* converting del_boot_image and force_upgrade to bools

* Remove whitespace

* Source_uri is required

* Handle node_utils API change from service to upgrade

* Feature/upgrade services (#429)

* Add new type for cisco_service

* Add new provider cisco_Service

* Fix rubopcop errors

* fix rubocop errors

* Fix date on CopyRight

* Rename cisco_service to cisco_upgrade

* Redesigned upgrade resource type based on @mikewiebe PR comments

* Redesigned upgrade resource provider based on @mikewiebe PR comments

* removing cisco_service resource type

* rename media to uri and misc. fixes

* converting del_boot_image and force_upgrade to bools

* Remove whitespace

* Source_uri is required

* Handle node_utils API change from service to upgrade

* Move source_uri validation to provider

* remove all route maps after beaker test (#431)

* remove all route maps after beaker test

* review comment

* Feature/upgrade services (#430)

* Add new type for cisco_service

* Add new provider cisco_Service

* Fix rubopcop errors

* fix rubocop errors

* Fix date on CopyRight

* Rename cisco_service to cisco_upgrade

* Redesigned upgrade resource type based on @mikewiebe PR comments

* Redesigned upgrade resource provider based on @mikewiebe PR comments

* removing cisco_service resource type

* rename media to uri and misc. fixes

* converting del_boot_image and force_upgrade to bools

* Remove whitespace

* Source_uri is required

* Handle node_utils API change from service to upgrade

* Move source_uri validation to provider

* Added image_version proc and ability to process '()'

* Fix rubocop errors

* Add new test file for cisco_upgrade resource beaker_tests/cisco_upgrade/test_upgrade_idempotence.rb

* Running cisco_upgrade tests on n3k,n9k only

* Update README with references to the new cisco_upgrade resource

* Update README.md

* Add demo manifest for cisco_upgrade

* Add new manifest for cisco_upgrade

* Added 'cisco_upgrade' to changelog

* Update Support Table for cisco_upgrade

Add Release for Fretta and update N9K/N3k release to camden 2e

* Minor changes to README.md

* Update README.md

* Minor changes to documentation

* Update version -> 1.6.0

* Update CHANGELOG.md

* Update metadata.json

* Feature/upgrade services (#433)

* Add new type for cisco_service

* Add new provider cisco_Service

* Fix rubopcop errors

* fix rubocop errors

* Fix date on CopyRight

* Rename cisco_service to cisco_upgrade

* Redesigned upgrade resource type based on @mikewiebe PR comments

* Redesigned upgrade resource provider based on @mikewiebe PR comments

* removing cisco_service resource type

* rename media to uri and misc. fixes

* converting del_boot_image and force_upgrade to bools

* Remove whitespace

* Source_uri is required

* Handle node_utils API change from service to upgrade

* Move source_uri validation to provider

* Added image_version proc and ability to process '()'

* Fix rubocop errors

* Add new test file for cisco_upgrade resource beaker_tests/cisco_upgrade/test_upgrade_idempotence.rb

* Running cisco_upgrade tests on n3k,n9k only

* Update README with references to the new cisco_upgrade resource

* Update README.md

* Add demo manifest for cisco_upgrade

* Add new manifest for cisco_upgrade

* Added 'cisco_upgrade' to changelog

* Update Support Table for cisco_upgrade

Add Release for Fretta and update N9K/N3k release to camden 2e

* Minor changes to README.md

* Update README.md

* Minor changes to documentation

* Replace output with stdout.chomp for facter call

* Fix radius_global_provider_defaults expected reponses (#434)

* Update radius_global_provider_defaults.rb
mikewiebe pushed a commit that referenced this pull request May 31, 2017
* Added IOS XR support for tacacs_server

* Updated CHANGELOG

* Update CHANGELOG.md

* Added support on IOS XR for tacacs_server_group

* remove sync damage from demo_bridge

* Refactored network_interface provider. Updated tests and code to
support IOS XR.

* Matrix updates for overlay_global & network_trunk

* domain and search options are mutually exclusive

http://man7.org/linux/man-pages/man5/resolv.conf.5.html

* Remove source_interface_hold_down_time for 8k

* Collapse release_1.3.2 to develop

* cisco_bfd_global: new properties (#334)

* manifest

* type file add

* provider file

* array types

* beaker

* add loopback int

* remove name

* fix manifest

* documentation

* comment

* Review comments

* Fix README

* Fix README

* network_snmp ios_xr does not support global enable

* bgp_neighbor: add bfd (#340)

* manifest

* type file add

* provider file

* array types

* beaker

* add loopback int

* remove name

* fix manifest

* documentation

* comment

* Review comments

* Fix README

* Fix README

* add bfd to bgp_neighbor

* bfd prop

* documentation

* Fix BFD caveat

* Update CHANGELOG.md

* search_domain, tests platform agnostic (#343)

* modificatins for snmp_notification on IOS_XR

* test fixes for ios_xr snmp_notification_receiver (#338)

* Add test_get / test_set to command_config (#348)

* Add test_get / test_set to command_config

* Needed a way for beaker to query / set config that didn't have explicit resource support (e.g. disabling a feature)

* test_get is a simple get-only property that does a show running; callers set a filter to parse what they need:
    `puppet resource cisco_command_config 'cc' test_get='incl feature'`

* test_set is a simple set-only property:
    `puppet resource cisco_command_config 'cc' test_set='no feature foo'`

* Tested on n3,n5,n7,n9

* Bad regex in bkr test service_provider_nondefaults.rb

* Add beaker test_get / test_set

* config_find_remove() uses test_get to search for existing configs, then test_set to remove it.

* Fix the fabricpath tests which ran into an issue on n5k when cleaning up 'feature nv overlay' with command_config: Puppet resource removes the config but then immediately does a 'show runn' which gets a SAP timeout on the device itself and the test errors. Using the test_set setter instead of regular command_config gets around this problem because it's a "set-only" with a dummy test_set getter.

* Tested on n5,n7,n9

* test_get: add debugs, comments

* tested on n5

* Skipped tacacs provider test on IOS XR (#350)

* Refactor tests: aaa_group_tacacs (#351)

* Converted to new test syntax

* Tested on n9-i4

* Add cisco_ospf_area provider (#352)

This PR is for cisco_ospf_area provider. The properties do not include nssa and its associated properties. They will be added as part of another user story.

Since this provider becomes absent when all properties are set to default, cisco_pim model is followed for beaker tests.

All demo_manifests and beaker tests passed on all platforms.

Squashed commits:

* first commit

* fix issues

* remove comment

* Fix stub

* fix area to ipaddr or int

* small error

* beaker tests

* documentation

* review comments

* Update README.md

* Review comments about stub

* Added IOS XR support for snmp_user (#353)

* Add nssa properties to ospf_area provider (#354)

* first commit

* fix issues

* remove comment

* Fix stub

* fix area to ipaddr or int

* small error

* beaker tests

* documentation

* review comments

* Update README.md

* Review comments about stub

* nssa

* small correction

* name changes

* fix manifest

* fix nssa_set

* include cmnutils

* beaker test added for nssa

* typo fix

* documentation

* fix docmentation

* fix README

* Fix review comments

* tacacs_global changes for ios_xr (#342)

* router_ospf_area_vlink: new provider (#355)

Adds virtual-link support

* Fixes for cisco_interface_ospf provider (#357)

* Fix interface_ospf provider and beaker

* doc

* doc

* review comments

* minor vrf name change

* to avoid annoying conflict with 'management'

* command_config: undefined method 'previous' (#358)

* Symptom: Simple cc manifest with a faulty line of config:

cisco_command_config { 'interface':
   command  => '
     interface loopback42
     ipv6 pim foo
   '
}

When puppet agent runs the cc provider drops into a rescue which should first print out the parts of the config that were successfully processed and then do a raise, but instead we see:

```
  Error: undefined method 'previous' for #<Cisco::CliError:0x0000000460ac08>
```

* Analysis: `client.rb` was refactored a few months ago, wherein the `previous` hash key was renamed to `successful_input`. The cc providers (both puppet & chef) never got updated with the new key name.
  * Ref: https://github.com/cisco/cisco-network-node-utils/blob/develop/lib/cisco_node_utils/client/nxapi/client.rb#L285

* Testing:

```
Linux# puppet agent -t --debug
 ...
Info: Cisco_command_config[interface](provider=cisco): Successfully updated:
interface loopback42
Error: The command 'ipv6 pim foo' was rejected with error:
% Invalid command

Error: /Stage[main]/Main/Node[default]/Cisco_command_config[interface]/command: change from  to interface loopback42
ipv6 pim foo
 failed: The command 'ipv6 pim foo' was rejected with error:
% Invalid command

```

* Merge release_1.3.2 --> develop (#365)

* Add note on existing_str

* Refactor test_interface.rb into multiple files

* This test was trying to do too much; it became too large and unwieldy to use and troubleshoot.
* Refactor to use new test syntax (test_harness_run)
* File changes:
  *  deleted:    test_interface.rb
  *  new file:   interfacelib.rb
  *  new file:   test_interface_L2.rb
  *  new file:   test_interface_L3.rb
  *  new file:   test_interface_bdi.rb
  *  modified:   test_interface_capabilities.rb
  *  modified:   test_interface_stp.rb
  *  new file:   test_interface_svi.rb
  *  new file:   test_interface_private_vlan.rb

* renamed test_vlan_mapping.rb to test_interface_vlan_mapping.rb

* Only tested on n7k and n9k so far but there's a lot here and I wanted to get some eyes on the changes

* Platform tweaks for test_interface*

* test_interface: add skip_unless_supported plat checks

* Minor change to bail out of the test immediately if the platform does not apply

* test_interface_private_vlan: fix trunk assoc cleanup

* Found a bug on n9k where 'private-vlan association trunk' does not get cleaned up by 'default interface', which breaks this beaker test

* Created a workaround cleanup method that does 'no switchport'

* Tested on N9k-I3

* test_private_vlan: refactor, remove redundancies

* Refactored to use new test syntax; removed unnecessary/redundant tests and some that didn't test anything
* This test suffers from the same idempotency bug as the interface private-vlan code; it will require the same kind of fix

* Tested on n9k-I3, N7

* Bump version number.

* Add testing for switchport_autostate_exclude

* Remove old and redudant access_vlan tests

* Remove old style beaker tests

* normalize_range_array for puppet

This is the puppet counter-part to NU. The notes below are copied from: cisco/cisco-network-node-utils#400
The main difference between these is a default check in Utils.normalize_range_array and that there's no Utils.dash_range_to_elements since that's not needed in puppet.

* The motivation for this change was finding yet another array normalizer in the private vlan code so these changes are initially meant to address fixes there. IMO our range summarize methods were getting a bit long and difficult to maintain; these new methods will hopefully simplify things somewhat.

  * The main problem these methods are trying to solve is reconciling manifest inputs with getter results when there are overlapping ranges; e.g.:
  * '2-5, 9, 4-6'     needs to be ['2-6', '9']
  * ['2', '3', '4-6'] needs to be ['2-6']
  * ['2', '3', '4']   needs to be ['2-4']

* It's fairly easy to merge the ranges if they are actual ruby ranges instead of the dash-syntax ranges, so the new methods just convert to ruby ranges, merge, and convert back.

* Tested on n9k. Additional testing coming on the other platforms, as well well as demo, Readme, etc.

* bgp_af l2vpn

* Fix demo_bgp

* Fix additional_paths_install

* New beaker style vlan tests

* l2vpn/evpn support

* l2vpn/evpn support

* exclude n3k

* review comments

* Review comments

* cisco_interface: deprecate private_vlan*

* private_vlan refactor

* cisco_interface: private_vlan refactor

* Deprecated the private_vlan properties that were released with 1.3.0 and created new pvlan properties in their place.

* This is the companion to NU PR: cisco/cisco-network-node-utils#406

* Updated Type, Provider, Beaker, Demo, README, and CHANGELOG.

* Currently only tested on N7, N9-i3. Additional testing in prog.

* readme and changelog

* readme and changelog

* Update README.md

* pvlan beaker fixups for 6k

* The 6k cli is strict about requiring vlan associations before allowing interface vlan association; therefore I added the dependencies to the test. I need to rerun the test on all the platforms to see if the platform check needs to be tweaked.

* Only tested on n6 so far

* Minor demo_interface changes

* Added some private-vlan dependency resources

* test_interface_private_vlan: n3k platform fixes

* demo manifest as well

* tested on n3-i4,n9-i2,n5,n9-i3,n7

* test_interface_stp needs vlan cleanup

* tested on n9-i3

* Re-add n8k doc references

* Fix some N8k references

* Add N8k back to support table

* Remove extra property

* Fix spacing in rotate property

* anycast_gateway platform checks

* Restrict the anycast test to n9k only

* Tested on n3,n7,n9-i2,n9-i3

* test_interface_service_vni script fixes

* Some cleanup / setup was insufficient

* :non_default was not getting run

* This is only supported on n7k; tested on n7k.

* test_vrf: f3 dependencies

* N7k needs an f3-only vdc for route_distinguisher

* tested on n7

* test_vrf_af: add f3 dependency for 7k

* tested on n7k

* Update README-agent-install.md

* Update README.md

* test_vlan/test_private_vlan: add f3 deps

* Tested on n7

* test_vxlan_vtep*: add f3 deps

* Tested on n7

* Refactor package provider to use rpm - qip (#328)

* Replace regexp with rpm -qip

* patching demo updates

* Updated fail message

* Update demo_patching.pp

* Add back rpm filename regexp support (#329)

* Add back rpm filename regexp support

* Remove debugs

* Update README.md

* interface svi fix

* Remove explicit anycast config

* anycast-gateway-mac is a required dependency; a recent commit added an explicit call to the test file to set this up; BUT we already had existing code for doing this that was part of interfacelib.rb

* The interfacelib code was returning early because of /unless/if/

* Tested on n9-i4

* test_interface_L2 should reset sys_def_switchport

* This test sets the system default switchport state to true but it should reset it to false when it's finished.

* Tested on n9-i4

* test_vxlan_vtep_vni: suppress_uuc broken

* There was a platform exception that tried to add this property using the new test syntax; however this test file uses an older syntax.

* Added an nv overlay hw support check (my n6k does not support nv overlay)

* Tested on n6

* README-agent-install: doc cleanup (#330)

* README-agent-install: doc cleanup

* This doc has had a lot of misc updates in the past so I tried to streamline the content somewhat and organize the sections into discrete steps.

* A couple of things that need a closer look:
 * The RPM table may need updating to reflect the GS fix coming out any day
 * The auto-install section for cisco_node_utils gem is a little weak. I'm not sure if I referenced the correct pp file and used the right directory target.

* README-agent-install.md: Cleanup node-utils section

* README-agent-install.md: fix broken links

* Review comments addressed

* All addressed except for the GS RPM comment.

* README-agent-install: GS RPM v1.5 tested

* Add markdown syntax flags

* README.md cleanup for 1.3.2 (#335)

* Move Document Workflow Map to Documentation Guide table

* README: Move Limitations into Platform Support

* Add Legend & tables

* README: Update Usage section

* README: Move platform support section after resource ref tables

* README.md: minor text change

* URL change: /develop/master/

* Addressed remaining PR comments

* /develop/master/ URL fixup

* test_vdc: fix for non-F3 testbeds (#336)

* test_vdc: fix for non-F3 testbeds

* Updated this test to work with non-F3 N7k testbeds.
  * Initially set the VDC module-type to default state
  * Then set module-type to F3 and test
  * There's no great way to know which way to leave the module-type when this test completes, so:
    * Reset module-type to default for non-F3 testbeds since leaving it as F3 means the device won't have any usable interfaces
    * Noop for F3 testbeds so that it leaves their F3 still usable

* Tested on n6, n7-non-F3

* beaker tests: add F3 dependencies

* vdc, bridge-domain tests

* tested on n6, n7-non-F3

* Fix vxlan_vtep_vni suppress_uuc prop (#341)

* Readme.md changes for itd_service (#346)

* itd_service pre requisite

* cleanup

* cleanup

* review comment

* review comment

* review comment

* Add n8k reference to CHANGELOG

* command_config: undefined method 'previous' (#358)

* Symptom: Simple cc manifest with a faulty line of config:

cisco_command_config { 'interface':
   command  => '
     interface loopback42
     ipv6 pim foo
   '
}

When puppet agent runs the cc provider drops into a rescue which should first print out the parts of the config that were successfully processed and then do a raise, but instead we see:

```
  Error: undefined method 'previous' for #<Cisco::CliError:0x0000000460ac08>
```

* Analysis: `client.rb` was refactored a few months ago, wherein the `previous` hash key was renamed to `successful_input`. The cc providers (both puppet & chef) never got updated with the new key name.
  * Ref: https://github.com/cisco/cisco-network-node-utils/blob/develop/lib/cisco_node_utils/client/nxapi/client.rb#L285

* Testing:

```
Linux# puppet agent -t --debug
 ...
Info: Cisco_command_config[interface](provider=cisco): Successfully updated:
interface loopback42
Error: The command 'ipv6 pim foo' was rejected with error:
% Invalid command

Error: /Stage[main]/Main/Node[default]/Cisco_command_config[interface]/command: change from  to interface loopback42
ipv6 pim foo
 failed: The command 'ipv6 pim foo' was rejected with error:
% Invalid command

```

* New overlay_global behaviors (#360)

* DME changes for l2rib properties resulted in removal of the 'default' keyword from the cli:

    `l2rib dup-host-mac-detection default`

* Prior to this change, 'default' was the only way to reset the host_moves & timeout properties back to default; there was/is no 'no' command, so the only way to reset it now is to re-enter the command with the default values.

* This change necessitates changes to the setter, minitest, and beaker. I also changed the default values to actual integer values instead of empty strings.

* Tested minitest & beaker for: n9-edev,n9-I4,n5,n6. Skips for n3 (normal) and n7 (requires F3 card).

* Remove vsh code (#361)

* Fix cisco_aaa* 'TACACS+ group delete denied, group is in use' issue (#362)

* Added setup and cleanup steps

* Add back needed autorequires

* Added cleanup and teardown calls

* Refactor setup/cleanup

* Remove debug causing beaker tests to error out

* Fix cisco_tacacs* 'TACACS+ group delete denied, group is in use' (#363)

* Added setup and cleanup steps

* Add back needed autorequires

* Added cleanup and teardown calls

* Refactor setup/cleanup

* Remove debug causing beaker tests to error out

* Add setup/cleanup steps

* Fix netdev tacacs* 'TACACS+ group delete denied, group is in use' (#364)

* Added setup and cleanup steps

* Add back needed autorequires

* Added cleanup and teardown calls

* Refactor setup/cleanup

* Remove debug causing beaker tests to error out

* Add setup/cleanup steps

* Add setup/cleanup steps

* Fixed merge issue

* Add noop beaker test

* This is a dummy test for use during CI development

* Move noop.rb to base dir

* Munge events value 'false' to 'size_disable' (#366)

Due to recent platform changes, the CLI for `event_history events
size disable` now results in the config `no event-history events`.

This change munges the manifest value of `false` to `size_disable`.

* Ospf bfd for interfaces (#367)

* Fix interface_ospf provider and beaker

* doc

* doc

* review comments

* bfd added to router ospf vrf

* bfd_per_link added to interface_portchannel

* add bfd and network to int ospf

* add bfd echo to intf

* changelog

* doc

* Remove get_vshell_cmd calls (#368)

* L3 PIM-on-VRF-intf beaker fix (#369)

* ip pim sparse-mode was failing to nvgen during the test
  * Factors: a) the intf is in vrf 'test1'; and, b) 'test1' has not been instantiated yet
  * Normally these forward-references are not a problem but the new DME-based PIM cli is silently rejecting it because the vrf is not instantiated
  * For puppet it's not unreasonable to require a pre-instantiated vrf, and since this change only affects our beaker test I'm just going to update the test. The PIM team did say they would reconsider raising an error for this, or better yet just create the pim cli object regardless of vrf-instantiation state.

* Also fixed a cleanup issue for dot1q sub-ints.

* Tested on N9-I5

* Add Ospf properties for interfaces (#371)

* Fix interface_ospf provider and beaker

* doc

* doc

* review comments

* add mtu, pri, shut and tx delay to int ospf

* documentation

* Fix beaker test bug (#372)

* bug fix for interface_portchannel beaker test (#373)

* Fix interface_ospf provider and beaker

* doc

* doc

* review comments

* add mtu, pri, shut and tx delay to int ospf

* documentation

* bug fix

* Removed, no longer needed

* Remove broken snmp_user XR support (#374)

* Add agent_probe to utility.lib (#375)

* `feature vn-segment-vlan-based` is not supported on some n3k's

* Added a simple helper method to test for h/w support; the result is then used by `unsupported_properties` to update the test cases

* Tested on n3k(3048), n7k, n9k

* Add f3 utility for n7 bkr tests (#376)

* Tested on n7k

* Fix half/full in test_duplex (#377)

* For some 3k, need to munge 'half/full' into csv-style 'half,full' to play nice with interface_capabilities

* This fix is a little trickier than the NU fix because the output from puppet resource is 'raw' whereas the NU output is a pre-processed hash of capabilities; thus we have to be careful not to munge the vsh or puppet resource output.

* Tested on n3048

* Update service provider beaker test to work in guestshell (#378)

* Select service based on OS family

* Update fail_test message

* Add teardowns to beaker (#379)

* f3 handling for test_vrf (#380)

* f3 handling for test_vrf

* N7k setup/cleanup when missing F3 cards

* New `image?` method for checking image version pattern; used as test for unprops

* New `remove_all_vrfs` method that uses `test_get`/`test_set`; this is much faster than removing vrfs one at a time

* Remove :description image check

* Remove redundant cleanup

* f3 setup/teardown for vrf_af

* f3 setup/teardown bridge-domain

* f3 setup/teardown for encap

* bkr setup/teardown cleanups

* f3 setup/teardown for interface_svi

* f3 setup/teardown for service_vni

* f3 setup/teardown test_private_vlan

* f3 setup/teardown for vxlan_vtep*

* f3 setup/teardown for fabricpath_topology

* setup/teardown cleanups for cisco_itd_device_group_node

* beaker fix for resilient and symmetry non support on n3k (#381)

* Fix interface_ospf provider and beaker

* doc

* doc

* review comments

* add mtu, pri, shut and tx delay to int ospf

* documentation

* bug fix

* Fix for symmetry and resilient no support on n3k

* review comment

* rewview comments

* setup/teardown for bfd_global

* setup/teardown bridge_domain

* setup/teardown acl

* setup/teardown bgp_af

* setup/teardown cisco_pim

* Convert test_fabricpath_global to new syntax

* Setup/teardown test_interface_L3

* setup/teardown test_interface_private_vlan

* Convert test_interface_channel_group to new syntax

* Convert test_interface_portchannel to new syntax

* setup/teardown for test_itd_service

* setup/teardown cisco_ospf_area*

* setup/teardown cisco_interface_ospf

* setup/teardown cisco_ospf_vrf

* Bad cleanup test_itd_service

* Convert test_command_config to new syntax

* better cleanup for bfd

* setup/teardown for test_bgp

* setup/teardown test_bgpaf

* better cleanup for pim

* setup/teardown test_bgpneighbor

* Better remove_all_vlans

* setup/teardown test_bgpneighboraf

* ospf_vrf cleanup should remove feature bfd

* setup/teardown test_stp_global

* setup/teardown test_bgpneighbor*

* better cleanup test_interface_L3

* better cleanup test_interface_ospf

* setup/teardown test_interface_portchannel

* setup/teardown test_interface_stp

* setup/teardown test_interface_bdi

* setup/teardown test_evpn_vni

* Convert test_vpc_domain to new syntax

* setup/teardown test_itd_device_group

* Convert test_overlay_global to new syntax

* Rel140/refactor package tests (#382)

* Refactor beaker package tests

* Remove unused code

* Rubocop fix

* Uncomment filename

* Add ensure_prop_override setting

* Rubocop fix

* Fix test_itd_service

* The cleanup in the dependency manifest was turning off 'feature itd' but that needs to be re-enabled in order to configure the itd device-group dependency

* beaker: Remove raise_skip call from summary checker

* test_interface_ospf dependency fix

* Add :array opt to test_get bkr utility

* Enable yum package testing in guestshell (#384)

* Initial gs package test support

* Minor refactoring

* Add camden i2.1 patch details

* Use specific yum patch for camden fcs

* Separate native and gs test flow

* Remove ensure absent in manifest_props

* Enable additional releases

* I5 patch fix

* Use single workflow for gs and native

* Convert test_snmp_server to new syntax (#385)

* Convert test_snmp_server to new syntax

* packetsize was failing on n7k so I just rewrote the test to use the new format

* tested on n7k,n9k-I5

* Fix pktsize cleanup

* Rename test_package.rb -> test_package_patch.rb

* Converted the old style tests to new syntax. (#386)

Most of these are straightforward changes. The package test is complicated on native since third-party rpms require setting up a yum repo, but I set up the test to do the repo init via puppet so we actually get a bit more coverage this way.

* Tested on N5,N7,N9-I5 using native/GS/OAC

* utilitylib: Restore tests[id][:resource]['ensure']

I pulled this out by mistake with this commit:
  2641c7a#diff-e0883d3270eb11e5d50fcdc5c4f83003L603

* test_interface_ospf: Fix process dependency

* A previous test cleanup removed 'router ospf Sample' from the harness dependencies; now the nightly if failing when it tries to configure an ospf config on an interface

* Although the router config is not necessary for the interface config, the failure occurs because the ospf process is still starting up (ospf startup is slow on 5k/6k/8k). The ospf provider already has a 'wait_for_process_initialized' method to handle this slow start, while the interface_ospf provider does not. This is only an issue during testing so I do not propose adding the wait_for method to interface_ospf.

* Tested on n5,n7,n9

* test_interface_ospf: Fix process dependency (#388)

* A previous test cleanup removed 'router ospf Sample' from the harness dependencies; now the nightly if failing when it tries to configure an ospf config on an interface

* Although the router config is not necessary for the interface config, the failure occurs because the ospf process is still starting up (ospf startup is slow on 5k/6k/8k). The ospf provider already has a 'wait_for_process_initialized' method to handle this slow start, while the interface_ospf provider does not. This is only an issue during testing so I do not propose adding the wait_for method to interface_ospf.

* Tested on n5,n7,n9

* Add log.error to beaker search_pattern

* When test_resource fails it just displays what it's expecting to find but it doesn't show what the current output was (which often helps with troubleshooting). This just includes the output when there's a failure.

* Add titles for bgp vrf beaker tests

* Suppress fib pending fix (#387)

* Generalize the method for checking nexus images

* Fix suppress fib pending for non-I5 images

* Clean up image check and post-merge leftovers

* cisco_interface enhancement (#389)

* Fix interface_ospf provider and beaker

* doc

* doc

* review comments

* add mtu, pri, shut and tx delay to int ospf

* documentation

* bug fix

* Fix for symmetry and resilient no support on n3k

* review comment

* rewview comments

* dhcp relay and storm control -- not tested yet

* beaker test

* fix non default test

* removed storm control broadcast and multicast for n7k

* fix munging

* demo manifest changes

* cleanup manifests

* dhcp and l3 are merged

* merge L2 and storm control

* docs

* review comments

* Add'l cleanup for test_interface_ospf

* Fix id bug

* Replace skip_nexus_i2_image() with skip_nexus_image() api call (#390)

* Skip dns provider test instead of error

* Remove commented out call to fail api

* Update test_harness_dependencies for test_interface_ospf.rb (#393)

* Fixed rubocop errors

* Remove debug code

* Dhcp Relay Global (#392)

* Fix interface_ospf provider and beaker

* doc

* doc

* review comments

* add mtu, pri, shut and tx delay to int ospf

* documentation

* bug fix

* Fix for symmetry and resilient no support on n3k

* review comment

* rewview comments

* dhcp relay and storm control -- not tested yet

* beaker test

* fix non default test

* removed storm control broadcast and multicast for n7k

* fix munging

* demo manifest changes

* cleanup manifests

* dhcp and l3 are merged

* merge L2 and storm control

* docs

* review comments

* dhcp_relay_global provider

* beaker

* fix beaker

* Fix provider code for removal of name

* documentation

* typo in beaker

* fix doc

* fix doc

* fix doc for version

* Remove packet_size prop testing for I2 and I3 images

* cisco_interface beaker test (#394)

* Fix interface_ospf provider and beaker

* doc

* doc

* review comments

* add mtu, pri, shut and tx delay to int ospf

* documentation

* bug fix

* Fix for symmetry and resilient no support on n3k

* review comment

* rewview comments

* dhcp relay and storm control -- not tested yet

* beaker test

* fix non default test

* removed storm control broadcast and multicast for n7k

* fix munging

* demo manifest changes

* cleanup manifests

* dhcp and l3 are merged

* merge L2 and storm control

* docs

* review comments

* dhcp_relay_global provider

* beaker

* fix beaker

* Fix provider code for removal of name

* documentation

* typo in beaker

* fix doc

* fix doc

* fix doc for version

* fix beaker test for intf

* event_history_periodic changes for bgp (#395)

* Fix interface_ospf provider and beaker

* doc

* doc

* review comments

* add mtu, pri, shut and tx delay to int ospf

* documentation

* bug fix

* Fix for symmetry and resilient no support on n3k

* review comment

* rewview comments

* dhcp relay and storm control -- not tested yet

* beaker test

* fix non default test

* removed storm control broadcast and multicast for n7k

* fix munging

* demo manifest changes

* cleanup manifests

* dhcp and l3 are merged

* merge L2 and storm control

* docs

* review comments

* dhcp_relay_global provider

* beaker

* fix beaker

* Fix provider code for removal of name

* documentation

* typo in beaker

* fix doc

* fix doc

* fix doc for version

* fix beaker test for intf

* fix bgp for event_history

* move facter to provider

* beaker for event_history_periodic

* documentation

* review comments

* review comments

* bgp event_history (#400)

* fix bgp event-history

* beaker changes

* doc and manifest

* review comments

* manifest review comment

* Rel141/lacp suspend (#401)

* Fix lacp_suspend_individual property issue in evergreen

* Remove unneeded test_set call in test_interface_portchannel.rb

* Update README.me with lacp_suspend_individual caveat

* Futher clarify caveat for lacp_suspend_individual property

* Futher clarify caveat for lacp_suspend_individual property

* Test non-default value for n3k

* fix vrf beaker (#402)

* Remove comment that no longer applied with the latest node utils gem

* Scrub N8k References

* hsrp_global and interface hsrp (#404)

* hsrp global new provider

* hsrp interface

* beaker of intf_hsrp

* move int_hsrp to int

* documentation

* Rel150/n8k n9kf rebranding (#406)

* N8k -> N9K-F changes

* Fix puppet module function name

* Remove old README doc

* Update N9k-F Module Version

* Additional N8k -> N9K-F updates

* Refactor platform_fretta function to use os_release fact

* Update platform_fretta function comments

* Fix image version check

* Skip privte vlan tests on n9k-f

* Skip cisco_itd tests on n9k-f

* Skip private vlan tests on n9k-f

* Skip cisco_vpc tests on n9k-f

* Anchor n9k platform check

* Update platform regexp to use correct packet size for fretta

* Rel150/product tag (#407)

* Add product_tag helper method

* Fix bug in product_tag api

* Update CHANGELOG.md

* Interface HSRP group (#405)

* hsrp global new provider

* hsrp interface

* beaker of intf_hsrp

* move int_hsrp to int

* documentation

* hsrp group fixes

* fix array issue

* add validations

* demo manifest

* beaker

* documentation

* n8k to n9k-f

* review comments

* fix event_history for fretta

* fixes for review comments

* readme change

* more comments

* Rel150/atherton fretta fixes (#409)

* Handle atherton nxapi double quotes

* Handle atherton nxapi double quotes

* Handle atherton nxapi double quotes for tacacs

* Make regexp in nexus_image method more flexible

* pim and interface bfd (#410)

* pim bfd

* doc

* Update CHANGELOG.md

* n7k atherton hsrp (#411)

* pim bfd

* doc

* fix n7k atherton hsrp

* review comments for doc

* review comments for doc

* Add ('--') separator for /bin/nsenter example.

Resolves #413

* Update Copyright date

* fix the case sensitive issue for int_hsrp_group (#416)

* cisco route map (#418)

* pim bfd

* doc

* fix n7k atherton hsrp

* review comments for doc

* review comments for doc

* partial new code

* rest of the code

* manifest

* fix get issue

* fix few errors in manifest

* fix manifest

* fix few issues

* fix next-hop sets

* fix manifest

* fix few issues

* fix vlan string munge

* beaker tests

* fix manifest

* fix beaker

* fix case sensitivity for int_hsrp_group name

* remove downcase from provider

* fixes for fretta

* doc

* remove 2 props from I4 code

* review comments

* review comments

* fix doc

* review comments

* add validate for multicast props

* route-map provider (#421)

* pim bfd

* doc

* fix n7k atherton hsrp

* review comments for doc

* review comments for doc

* partial new code

* rest of the code

* manifest

* fix get issue

* fix few errors in manifest

* fix manifest

* fix few issues

* fix next-hop sets

* fix manifest

* fix few issues

* fix vlan string munge

* beaker tests

* fix manifest

* fix beaker

* fix case sensitivity for int_hsrp_group name

* remove downcase from provider

* fixes for fretta

* doc

* remove 2 props from I4 code

* review comments

* review comments

* fix doc

* review comments

* add validate for multicast props

* add validate for multicast props

* Fix Chrun: console and vty config #417 (#422)

* Strip \r characters

* Add testcases to validate config with ctrl chars

* Remove puts and add inspect to debugs

* Add cleanup before next test

* Refactor ctrl character pattern and test

* Remove puts statements

* Add load-interval props to cisco_interface (#425)

* add load-interval attribs to interface

* clean up changelog

* review comment

* fix double quotes issue for passwords (#426)

* add load-interval attribs to interface

* clean up changelog

* review comment

* double quote string cleanup

* review comments

* fix backspace issue for dhcp (#428)

* Feature/upgrade services (#427)

* Add new type for cisco_service

* Add new provider cisco_Service

* Fix rubopcop errors

* fix rubocop errors

* Fix date on CopyRight

* Rename cisco_service to cisco_upgrade

* Redesigned upgrade resource type based on @mikewiebe PR comments

* Redesigned upgrade resource provider based on @mikewiebe PR comments

* removing cisco_service resource type

* rename media to uri and misc. fixes

* converting del_boot_image and force_upgrade to bools

* Remove whitespace

* Source_uri is required

* Handle node_utils API change from service to upgrade

* Feature/upgrade services (#429)

* Add new type for cisco_service

* Add new provider cisco_Service

* Fix rubopcop errors

* fix rubocop errors

* Fix date on CopyRight

* Rename cisco_service to cisco_upgrade

* Redesigned upgrade resource type based on @mikewiebe PR comments

* Redesigned upgrade resource provider based on @mikewiebe PR comments

* removing cisco_service resource type

* rename media to uri and misc. fixes

* converting del_boot_image and force_upgrade to bools

* Remove whitespace

* Source_uri is required

* Handle node_utils API change from service to upgrade

* Move source_uri validation to provider

* remove all route maps after beaker test (#431)

* remove all route maps after beaker test

* review comment

* Feature/upgrade services (#430)

* Add new type for cisco_service

* Add new provider cisco_Service

* Fix rubopcop errors

* fix rubocop errors

* Fix date on CopyRight

* Rename cisco_service to cisco_upgrade

* Redesigned upgrade resource type based on @mikewiebe PR comments

* Redesigned upgrade resource provider based on @mikewiebe PR comments

* removing cisco_service resource type

* rename media to uri and misc. fixes

* converting del_boot_image and force_upgrade to bools

* Remove whitespace

* Source_uri is required

* Handle node_utils API change from service to upgrade

* Move source_uri validation to provider

* Added image_version proc and ability to process '()'

* Fix rubocop errors

* Add new test file for cisco_upgrade resource beaker_tests/cisco_upgrade/test_upgrade_idempotence.rb

* Running cisco_upgrade tests on n3k,n9k only

* Update README with references to the new cisco_upgrade resource

* Update README.md

* Add demo manifest for cisco_upgrade

* Add new manifest for cisco_upgrade

* Added 'cisco_upgrade' to changelog

* Update Support Table for cisco_upgrade

Add Release for Fretta and update N9K/N3k release to camden 2e

* Minor changes to README.md

* Update README.md

* Minor changes to documentation

* Feature/upgrade services (#433)

* Add new type for cisco_service

* Add new provider cisco_Service

* Fix rubopcop errors

* fix rubocop errors

* Fix date on CopyRight

* Rename cisco_service to cisco_upgrade

* Redesigned upgrade resource type based on @mikewiebe PR comments

* Redesigned upgrade resource provider based on @mikewiebe PR comments

* removing cisco_service resource type

* rename media to uri and misc. fixes

* converting del_boot_image and force_upgrade to bools

* Remove whitespace

* Source_uri is required

* Handle node_utils API change from service to upgrade

* Move source_uri validation to provider

* Added image_version proc and ability to process '()'

* Fix rubocop errors

* Add new test file for cisco_upgrade resource beaker_tests/cisco_upgrade/test_upgrade_idempotence.rb

* Running cisco_upgrade tests on n3k,n9k only

* Update README with references to the new cisco_upgrade resource

* Update README.md

* Add demo manifest for cisco_upgrade

* Add new manifest for cisco_upgrade

* Added 'cisco_upgrade' to changelog

* Update Support Table for cisco_upgrade

Add Release for Fretta and update N9K/N3k release to camden 2e

* Minor changes to README.md

* Update README.md

* Minor changes to documentation

* Replace output with stdout.chomp for facter call

* Replace heavy_minus_sign emoji with utf-8 ➖symbol in README (#438)

Previously the README was a mix of utf-8 symbols and GitHub emoji.  This was not properly rendering on Puppet Forge, as GitHub emoji codes are not supported.

* use resource name for all cisco provider cases (#439)

* fix beaker patch test for evergreen (#440)

* fix eth default

* Patch skips (#442)

* fix beaker patch test for evergreen

* skip patching tests for I2 & I3

* add docs

* add example

* beaker test for purge_config

* review comments

* Channel group mode addition (#449)

* fix channel_group_mode

* ad beaker for channel_group_mode

* add example manifest

* add example manifest

* doc

* fix readme

* fix skip for patch

* added dplus5

* add beaker test for no mode

* fix netdev port_channel

* Remove range checks

* Update README.md

* Update README-agent-install.md

* Feature/upgrade services (#451)

* Add new type for cisco_service

* Add new provider cisco_Service

* Fix rubopcop errors

* fix rubocop errors

* Fix date on CopyRight

* Rename cisco_service to cisco_upgrade

* Redesigned upgrade resource type based on @mikewiebe PR comments

* Redesigned upgrade resource provider based on @mikewiebe PR comments

* removing cisco_service resource type

* rename media to uri and misc. fixes

* converting del_boot_image and force_upgrade to bools

* Remove whitespace

* Source_uri is required

* Handle node_utils API change from service to upgrade

* Move source_uri validation to provider

* Added image_version proc and ability to process '()'

* Fix rubocop errors

* Add new test file for cisco_upgrade resource beaker_tests/cisco_upgrade/test_upgrade_idempotence.rb

* Running cisco_upgrade tests on n3k,n9k only

* Update README with references to the new cisco_upgrade resource

* Update README.md

* Add demo manifest for cisco_upgrade

* Add new manifest for cisco_upgrade

* Added 'cisco_upgrade' to changelog

* Update Support Table for cisco_upgrade

Add Release for Fretta and update N9K/N3k release to camden 2e

* Minor changes to README.md

* Update README.md

* Minor changes to documentation

* Replace output with stdout.chomp for facter call

* deprecate 'version' and add new property 'package'

* Add support for tftp: URI

Also added new property package and warning to handle deprecation of
‘version’

* Update tests

* Fix typo

* Modify failure message

* Rework validation

* remove package nil check

* Add package to UPGRADE_NON_BOOL_PROPS

* Fix beaker test

* Add source uri validation for usb

* Fix rubocop errors

* Remove references to 'version'

* Update  Documentation

* Removing source_uri and repurposing package

* Adding full package path to type

* Move Uri Processing to the provider

* Add 'version' back for tests

* Updating documentation to remove source_uri

* Fix rubocop errors

* Incorporating feedback on documentation

* (NETDEV-29) Enhance ntp_config and ntp_server add ntp_auth_key (#447)

This commit enhances the existing ntp_config and ntp_server providers
and adds ntp_auth_key

ntp_config
 - authenticate
 - trusted_key

ntp_server
 - key
 - maxpoll
 - minpoll
 - source_interface
 - vrf

ntp_auth_key
 - key
 - algorithim
 - mode
 - password

* Exclude (#453)

* adding excluded props for versions

* add bgp_neighbor exclude

* more tests for adding properties

* vxlan_vtep to be tested

* vxlan_vtp_vni beaker

* fix beaker dependency manifest

* doc

* README.md

* typo fix

* examples

* rubocop fix

* Update release checklist (#455)

* Update release checklist

* Fix CHANGELOG link.

* Fixed typo.

* Bgp address family aggregate address (#454)

* provider code for bgp af aggregate addr

* comment cleanup

* doc

* review comments

* add require ipaddr and cmnutils (#456)

* version change

* ntp props added to README

* skip addl-paths selection for n9k I5.3

* missing patch file tests added

* Fretta and Freeport added

* Update release date
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants