cisco_node_utils_mgx 2.1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (357) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +10 -0
  3. data/.rspec +2 -0
  4. data/.rubocop.yml +96 -0
  5. data/.travis.yml +17 -0
  6. data/CHANGELOG.md +676 -0
  7. data/CONTRIBUTING.md +43 -0
  8. data/Gemfile +10 -0
  9. data/LICENSE +201 -0
  10. data/README.md +246 -0
  11. data/Rakefile +44 -0
  12. data/SUPPORT.md +3 -0
  13. data/bin/.rubocop.yml +18 -0
  14. data/bin/check_metric_limits.rb +109 -0
  15. data/bin/git/hooks/commit-msg/enforce_style +89 -0
  16. data/bin/git/hooks/hook_lib +115 -0
  17. data/bin/git/hooks/hooks-wrapper +38 -0
  18. data/bin/git/hooks/post-flow-hotfix-start/update-version +24 -0
  19. data/bin/git/hooks/post-flow-release-finish/update-version +29 -0
  20. data/bin/git/hooks/post-flow-release-start/update-version +19 -0
  21. data/bin/git/hooks/post-merge/update-hooks +6 -0
  22. data/bin/git/hooks/post-rewrite/update-hooks +6 -0
  23. data/bin/git/hooks/pre-commit/check_unstaged_changes +18 -0
  24. data/bin/git/hooks/pre-commit/rubocop +25 -0
  25. data/bin/git/hooks/pre-commit/validate-diffs +45 -0
  26. data/bin/git/hooks/pre-commit/validate-yaml +18 -0
  27. data/bin/git/hooks/pre-push/check-changelog +24 -0
  28. data/bin/git/hooks/pre-push/rubocop +7 -0
  29. data/bin/git/update-hooks +123 -0
  30. data/bin/show_running_yang.rb +233 -0
  31. data/cisco_node_utils.gemspec +41 -0
  32. data/docs/README-develop-best-practices.md +521 -0
  33. data/docs/README-develop-node-utils-APIs.md +570 -0
  34. data/docs/README-maintainers.md +77 -0
  35. data/docs/README-test-execution.md +57 -0
  36. data/docs/README-utilities.md +14 -0
  37. data/docs/agent_files.png +0 -0
  38. data/docs/cisco_node_utils.yaml.example +36 -0
  39. data/docs/template-router.rb +123 -0
  40. data/docs/template-test_router.rb +104 -0
  41. data/ext/mkrf_conf.rb +63 -0
  42. data/lib/.rubocop.yml +18 -0
  43. data/lib/cisco_node_utils/aaa_authentication_login.rb +95 -0
  44. data/lib/cisco_node_utils/aaa_authentication_login_service.rb +138 -0
  45. data/lib/cisco_node_utils/aaa_authorization_service.rb +156 -0
  46. data/lib/cisco_node_utils/ace.rb +467 -0
  47. data/lib/cisco_node_utils/acl.rb +101 -0
  48. data/lib/cisco_node_utils/banner.rb +63 -0
  49. data/lib/cisco_node_utils/bfd_global.rb +305 -0
  50. data/lib/cisco_node_utils/bgp.rb +988 -0
  51. data/lib/cisco_node_utils/bgp_af.rb +545 -0
  52. data/lib/cisco_node_utils/bgp_af_aggr_addr.rb +207 -0
  53. data/lib/cisco_node_utils/bgp_neighbor.rb +527 -0
  54. data/lib/cisco_node_utils/bgp_neighbor_af.rb +780 -0
  55. data/lib/cisco_node_utils/bridge_domain.rb +178 -0
  56. data/lib/cisco_node_utils/bridge_domain_vni.rb +206 -0
  57. data/lib/cisco_node_utils/cisco_cmn_utils.rb +444 -0
  58. data/lib/cisco_node_utils/client/client.rb +238 -0
  59. data/lib/cisco_node_utils/client/grpc/client.rb +395 -0
  60. data/lib/cisco_node_utils/client/grpc/ems.proto +148 -0
  61. data/lib/cisco_node_utils/client/grpc/ems.rb +111 -0
  62. data/lib/cisco_node_utils/client/grpc/ems_services.rb +49 -0
  63. data/lib/cisco_node_utils/client/grpc.rb +33 -0
  64. data/lib/cisco_node_utils/client/nxapi/client.rb +368 -0
  65. data/lib/cisco_node_utils/client/nxapi.rb +31 -0
  66. data/lib/cisco_node_utils/client/utils.rb +180 -0
  67. data/lib/cisco_node_utils/client.rb +35 -0
  68. data/lib/cisco_node_utils/cmd_ref/README_YAML.md +590 -0
  69. data/lib/cisco_node_utils/cmd_ref/aaa_auth_login_service.yaml +25 -0
  70. data/lib/cisco_node_utils/cmd_ref/aaa_authentication_login.yaml +38 -0
  71. data/lib/cisco_node_utils/cmd_ref/aaa_authorization_service.yaml +40 -0
  72. data/lib/cisco_node_utils/cmd_ref/acl.yaml +48 -0
  73. data/lib/cisco_node_utils/cmd_ref/banner.yaml +11 -0
  74. data/lib/cisco_node_utils/cmd_ref/bfd_global.yaml +117 -0
  75. data/lib/cisco_node_utils/cmd_ref/bgp.yaml +383 -0
  76. data/lib/cisco_node_utils/cmd_ref/bgp_af.yaml +223 -0
  77. data/lib/cisco_node_utils/cmd_ref/bgp_af_aa.yaml +38 -0
  78. data/lib/cisco_node_utils/cmd_ref/bgp_neighbor.yaml +174 -0
  79. data/lib/cisco_node_utils/cmd_ref/bgp_neighbor_af.yaml +236 -0
  80. data/lib/cisco_node_utils/cmd_ref/bridge_domain.yaml +49 -0
  81. data/lib/cisco_node_utils/cmd_ref/bridge_domain_vni.yaml +33 -0
  82. data/lib/cisco_node_utils/cmd_ref/dhcp_relay_global.yaml +128 -0
  83. data/lib/cisco_node_utils/cmd_ref/dnsclient.yaml +55 -0
  84. data/lib/cisco_node_utils/cmd_ref/encapsulation.yaml +25 -0
  85. data/lib/cisco_node_utils/cmd_ref/evpn_multicast.yaml +12 -0
  86. data/lib/cisco_node_utils/cmd_ref/evpn_multisite.yaml +18 -0
  87. data/lib/cisco_node_utils/cmd_ref/evpn_stormcontrol.yaml +18 -0
  88. data/lib/cisco_node_utils/cmd_ref/evpn_vni.yaml +48 -0
  89. data/lib/cisco_node_utils/cmd_ref/fabricpath.yaml +183 -0
  90. data/lib/cisco_node_utils/cmd_ref/fabricpath_topology.yaml +40 -0
  91. data/lib/cisco_node_utils/cmd_ref/feature.yaml +126 -0
  92. data/lib/cisco_node_utils/cmd_ref/hostname.yaml +8 -0
  93. data/lib/cisco_node_utils/cmd_ref/hsrp_global.yaml +25 -0
  94. data/lib/cisco_node_utils/cmd_ref/images.yaml +8 -0
  95. data/lib/cisco_node_utils/cmd_ref/interface.yaml +781 -0
  96. data/lib/cisco_node_utils/cmd_ref/interface_channel_group.yaml +45 -0
  97. data/lib/cisco_node_utils/cmd_ref/interface_evpn_multisite.yaml +17 -0
  98. data/lib/cisco_node_utils/cmd_ref/interface_hsrp_group.yaml +120 -0
  99. data/lib/cisco_node_utils/cmd_ref/interface_ospf.yaml +112 -0
  100. data/lib/cisco_node_utils/cmd_ref/interface_portchannel.yaml +87 -0
  101. data/lib/cisco_node_utils/cmd_ref/interface_service_vni.yaml +42 -0
  102. data/lib/cisco_node_utils/cmd_ref/inventory.yaml +45 -0
  103. data/lib/cisco_node_utils/cmd_ref/ip_multicast.yaml +22 -0
  104. data/lib/cisco_node_utils/cmd_ref/itd_device_group.yaml +83 -0
  105. data/lib/cisco_node_utils/cmd_ref/itd_service.yaml +119 -0
  106. data/lib/cisco_node_utils/cmd_ref/memory.yaml +24 -0
  107. data/lib/cisco_node_utils/cmd_ref/ntp_auth_key.yaml +10 -0
  108. data/lib/cisco_node_utils/cmd_ref/ntp_config.yaml +27 -0
  109. data/lib/cisco_node_utils/cmd_ref/ntp_server.yaml +34 -0
  110. data/lib/cisco_node_utils/cmd_ref/object_group.yaml +32 -0
  111. data/lib/cisco_node_utils/cmd_ref/ospf.yaml +91 -0
  112. data/lib/cisco_node_utils/cmd_ref/ospf_area.yaml +91 -0
  113. data/lib/cisco_node_utils/cmd_ref/ospf_area_vlink.yaml +88 -0
  114. data/lib/cisco_node_utils/cmd_ref/overlay_global.yaml +37 -0
  115. data/lib/cisco_node_utils/cmd_ref/pim.yaml +43 -0
  116. data/lib/cisco_node_utils/cmd_ref/portchannel_global.yaml +86 -0
  117. data/lib/cisco_node_utils/cmd_ref/radius_global.yaml +37 -0
  118. data/lib/cisco_node_utils/cmd_ref/radius_server.yaml +100 -0
  119. data/lib/cisco_node_utils/cmd_ref/radius_server_group.yaml +19 -0
  120. data/lib/cisco_node_utils/cmd_ref/route_map.yaml +601 -0
  121. data/lib/cisco_node_utils/cmd_ref/show_system.yaml +9 -0
  122. data/lib/cisco_node_utils/cmd_ref/show_version.yaml +84 -0
  123. data/lib/cisco_node_utils/cmd_ref/snmp_community.yaml +81 -0
  124. data/lib/cisco_node_utils/cmd_ref/snmp_group.yaml +9 -0
  125. data/lib/cisco_node_utils/cmd_ref/snmp_notification_receiver.yaml +74 -0
  126. data/lib/cisco_node_utils/cmd_ref/snmp_server.yaml +91 -0
  127. data/lib/cisco_node_utils/cmd_ref/snmp_user.yaml +57 -0
  128. data/lib/cisco_node_utils/cmd_ref/snmpnotification.yaml +23 -0
  129. data/lib/cisco_node_utils/cmd_ref/span_session.yaml +65 -0
  130. data/lib/cisco_node_utils/cmd_ref/stp_global.yaml +235 -0
  131. data/lib/cisco_node_utils/cmd_ref/syslog_facility.yaml +10 -0
  132. data/lib/cisco_node_utils/cmd_ref/syslog_server.yaml +34 -0
  133. data/lib/cisco_node_utils/cmd_ref/syslog_settings.yaml +45 -0
  134. data/lib/cisco_node_utils/cmd_ref/system.yaml +7 -0
  135. data/lib/cisco_node_utils/cmd_ref/tacacs_global.yaml +37 -0
  136. data/lib/cisco_node_utils/cmd_ref/tacacs_server.yaml +63 -0
  137. data/lib/cisco_node_utils/cmd_ref/tacacs_server_group.yaml +45 -0
  138. data/lib/cisco_node_utils/cmd_ref/tacacs_server_host.yaml +64 -0
  139. data/lib/cisco_node_utils/cmd_ref/upgrade.yaml +38 -0
  140. data/lib/cisco_node_utils/cmd_ref/vdc.yaml +52 -0
  141. data/lib/cisco_node_utils/cmd_ref/virtual_service.yaml +8 -0
  142. data/lib/cisco_node_utils/cmd_ref/vlan.yaml +106 -0
  143. data/lib/cisco_node_utils/cmd_ref/vpc.yaml +233 -0
  144. data/lib/cisco_node_utils/cmd_ref/vrf.yaml +86 -0
  145. data/lib/cisco_node_utils/cmd_ref/vrf_af.yaml +139 -0
  146. data/lib/cisco_node_utils/cmd_ref/vtp.yaml +32 -0
  147. data/lib/cisco_node_utils/cmd_ref/vxlan_vtep.yaml +114 -0
  148. data/lib/cisco_node_utils/cmd_ref/vxlan_vtep_vni.yaml +71 -0
  149. data/lib/cisco_node_utils/cmd_ref/yang.yaml +7 -0
  150. data/lib/cisco_node_utils/cmd_ref/yum.yaml +68 -0
  151. data/lib/cisco_node_utils/command_reference.rb +724 -0
  152. data/lib/cisco_node_utils/configparser_lib.rb +195 -0
  153. data/lib/cisco_node_utils/constants.rb +40 -0
  154. data/lib/cisco_node_utils/dhcp_relay_global.rb +302 -0
  155. data/lib/cisco_node_utils/dns_domain.rb +93 -0
  156. data/lib/cisco_node_utils/domain_name.rb +82 -0
  157. data/lib/cisco_node_utils/encapsulation.rb +112 -0
  158. data/lib/cisco_node_utils/environment.rb +110 -0
  159. data/lib/cisco_node_utils/evpn_multicast.rb +66 -0
  160. data/lib/cisco_node_utils/evpn_multisite.rb +96 -0
  161. data/lib/cisco_node_utils/evpn_stormcontrol.rb +84 -0
  162. data/lib/cisco_node_utils/evpn_vni.rb +159 -0
  163. data/lib/cisco_node_utils/exceptions.rb +140 -0
  164. data/lib/cisco_node_utils/fabricpath_global.rb +405 -0
  165. data/lib/cisco_node_utils/fabricpath_topology.rb +137 -0
  166. data/lib/cisco_node_utils/feature.rb +377 -0
  167. data/lib/cisco_node_utils/hostname.rb +62 -0
  168. data/lib/cisco_node_utils/hsrp_global.rb +97 -0
  169. data/lib/cisco_node_utils/interface.rb +2128 -0
  170. data/lib/cisco_node_utils/interface_channel_group.rb +142 -0
  171. data/lib/cisco_node_utils/interface_evpn_multisite.rb +72 -0
  172. data/lib/cisco_node_utils/interface_hsrp_group.rb +557 -0
  173. data/lib/cisco_node_utils/interface_ospf.rb +378 -0
  174. data/lib/cisco_node_utils/interface_portchannel.rb +180 -0
  175. data/lib/cisco_node_utils/interface_service_vni.rb +132 -0
  176. data/lib/cisco_node_utils/ip_multicast.rb +90 -0
  177. data/lib/cisco_node_utils/itd_device_group.rb +228 -0
  178. data/lib/cisco_node_utils/itd_device_group_node.rb +144 -0
  179. data/lib/cisco_node_utils/itd_service.rb +511 -0
  180. data/lib/cisco_node_utils/logger.rb +78 -0
  181. data/lib/cisco_node_utils/name_server.rb +64 -0
  182. data/lib/cisco_node_utils/node.rb +443 -0
  183. data/lib/cisco_node_utils/node_util.rb +111 -0
  184. data/lib/cisco_node_utils/ntp_auth_key.rb +67 -0
  185. data/lib/cisco_node_utils/ntp_config.rb +83 -0
  186. data/lib/cisco_node_utils/ntp_server.rb +86 -0
  187. data/lib/cisco_node_utils/object_group.rb +75 -0
  188. data/lib/cisco_node_utils/object_group_entry.rb +143 -0
  189. data/lib/cisco_node_utils/overlay_global.rb +142 -0
  190. data/lib/cisco_node_utils/pim.rb +131 -0
  191. data/lib/cisco_node_utils/pim_group_list.rb +109 -0
  192. data/lib/cisco_node_utils/pim_rp_address.rb +103 -0
  193. data/lib/cisco_node_utils/platform.rb +217 -0
  194. data/lib/cisco_node_utils/portchannel_global.rb +347 -0
  195. data/lib/cisco_node_utils/radius_global.rb +165 -0
  196. data/lib/cisco_node_utils/radius_server.rb +421 -0
  197. data/lib/cisco_node_utils/radius_server_group.rb +117 -0
  198. data/lib/cisco_node_utils/route_map.rb +2540 -0
  199. data/lib/cisco_node_utils/router_ospf.rb +77 -0
  200. data/lib/cisco_node_utils/router_ospf_area.rb +416 -0
  201. data/lib/cisco_node_utils/router_ospf_area_vlink.rb +313 -0
  202. data/lib/cisco_node_utils/router_ospf_vrf.rb +342 -0
  203. data/lib/cisco_node_utils/snmp_notification_receiver.rb +176 -0
  204. data/lib/cisco_node_utils/snmpcommunity.rb +109 -0
  205. data/lib/cisco_node_utils/snmpgroup.rb +54 -0
  206. data/lib/cisco_node_utils/snmpnotification.rb +57 -0
  207. data/lib/cisco_node_utils/snmpserver.rb +132 -0
  208. data/lib/cisco_node_utils/snmpuser.rb +403 -0
  209. data/lib/cisco_node_utils/span_session.rb +149 -0
  210. data/lib/cisco_node_utils/stp_global.rb +676 -0
  211. data/lib/cisco_node_utils/syslog_facility.rb +64 -0
  212. data/lib/cisco_node_utils/syslog_server.rb +146 -0
  213. data/lib/cisco_node_utils/syslog_settings.rb +174 -0
  214. data/lib/cisco_node_utils/tacacs_global.rb +137 -0
  215. data/lib/cisco_node_utils/tacacs_server.rb +173 -0
  216. data/lib/cisco_node_utils/tacacs_server_group.rb +149 -0
  217. data/lib/cisco_node_utils/tacacs_server_host.rb +216 -0
  218. data/lib/cisco_node_utils/upgrade.rb +122 -0
  219. data/lib/cisco_node_utils/vdc.rb +118 -0
  220. data/lib/cisco_node_utils/version.rb +21 -0
  221. data/lib/cisco_node_utils/vlan.rb +301 -0
  222. data/lib/cisco_node_utils/vpc.rb +466 -0
  223. data/lib/cisco_node_utils/vrf.rb +192 -0
  224. data/lib/cisco_node_utils/vrf_af.rb +327 -0
  225. data/lib/cisco_node_utils/vtp.rb +125 -0
  226. data/lib/cisco_node_utils/vxlan_vtep.rb +286 -0
  227. data/lib/cisco_node_utils/vxlan_vtep_vni.rb +331 -0
  228. data/lib/cisco_node_utils/yang.rb +160 -0
  229. data/lib/cisco_node_utils/yum.rb +213 -0
  230. data/lib/cisco_node_utils.rb +21 -0
  231. data/lib/minitest/environment_plugin.rb +31 -0
  232. data/lib/minitest/log_level_plugin.rb +41 -0
  233. data/spec/client_spec.rb +7 -0
  234. data/spec/environment_spec.rb +384 -0
  235. data/spec/grpc_client_spec.rb +23 -0
  236. data/spec/isolate/all_clients_spec.rb +9 -0
  237. data/spec/isolate/grpc_only_spec.rb +16 -0
  238. data/spec/isolate/no_clients_spec.rb +26 -0
  239. data/spec/isolate/nxapi_only_spec.rb +16 -0
  240. data/spec/nxapi_client_spec.rb +42 -0
  241. data/spec/schema.yaml +82 -0
  242. data/spec/shared_examples_for_clients.rb +14 -0
  243. data/spec/spec_helper.rb +91 -0
  244. data/spec/whitespace_spec.rb +10 -0
  245. data/spec/yaml_spec.rb +42 -0
  246. data/tests/.rubocop.yml +18 -0
  247. data/tests/CSCuxdublin-1.0.0-7.0.3.I3.1.lib32_n9000.rpm +0 -0
  248. data/tests/basetest.rb +243 -0
  249. data/tests/ciscotest.rb +577 -0
  250. data/tests/cmd_config.yaml +75 -0
  251. data/tests/cmd_config_invalid.yaml +16 -0
  252. data/tests/n9000_sample-1.0.0-7.0.3.x86_64.rpm +0 -0
  253. data/tests/noop.rb +7 -0
  254. data/tests/platform_info.rb +63 -0
  255. data/tests/tacacs_server.yaml.example +6 -0
  256. data/tests/test_aaa_authentication_login.rb +243 -0
  257. data/tests/test_aaa_authentication_login_service.rb +761 -0
  258. data/tests/test_aaa_authorization_service.rb +874 -0
  259. data/tests/test_ace.rb +304 -0
  260. data/tests/test_acl.rb +185 -0
  261. data/tests/test_banner.rb +85 -0
  262. data/tests/test_bfd_global.rb +272 -0
  263. data/tests/test_bgp_af.rb +875 -0
  264. data/tests/test_bgp_af_aa.rb +108 -0
  265. data/tests/test_bgp_neighbor.rb +596 -0
  266. data/tests/test_bgp_neighbor_af.rb +781 -0
  267. data/tests/test_bridge_domain.rb +198 -0
  268. data/tests/test_bridge_domain_vni.rb +109 -0
  269. data/tests/test_client_utils.rb +111 -0
  270. data/tests/test_cmn_utils.rb +76 -0
  271. data/tests/test_command_config.rb +206 -0
  272. data/tests/test_command_reference.rb +669 -0
  273. data/tests/test_dhcp_relay_global.rb +286 -0
  274. data/tests/test_dns_domain.rb +123 -0
  275. data/tests/test_domain_name.rb +96 -0
  276. data/tests/test_encapsulation.rb +75 -0
  277. data/tests/test_evpn_multicast.rb +65 -0
  278. data/tests/test_evpn_multisite.rb +70 -0
  279. data/tests/test_evpn_stormcontrol.rb +56 -0
  280. data/tests/test_evpn_vni.rb +131 -0
  281. data/tests/test_fabricpath_global.rb +246 -0
  282. data/tests/test_fabricpath_topology.rb +77 -0
  283. data/tests/test_feature.rb +272 -0
  284. data/tests/test_grpc.rb +166 -0
  285. data/tests/test_hostname.rb +64 -0
  286. data/tests/test_hsrp_global.rb +79 -0
  287. data/tests/test_interface.rb +1958 -0
  288. data/tests/test_interface_bdi.rb +80 -0
  289. data/tests/test_interface_channel_group.rb +131 -0
  290. data/tests/test_interface_evpn_multisite.rb +94 -0
  291. data/tests/test_interface_hsrp.rb +134 -0
  292. data/tests/test_interface_hsrp_group.rb +570 -0
  293. data/tests/test_interface_ospf.rb +820 -0
  294. data/tests/test_interface_portchannel.rb +135 -0
  295. data/tests/test_interface_private_vlan.rb +365 -0
  296. data/tests/test_interface_service_vni.rb +203 -0
  297. data/tests/test_interface_svi.rb +210 -0
  298. data/tests/test_interface_switchport.rb +468 -0
  299. data/tests/test_ip_multicast.rb +80 -0
  300. data/tests/test_itd_device_group.rb +145 -0
  301. data/tests/test_itd_device_group_node.rb +199 -0
  302. data/tests/test_itd_service.rb +314 -0
  303. data/tests/test_logger.rb +43 -0
  304. data/tests/test_name_server.rb +94 -0
  305. data/tests/test_node.rb +50 -0
  306. data/tests/test_node_ext.rb +406 -0
  307. data/tests/test_node_util.rb +119 -0
  308. data/tests/test_ntp_auth_key.rb +77 -0
  309. data/tests/test_ntp_config.rb +100 -0
  310. data/tests/test_ntp_server.rb +146 -0
  311. data/tests/test_nxapi.rb +236 -0
  312. data/tests/test_object_group.rb +122 -0
  313. data/tests/test_overlay_global.rb +108 -0
  314. data/tests/test_pim.rb +203 -0
  315. data/tests/test_pim_group_list.rb +147 -0
  316. data/tests/test_pim_rp_address.rb +155 -0
  317. data/tests/test_platform.rb +254 -0
  318. data/tests/test_portchannel_global.rb +322 -0
  319. data/tests/test_radius_global.rb +108 -0
  320. data/tests/test_radius_server.rb +377 -0
  321. data/tests/test_radius_server_group.rb +151 -0
  322. data/tests/test_route_map.rb +1479 -0
  323. data/tests/test_router_bgp.rb +1325 -0
  324. data/tests/test_router_ospf.rb +56 -0
  325. data/tests/test_router_ospf_area.rb +433 -0
  326. data/tests/test_router_ospf_area_vlink.rb +298 -0
  327. data/tests/test_router_ospf_vrf.rb +690 -0
  328. data/tests/test_snmp_notification_receiver.rb +169 -0
  329. data/tests/test_snmpcommunity.rb +422 -0
  330. data/tests/test_snmpgroup.rb +71 -0
  331. data/tests/test_snmpnotification.rb +91 -0
  332. data/tests/test_snmpserver.rb +251 -0
  333. data/tests/test_snmpuser.rb +666 -0
  334. data/tests/test_span_session.rb +155 -0
  335. data/tests/test_stp_global.rb +575 -0
  336. data/tests/test_syslog_facility.rb +80 -0
  337. data/tests/test_syslog_server.rb +119 -0
  338. data/tests/test_syslog_settings.rb +123 -0
  339. data/tests/test_tacacs_global.rb +109 -0
  340. data/tests/test_tacacs_server.rb +436 -0
  341. data/tests/test_tacacs_server_group.rb +434 -0
  342. data/tests/test_tacacs_server_host.rb +427 -0
  343. data/tests/test_upgrade.rb +105 -0
  344. data/tests/test_vdc.rb +64 -0
  345. data/tests/test_vlan.rb +386 -0
  346. data/tests/test_vlan_private.rb +656 -0
  347. data/tests/test_vpc.rb +548 -0
  348. data/tests/test_vrf.rb +248 -0
  349. data/tests/test_vrf_af.rb +288 -0
  350. data/tests/test_vtp.rb +278 -0
  351. data/tests/test_vxlan_vtep.rb +327 -0
  352. data/tests/test_vxlan_vtep_vni.rb +326 -0
  353. data/tests/test_yang.rb +369 -0
  354. data/tests/test_yum.rb +109 -0
  355. data/tests/upgrade_info.yaml.example +3 -0
  356. data/tests/yum_package.yaml +94 -0
  357. metadata +534 -0
data/CHANGELOG.md ADDED
@@ -0,0 +1,676 @@
1
+ Changelog
2
+ =========
3
+
4
+ ## [v2.1.0]
5
+
6
+ ### Added
7
+
8
+ ### Changed
9
+
10
+ ### Removed
11
+ - Removal of deprecated `interface` `private-vlan` properties.
12
+
13
+ | Deprecated/Removed Name | New Name |
14
+ |:---|:---|
15
+ | `private_vlan_mapping` | `pvlan_mapping`
16
+ | `switchport_mode_private_vlan_host` | `switchport_pvlan_host`, `switchport_pvlan_promiscuous`,
17
+ | `switchport_mode_private_vlan_host_association` | `switchport_pvlan_host_association`
18
+ | `switchport_mode_private_vlan_host_promiscous` | `switchport_pvlan_mapping`
19
+ | `switchport_mode_private_vlan_trunk_promiscuous`| `switchport_pvlan_trunk_promiscuous`
20
+ | `switchport_mode_private_vlan_trunk_secondary` | `switchport_pvlan_trunk_secondary`
21
+ | `switchport_private_vlan_association_trunk` | `switchport_pvlan_trunk_association`
22
+ | `switchport_private_vlan_mapping_trunk` | `switchport_pvlan_mapping_trunk`
23
+ | `switchport_private_vlan_trunk_allowed_vlan` | `switchport_pvlan_trunk_allowed_vlan`
24
+ | `switchport_private_vlan_trunk_native_vlan` | `switchport_pvlan_trunk_native_vlan`
25
+
26
+ - Removal of deprecated `vlan` `private-vlan` properties.
27
+
28
+ | Deprecated/Removed Name | New Name |
29
+ |:---|:---|
30
+ | `private_vlan_association` | `pvlan_association`
31
+ | `private_vlan_type` | `pvlan_type`
32
+
33
+ - Removed interface attribute:
34
+ * `purge_config`
35
+
36
+ ### Issues Addressed
37
+
38
+ - [Very slow execution when managing interfaces #496](https://github.com/cisco/cisco-network-puppet-module/issues/496)
39
+
40
+ ## [v2.0.2]
41
+
42
+ ### Issues Addressed
43
+ * Fixes `Error: Could not retrieve local facts: [Cisco::Vdc]` on some N7k platforms
44
+
45
+ ## [v2.0.1]
46
+
47
+ ### Issues Addressed
48
+ * `facter` may raise when `show install patches` in some environments
49
+
50
+ ## [v2.0.0]
51
+
52
+ ### New Cisco Resources
53
+
54
+ ### Added
55
+ * Extend nxapi client for https support
56
+ * `use_ssl` will be true when `transport` is `https`
57
+ * now makes use of `port` for custom nxapi ports
58
+ * Extend router_ospf_vrf with attribute:
59
+ * `redistribute`
60
+ * `reset_instance` method to node. Allows a single instance of nodeutils to reset the environment cache.
61
+ * Extend vxlan_vtep_vni with attribute:
62
+ * `suppress_arp_disable`
63
+ * Extend vxlan_vtep with attributes:
64
+ * `global_suppress_arp`
65
+ * `global_ingress_replication_bgp`
66
+ * `global_mcast_group_l2`
67
+ * `global_mcast_group_l3`
68
+
69
+ ### Removed
70
+ * Removed cache in `node_util.node`, which gave every inheriting class it's own cache.
71
+
72
+ ### Changed
73
+
74
+ ## [v1.10.0]
75
+
76
+ ### New Cisco Resources
77
+
78
+ ### Added
79
+ * Added syslog_facility with attribute:
80
+ * `level`
81
+ * Extend syslog_server with attribute:
82
+ * `facility`
83
+ * Extend interface with attributes:
84
+ * `ipv6_redirects`
85
+ * Extend ace with attributes:
86
+ * `proto_option`
87
+ * `vlan`
88
+ * `set_erspan_dscp`
89
+ * `set_erspan_gre_proto`
90
+ * Extend network_dns with attributes:
91
+ * `hostname`
92
+ * Added ability to specify environment at run time
93
+
94
+ Example:
95
+ ```ruby
96
+ env = { host: '192.168.1.1', port: nil, username: 'admin', password: 'admin123', cookie: nil }
97
+ Cisco::Environment.add_env('default', env)
98
+ ```
99
+
100
+ ### Changed
101
+
102
+ ### Removed
103
+
104
+ ### Issues Addressed
105
+ * Removed default values for authentication in `interface_hsrp_group`
106
+
107
+ ## [v1.9.0]
108
+
109
+ ### New Cisco Resources
110
+ * EVPN Multisite
111
+ * evpn_multisite (@rahushen)
112
+ * evpn_stormcontrol (@rahushen)
113
+ * interface_evpn_multisite (@rahushen)
114
+
115
+ * TRM
116
+ * evpn_multicast (@rahushen)
117
+ * ip_multicast (@rahushen)
118
+
119
+ ### Added
120
+ * Extend vxlan_vtep with attributes:
121
+ * `multisite_border_gateway_interface`
122
+
123
+ * Extend vxlan_vtep_vni with attributes:
124
+ * `multisite_ingress_replication`
125
+
126
+ * Extend bgp_neighbor with attributes:
127
+ * `peer_type`
128
+
129
+ * Extend bgp_neighbor_af with attributes:
130
+ * `rewrite_evpn_rt_asn`
131
+
132
+ * Extend vrf_af with attributes:
133
+ * `route_target_both_auto_mvpn`
134
+ * `route_target_export_mvpn`
135
+ * `route_target_import_mvpn`
136
+
137
+ * Extend feature with attributes:
138
+ * `ngmvpn_enable`
139
+ * `ngmvpn_disable`
140
+ * `ngmvpn_enabled?`
141
+
142
+ ### Changed
143
+
144
+ ### Removed
145
+
146
+ ### Issues Addressed
147
+
148
+ ## [v1.8.0]
149
+
150
+ ### New Cisco Resources
151
+ * ObjectGroup
152
+ * object_group (@saichint)
153
+ * object_group_entry (@saichint)
154
+
155
+ ### Added
156
+ * Extend syslog_server with attributes:
157
+ * `port`
158
+ * Extend syslog_settings with attributes:
159
+ * `console`
160
+ * `monitor`
161
+ * `source_interface`
162
+ * Extend radius_global with attributes:
163
+ * `source_interface`
164
+ * Extend tacacs_global with attributes:
165
+ * `source_interface`
166
+
167
+ ### Changed
168
+ * syslog_server initialize now uses options hash
169
+ * Prior to this release syslog_server accepted positional arguments for name,
170
+ level, and vrf. New behavior is to pass attributes as a hash.
171
+
172
+ Example:
173
+ ```
174
+ options = { 'name' => '1.1.1.1', 'level' => '4', 'port' => '2154',
175
+ 'vrf' => 'red' }
176
+ Cisco::SyslogServer.new(options, true)
177
+ ```
178
+ * tacacs_global key removal fixed
179
+ * Prior to this release key removal was done by passing in a value of 8. A
180
+ nil value is now used. Added intelligence to determine key format
181
+ automatically for removal.
182
+
183
+ ## [v1.7.0]
184
+
185
+ ### New feature support
186
+
187
+ #### Cisco Resources
188
+ * span_session (@tomcooperca)
189
+ * bgp_af_aggr_addr (@saichint)
190
+
191
+ ### Added
192
+ * Extend vpc with attributes:
193
+ * `peer_switch`
194
+ * `arp_synchronize`
195
+ * `nd_synchronize`
196
+
197
+ * Extend interface with attributes:
198
+ * `purge_config`
199
+
200
+ * Extend interface_channel_group with attributes:
201
+ * `channel_group_mode`
202
+
203
+ * Extend ntp_config with attributes:
204
+ * `authenticate`
205
+ * `trusted_key`
206
+
207
+ * Extend ntp_server with attributes:
208
+ * `key`
209
+ * `maxpoll`
210
+ * `minpoll`
211
+ * `vrf`
212
+
213
+ * Added ntp_auth_key with attributes:
214
+ * `algorithm`
215
+ * `key`
216
+ * `mode`
217
+ * `password`
218
+
219
+ * Extend upgrade with attributes:
220
+ * `package`
221
+
222
+ ### Changed
223
+ * ntp_server initialize now uses options hash
224
+ * Prior to this release ntp_server accepted positional arguments for id and
225
+ prefer. New behavior is to pass attributes as a hash.
226
+
227
+ Example:
228
+ ```
229
+ options = { 'name' => id, 'key' => '999', 'prefer' => 'true',
230
+ 'minpoll' => '5', 'maxpoll' => '8', 'vrf' => 'red' }
231
+ Cisco::NtpServer.new(options, true)
232
+ ```
233
+
234
+ * Modified upgrade to support additional URI
235
+
236
+ * Modified upgrade attribute to drop version check
237
+
238
+ ### Removed
239
+
240
+ ### Resolved Issues
241
+
242
+ ## [v1.6.0]
243
+
244
+ ### New feature support
245
+
246
+ #### Cisco Resources
247
+ * Route_map
248
+ * route_map (@saichint)
249
+
250
+ * Upgrade
251
+ * upgrade (@rahushen)
252
+
253
+ ### Added
254
+
255
+ * Extend interface with attributes:
256
+ * `load_interval_counter_1_delay`
257
+ * `load_interval_counter_2_delay`
258
+ * `load_interval_counter_3_delay`
259
+
260
+ ### Changed
261
+
262
+ ### Removed
263
+
264
+ ## [v1.5.0]
265
+
266
+ ### New feature support
267
+ * Drill down capability into structured table output using command reference yaml (@mikewiebe)
268
+
269
+ #### Cisco Resources
270
+ * Hot Standby Router Protocol
271
+ * hsrp_global (@saichint)
272
+ * interface_hsrp_group (@saichint)
273
+
274
+ ### Added
275
+
276
+ * Extend interface with attributes:
277
+ * `hsrp_bfd`
278
+ * `hsrp_delay_minimum`
279
+ * `hsrp_delay_reload`
280
+ * `hsrp_mac_refresh`
281
+ * `hsrp_use_bia`
282
+ * `hsrp_version`
283
+ * `pim_bfd`
284
+ * Extend pim with attributes:
285
+ * `bfd`
286
+ * Added support for Cisco NX-OS software releases `7.3(0)F1(1)` and `8.0(1)`
287
+
288
+ ### Changed
289
+
290
+ ### Removed
291
+
292
+ ## [v1.4.1]
293
+
294
+ ### Added
295
+
296
+ * Extend bgp with attributes:
297
+ * `event_history_errors`
298
+ * `event_history_objstore`
299
+ * Added support for Cisco NX-OS software release `7.3(0)I5(1)`
300
+
301
+ ## [v1.4.0]
302
+
303
+ ### New feature support
304
+
305
+ #### Cisco Resources
306
+ * Bidirectional Forwarding Detection
307
+ * bfd (@saichint)
308
+ * Dynamic Host Configuration Protocol
309
+ * dhcp_relay_global (@saichint)
310
+ * OSPF
311
+ * ospf_area (@saichint)
312
+ * ospf_area_vlink (@saichint)
313
+
314
+ ### Added
315
+
316
+ * Extend interface with attributes:
317
+ * `bfd_echo`
318
+ * `ipv4_dhcp_relay_addr`
319
+ * `ipv4_dhcp_relay_info_trust`
320
+ * `ipv4_dhcp_relay_src_addr_hsrp`
321
+ * `ipv4_dhcp_relay_src_intf`
322
+ * `ipv4_dhcp_relay_subnet_broadcast`
323
+ * `ipv4_dhcp_smart_relay`
324
+ * `ipv6_dhcp_relay_addr`
325
+ * `ipv6_dhcp_relay_src_intf`
326
+ * `storm_control_broadcast`
327
+ * `storm_control_multicast`
328
+ * `storm_control_unicast`
329
+ * Extend interface_ospf with attributes:
330
+ * `bfd`
331
+ * `mtu_ignore`
332
+ * `network_type`
333
+ * `priority`
334
+ * `shutdown`
335
+ * `transmit_delay`
336
+ * Extend interface_portchannel with attributes:
337
+ * `bfd_per_link`
338
+ * Extend router_ospf_vrf with attributes:
339
+ * `bfd`
340
+ * Extend bgp_neighbor with attributes:
341
+ * `bfd`
342
+ * Cisco Nexus 8xxx platform support added to existing classes
343
+
344
+ ### Changed
345
+ * Deprecated `vlan` private-vlan properties and replaced with new methods. New file `vlan_DEPRECATED.rb` has been created to store the deprecated methods. The old -> new properties are:
346
+
347
+ | Old Name | New Name(s) |
348
+ |:---|:---:|
349
+ | `private_vlan_association` | `pvlan_association`
350
+ | `private_vlan_type` | `pvlan_type`
351
+
352
+ * Deprecated `interface` private-vlan properties and replaced with new methods. New files `interface_DEPRECATED.rb` and `DEPRECATED.yaml` have been created to store the deprecated methods. The old -> new properties are:
353
+
354
+ | Old Name | New Name(s) |
355
+ |:---|:---:|
356
+ | `private_vlan_mapping` | `pvlan_mapping`
357
+ | `switchport_mode_private_vlan_host` | `switchport_pvlan_host`, `switchport_pvlan_promiscuous`,
358
+ | `switchport_mode_private_vlan_host_association` | `switchport_pvlan_host_association`
359
+ | `switchport_mode_private_vlan_host_promiscous` | `switchport_pvlan_mapping`
360
+ | `switchport_mode_private_vlan_trunk_promiscuous`| `switchport_pvlan_trunk_promiscuous`
361
+ | `switchport_mode_private_vlan_trunk_secondary` | `switchport_pvlan_trunk_secondary`
362
+ | `switchport_private_vlan_association_trunk` | `switchport_pvlan_trunk_association`
363
+ | `switchport_private_vlan_mapping_trunk` | `switchport_pvlan_mapping_trunk`
364
+ | `switchport_private_vlan_trunk_allowed_vlan` | `switchport_pvlan_trunk_allowed_vlan`
365
+ | `switchport_private_vlan_trunk_native_vlan` | `switchport_pvlan_trunk_native_vlan`
366
+
367
+ ## [v1.3.0]
368
+
369
+ ### New feature support
370
+
371
+ #### Cisco Resources
372
+ * Itd
373
+ * itd_device_group (@saichint)
374
+ * itd_device_group_node (@saichint)
375
+ * itd_service (@saichint)
376
+ * Spanning Tree
377
+ * stp_global (@saichint)
378
+ * Bridge Domain
379
+ * bridge_domain (@rkorlepa)
380
+ * bridge_domain_vni (@rkorlepa)
381
+ * Encapsulation Profile
382
+ * vni_encapsulation_profile (@rkorlepa)
383
+
384
+ #### NetDev Resources
385
+ *
386
+
387
+ ### Added
388
+
389
+ * Added a new property fabric-control for vlan MT-FULL fabricpath
390
+ * Added support for bdi interfaces to interface provider.
391
+ * Added a new node util to handle bridge domain range cli for member vni
392
+ * Added Bridge Domain, VNI and encapsulation profile node utils for MT-FULL on Nexus 7k.
393
+ * Minitests can declare the YAML feature they are exercising, and if the feature is `_exclude`d on the node under test, the test case will automatically be skipped in full.
394
+ * CliErrors raised by any `NodeUtil` subclass or instance will automatically prepend the `to_s` method output to make troubleshooting easier.
395
+ * `test_feature` minitest
396
+ * Extend interface with attributes:
397
+ * `ipv4_forwarding`
398
+ * `stp_bpdufilter`, `stp_bpduguard`, `stp_cost`, `stp_guard`, `stp_link_type`, `stp_mst_cost`
399
+ * `stp_mst_port_priority`, `stp_port_priority`, `stp_port_type`, `stp_vlan_cost`, `stp_vlan_port_priority`
400
+ * `switchport_private_vlan_trunk_allowed_vlan`, `switchport_private_vlan_trunk_native_vlan`
401
+ * `switchport_mode_private_vlan_host`, `switchport_mode_private_vlan_host_association`
402
+ * `switchport_mode_private_vlan_host_promiscous`, `switchport_mode_private_vlan_trunk_promiscous`, `switchport_mode_private_vlan_trunk_secondary`
403
+ * `switchport_private_vlan_association_trunk`, `switchport_private_vlan_mapping_trunk`
404
+ * `private_vlan_mapping`
405
+ * Extend Feature class with a class method to list feature compatible interfaces
406
+ * Extend vdc with interface_membership methods
407
+ * Extend vpc with vpc+ attributes on Nexus 5k/6k/7k:
408
+ * `fabricpath_emulated_switch_id`
409
+ * `fabricpath_multicast_load_balance` (only on Nexus 7k)
410
+ * `port_channel_limit` (only on Nexus 7k)
411
+ * Extend vlan with attributes:
412
+ * `private_vlan_association`, `private_vlan_type`
413
+ * Added N3k native support for portchannel_global
414
+
415
+ ### Changed
416
+
417
+ * Major refactor and enhancement of `CommandReference` YAML files:
418
+ - Filtering by platform is now by platform name only.
419
+ - Replaced `config_get(_token)?(_append)?` with `get_command`, `get_context`, and `get_value`
420
+ - Replaced `config_set(_append)?` with `set_context`, and `set_value`
421
+ - Individual token values can be explicitly marked as optional (e.g., VRF context); tokens not marked as optional are mandatory.
422
+ - Data format (CLI, NXAPI structured) is now assumed to be CLI unless explicitly specified otherwise using the new `(get_|set_)?data_format` YAML key. No more guessing based on whether a key looks like a hash key or a Regexp.
423
+ * `cisco_nxapi` Gem is no longer a dependency as the NXAPI client code has been merged into this Gem under the `Cisco::Client` namespace.
424
+ * Improved minitest logging CLI.
425
+ - `ruby test_foo.rb -l debug` instead of `ruby test_foo.rb -- <host> <user> <pass> debug`
426
+ - `rake test TESTOPTS='--log-level=debug'`
427
+ * Client connectivity is now specified in `/etc/cisco_node_utils.yaml` or `~/cisco_node_utils.yaml` instead of environment variables or command-line arguments to minitest.
428
+ - `ruby test_foo.rb -e <node name defined in YAML>`
429
+ - `rake test TESTOPTS='--environment=default'`
430
+
431
+ ### Fixed
432
+
433
+ * Interface:
434
+ - Correctly restore IP address when changing VRF membership
435
+ - MTU is not supported on loopback interfaces
436
+
437
+ ### Removed
438
+ * Removed `Node.lazy_connect` internal API.
439
+ * Removed `vni` node util class
440
+
441
+ ## [v1.2.0]
442
+
443
+ ### New feature support
444
+ * ACL (platforms: Nexus 3k and Nexus 9k)
445
+ * acl (@saqibraza)
446
+ * ace (@yjyongz)
447
+ * remark ace (@bansalpradeep)
448
+ * EVPN (platforms: Nexus 3k and Nexus 9k)
449
+ * evpn_vni (@andish)
450
+ * Fabric Path (platforms: Nexus 7k)
451
+ * fabricpath_global (@dcheriancisco)
452
+ * fabricpath_topology (@dcheriancisco)
453
+ * Feature
454
+ * feature (@robert-w-gries)
455
+ * Interface (platforms: Nexus 3k, Nexus 5k, Nexus 6k, Nexus 7k and Nexus 9k)
456
+ * interface_channel_group (@chrisvanheuveln)
457
+ * interface_portchannel (@saichint)
458
+ * interface_service_vni (@chrisvanheuveln)
459
+ * PIM (platforms: Nexus 3k and Nexus 9k)
460
+ * pim (@smigopal)
461
+ * pim_group_list (@smigopal)
462
+ * pim_rp_address (@smigopal)
463
+ * Port Channel (platforms: Nexus 3k, Nexus 5k, Nexus 6k, Nexus 7k and Nexus 9k)
464
+ * interface_channel_group (@chrisvanheuveln)
465
+ * interface_portchannel (@saichint)
466
+ * portchannel_global (@saichint)
467
+ * SNMP (platforms: Nexus 3k, Nexus 5k, Nexus 6k, Nexus 7k and Nexus 9k)
468
+ * snmpnotification (@tphoney)
469
+ * VDC (platforms: Nexus 7k)
470
+ * vdc (@chrisvanheuveln)
471
+ * VPC (platforms: Nexus 3k, Nexus 5k, Nexus 6k, Nexus 7k and Nexus 9k)
472
+ * vpc (@dcheriancisco)
473
+ * VRF (platforms: Nexus 3k, Nexus 5k, Nexus 6k, Nexus 7k and Nexus 9k)
474
+ * vrf_af (@chrisvanheuveln)
475
+ * VXLAN (platforms: Nexus 9k)
476
+ * overlay_global (@alok-aggarwal)
477
+ * vxlan_vtep (@dcheriancisco)
478
+ * vxlan_vtep_vni (@mikewiebe)
479
+
480
+
481
+ ### Additional platform support added to existing classes
482
+ #### Cisco Nexus 56xx, 60xx and 7xxx
483
+ * AAA
484
+ * aaa_authentication_login
485
+ * aaa_authentication_login_service
486
+ * aaa_authentication_service
487
+ * BGP
488
+ * bgp
489
+ * bgp_af
490
+ * bgp_af_neighobr
491
+ * bgp_neighbor_af
492
+ * COMMAND_CONFIG
493
+ * command_config (config_parser)
494
+ * DOMAIN
495
+ * dns_domain
496
+ * domain_name
497
+ * name_server
498
+ * INTERFACE
499
+ * interface
500
+ * NTP
501
+ * ntp_config
502
+ * ntp_server
503
+ * OSPF
504
+ * interface_ospf
505
+ * ospf
506
+ * ospf_vrf
507
+ * RADIUS
508
+ * radius_global
509
+ * SNMP
510
+ * snmp_community
511
+ * snmp_group
512
+ * snmp_notification_receiver
513
+ * snmp_server
514
+ * snmp_user
515
+ * SYSLOG
516
+ * syslog_server
517
+ * syslog_setting
518
+ * TACACS
519
+ * tacacs_server
520
+ * tacacs_server_group
521
+ * tacacs_server_host
522
+ * VLAN
523
+ * vlan
524
+
525
+ ### Added
526
+
527
+ * `Cisco::UnsupportedError` exception class, raised when a command is explicitly marked as unsupported on a particular class of nodes.
528
+ * Extend bgp with attributes:
529
+ * `disable_policy_batching`, `disable_policy_batching_ipv4`, `disable_policy_batching_ipv6`
530
+ * `event_history_cli`, `event_history_detail`, `event_history_events`, `event_history_periodic`
531
+ * `fast_external_fallover`
532
+ * `flush_routes`
533
+ * `isolate`
534
+ * `neighbor_down_fib_accelerate`
535
+ * `route_distinguisher`
536
+ * Extend bgp_af with attributes:
537
+ * `default_metric`
538
+ * `distance_ebgp`, `distance_ibgp`, `distance_local`
539
+ * `inject_map`
540
+ * `suppress_inactive`
541
+ * `table_map`
542
+ * Extend interface with attributes:
543
+ * `fabric_forwarding_anycast_gateway`
544
+ * `ipv4_acl_in`, `ipv4_acl_out`, `ipv6_acl_in`, `ipv6_acl_out`
545
+ * `ipv4_address_secondary`, `ipv4_arp_timeout`
546
+ * `vlan_mapping`
547
+ * `vpc_id`, `vpc_peer_link`
548
+ * switchport mode `fabricpath`
549
+ * Extend vrf with attributes:
550
+ * `mhost_ipv4`
551
+ * `mhost_ipv6`
552
+ * `remote_route_filtering`
553
+ * `vni`
554
+ * `vpn_id`
555
+ * Extend vlan with attribute:
556
+ * `mode`
557
+
558
+ ### Changed
559
+
560
+ * Major refactor and enhancement of `CommandReference` YAML files:
561
+ - Added support for `auto_default`, `default_only`, `kind`, and `multiple`
562
+ - Added filtering by product ID (`/N7K/`) and by client type (`cli_nexus`)
563
+ - `CommandReference` methods that do key-value style wildcard substitution now raise an `ArgumentError` if the result is empty (because not enough parameters were supplied).
564
+
565
+ ## [v1.1.0]
566
+
567
+ ### New feature support
568
+ * BGP
569
+ * bgp (@mikewiebe)
570
+ * bgp_af (@richwellum)
571
+ * bgp_neighbor (@jyang09)
572
+ * bgp_neighbor_af (@chrisvanheuveln)
573
+ * NTP
574
+ * ntp_config (@jonnytpuppet)
575
+ * ntp_server (@jonnytpuppet)
576
+ * RADIUS
577
+ * radius_global (@jonnytpuppet)
578
+ * radius_server (@jonnytpuppet)
579
+ * SNMP
580
+ * snmp_notification_receiver (@jonnytpuppet)
581
+ * SYSLOG
582
+ * syslog_server (@jonnytpuppet)
583
+ * syslog_setting (@jonnytpuppet)
584
+ * Miscellaneous
585
+ * dns_domain (@hunner)
586
+ * domain_name (@bmjen)
587
+ * name_server (@hunner)
588
+ * network_snmp (@jonnytpuppet)
589
+
590
+ ### Added
591
+
592
+ * Enabled [Travis-CI](https://travis-ci.org) integration to automatically run [rubocop](https://github.com/bbatsov/rubocop). Fixed all baseline rubocop warnings.
593
+ * Added git hooks to streamline certain processes:
594
+ * Validate commit message format for consistency
595
+ * Don't allow commit of code failing RuboCop `--lint` checks
596
+ * If RuboCop is failing any check, warn on commit (but don't fail), and fail on push.
597
+ * Don't allow push without updating CHANGELOG.md
598
+ * Once git hooks are installed, automatically update them on pull/merge (if possible).
599
+ * If using [git-flow]:
600
+ * `git flow release start` and `git flow hotfix start` will automatically update `CHANGELOG.md` and `version.rb` for the new release version
601
+ * `git flow release finish` will automatically bump the version number for the develop branch.
602
+ * Minitest enhancements:
603
+ * Code coverage calculation using [SimpleCov]
604
+ * Full Minitest suite can be run by `rake test`
605
+ * UUT can be specified by the `NODE` environment variable or at runtime, in addition to the classic method of command line arguments to `ruby test_my_file.rb`
606
+ * Added `config` and `(assert|refute)_show_match` helper methods for testing.
607
+ * Added `bin/check_metric_limits.rb` helper script in support of refactoring.
608
+ * Added best practices development guide.
609
+ * Added support for radius_global (@jonnytpuppet)
610
+ * Added support for radius_server_group (@jonnytpuppet)
611
+
612
+ ### Fixed
613
+
614
+ * Fixed several bugs in `SnmpUser.(auth|priv)_password_equal?`
615
+ * Fixed a bug in `test_interface.rb` that was keeping it from properly exercising the `negotiate_auto` functionality.
616
+ * Added a cache_flush call in `Platform.chassis` to work around an infrequent issue.
617
+
618
+ ### Changed
619
+
620
+ * Added missing steps to CONTRIBUTING.md and README-develop-node-utils-APIs.md
621
+ * Added git config comments
622
+ * Moved `platform_info.(rb|yaml)` from `lib/` to `tests/` as it is test-only code.
623
+ * Now requires Minitest ~> 5.0 instead of Minitest < 5.0.
624
+
625
+ ### Removed
626
+
627
+ * Dropped support for Ruby 1.9.3 as it is end-of-life.
628
+ * Removed `test_all_cisco.rb` as `rake test` can auto-discover all tests.
629
+
630
+ ## [v1.0.1]
631
+
632
+ * Updated to fix broken documentation links.
633
+
634
+ ## [v1.0.0]
635
+
636
+ * Improved logic in Vtp class to handle the presence or absence of
637
+ 'feature vtp' and 'vtp domain' configuration.
638
+ * Fixed missing `default_timer_throttle_*` APIs in RouterOspfVrf class.
639
+ * Fixed idempotency and area update issues in interface_ospf class.
640
+ * Updated CliError class definition to make it easier to troubleshoot such
641
+ errors when running Puppet modules that use this gem.
642
+ * Added dotted-decimal munging for the area getter in interface_ospf.
643
+ * Added n9000_sample*.rpm to /tests for use with minitests.
644
+ * Updated yum install method to include vrf, fixes minitest issue.
645
+ * Extended cisco_interface with the following attributes:
646
+ * encapsulation dot1q
647
+ * mtu
648
+ * switchport trunk allowed and native vlans
649
+ * vrf member
650
+ * Move misc READMEs into /docs
651
+
652
+ ## 0.9.0
653
+
654
+ * First public release, corresponding to Early Field Trial (EFT) of
655
+ Cisco NX-OS 7.0(3)I2(1).
656
+
657
+ [git-flow]: https://github.com/petervanderdoes/gitflow-avh
658
+ [SimpleCov]: https://github.com/colszowka/simplecov
659
+
660
+ [v2.1.0]: https://github.com/cisco/cisco-network-node-utils/compare/v2.0.2...v2.1.0
661
+ [v2.0.2]: https://github.com/cisco/cisco-network-node-utils/compare/v2.0.1...v2.0.2
662
+ [v2.0.1]: https://github.com/cisco/cisco-network-node-utils/compare/v2.0.0...v2.0.1
663
+ [v2.0.0]: https://github.com/cisco/cisco-network-node-utils/compare/v1.10.0...v2.0.0
664
+ [v1.10.0]: https://github.com/cisco/cisco-network-node-utils/compare/v1.9.0...v1.10.0
665
+ [v1.9.0]: https://github.com/cisco/cisco-network-node-utils/compare/v1.8.0...v1.9.0
666
+ [v1.8.0]: https://github.com/cisco/cisco-network-node-utils/compare/v1.7.0...v1.8.0
667
+ [v1.7.0]: https://github.com/cisco/cisco-network-node-utils/compare/v1.6.0...v1.7.0
668
+ [v1.6.0]: https://github.com/cisco/cisco-network-node-utils/compare/v1.5.0...v1.6.0
669
+ [v1.5.0]: https://github.com/cisco/cisco-network-node-utils/compare/v1.4.1...v1.5.0
670
+ [v1.4.1]: https://github.com/cisco/cisco-network-node-utils/compare/v1.4.0...v1.4.1
671
+ [v1.4.0]: https://github.com/cisco/cisco-network-node-utils/compare/v1.3.0...v1.4.0
672
+ [v1.3.0]: https://github.com/cisco/cisco-network-node-utils/compare/v1.2.0...v1.3.0
673
+ [v1.2.0]: https://github.com/cisco/cisco-network-node-utils/compare/v1.1.0...v1.2.0
674
+ [v1.1.0]: https://github.com/cisco/cisco-network-node-utils/compare/v1.0.1...v1.1.0
675
+ [v1.0.1]: https://github.com/cisco/cisco-network-node-utils/compare/v1.0.0...v1.0.1
676
+ [v1.0.0]: https://github.com/cisco/cisco-network-node-utils/compare/v0.9.0...v1.0.0