cisco_node_utils 1.2.0 → 1.3.0

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 (255) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +2 -0
  3. data/.rspec +2 -0
  4. data/.rubocop.yml +13 -0
  5. data/.travis.yml +4 -1
  6. data/CHANGELOG.md +81 -2
  7. data/CONTRIBUTING.md +2 -17
  8. data/Gemfile +5 -0
  9. data/README.md +92 -47
  10. data/Rakefile +23 -1
  11. data/bin/git/hooks/hook_lib +7 -0
  12. data/bin/git/hooks/pre-commit/check_unstaged_changes +18 -0
  13. data/bin/git/hooks/pre-commit/rubocop +7 -2
  14. data/bin/git/hooks/pre-commit/validate-diffs +18 -4
  15. data/bin/git/hooks/pre-commit/validate-yaml +18 -0
  16. data/bin/git/update-hooks +64 -6
  17. data/cisco_node_utils.gemspec +9 -6
  18. data/docs/README-develop-best-practices.md +149 -50
  19. data/docs/README-develop-node-utils-APIs.md +92 -42
  20. data/docs/README-maintainers.md +7 -4
  21. data/docs/README-test-execution.md +57 -0
  22. data/docs/cisco_node_utils.yaml.example +30 -0
  23. data/docs/template-router.rb +4 -0
  24. data/ext/mkrf_conf.rb +63 -0
  25. data/lib/.rubocop.yml +2 -2
  26. data/lib/cisco_node_utils.rb +5 -0
  27. data/lib/cisco_node_utils/aaa_authentication_login.rb +5 -6
  28. data/lib/cisco_node_utils/aaa_authorization_service.rb +1 -1
  29. data/lib/cisco_node_utils/ace.rb +165 -12
  30. data/lib/cisco_node_utils/acl.rb +2 -1
  31. data/lib/cisco_node_utils/bgp.rb +184 -21
  32. data/lib/cisco_node_utils/bgp_af.rb +94 -249
  33. data/lib/cisco_node_utils/bgp_neighbor.rb +94 -14
  34. data/lib/cisco_node_utils/bgp_neighbor_af.rb +75 -8
  35. data/lib/cisco_node_utils/bridge_domain.rb +183 -0
  36. data/lib/cisco_node_utils/bridge_domain_vni.rb +206 -0
  37. data/lib/cisco_node_utils/cisco_cmn_utils.rb +85 -2
  38. data/lib/cisco_node_utils/client.rb +35 -0
  39. data/lib/cisco_node_utils/client/client.rb +234 -0
  40. data/lib/cisco_node_utils/client/grpc.rb +33 -0
  41. data/lib/cisco_node_utils/client/grpc/client.rb +311 -0
  42. data/lib/cisco_node_utils/client/grpc/ems.proto +148 -0
  43. data/lib/cisco_node_utils/client/grpc/ems.rb +111 -0
  44. data/lib/cisco_node_utils/client/grpc/ems_services.rb +49 -0
  45. data/lib/cisco_node_utils/client/nxapi.rb +31 -0
  46. data/lib/cisco_node_utils/client/nxapi/client.rb +305 -0
  47. data/lib/cisco_node_utils/client/utils.rb +164 -0
  48. data/lib/cisco_node_utils/cmd_ref/README_YAML.md +222 -254
  49. data/lib/cisco_node_utils/cmd_ref/aaa_auth_login_service.yaml +11 -8
  50. data/lib/cisco_node_utils/cmd_ref/aaa_authentication_login.yaml +22 -15
  51. data/lib/cisco_node_utils/cmd_ref/aaa_authorization_service.yaml +11 -8
  52. data/lib/cisco_node_utils/cmd_ref/acl.yaml +21 -16
  53. data/lib/cisco_node_utils/cmd_ref/bgp.yaml +239 -109
  54. data/lib/cisco_node_utils/cmd_ref/bgp_af.yaml +114 -55
  55. data/lib/cisco_node_utils/cmd_ref/bgp_neighbor.yaml +76 -52
  56. data/lib/cisco_node_utils/cmd_ref/bgp_neighbor_af.yaml +106 -62
  57. data/lib/cisco_node_utils/cmd_ref/bridge_domain.yaml +71 -0
  58. data/lib/cisco_node_utils/cmd_ref/bridge_domain_vni.yaml +33 -0
  59. data/lib/cisco_node_utils/cmd_ref/dnsclient.yaml +35 -14
  60. data/lib/cisco_node_utils/cmd_ref/encapsulation.yaml +25 -0
  61. data/lib/cisco_node_utils/cmd_ref/evpn_vni.yaml +23 -17
  62. data/lib/cisco_node_utils/cmd_ref/fabricpath.yaml +94 -83
  63. data/lib/cisco_node_utils/cmd_ref/fabricpath_topology.yaml +22 -17
  64. data/lib/cisco_node_utils/cmd_ref/feature.yaml +76 -26
  65. data/lib/cisco_node_utils/cmd_ref/images.yaml +3 -2
  66. data/lib/cisco_node_utils/cmd_ref/interface.yaml +381 -153
  67. data/lib/cisco_node_utils/cmd_ref/interface_channel_group.yaml +21 -11
  68. data/lib/cisco_node_utils/cmd_ref/interface_ospf.yaml +21 -21
  69. data/lib/cisco_node_utils/cmd_ref/interface_portchannel.yaml +30 -21
  70. data/lib/cisco_node_utils/cmd_ref/interface_service_vni.yaml +18 -13
  71. data/lib/cisco_node_utils/cmd_ref/inventory.yaml +26 -31
  72. data/lib/cisco_node_utils/cmd_ref/itd_device_group.yaml +83 -0
  73. data/lib/cisco_node_utils/cmd_ref/itd_service.yaml +119 -0
  74. data/lib/cisco_node_utils/cmd_ref/memory.yaml +17 -6
  75. data/lib/cisco_node_utils/cmd_ref/ntp_config.yaml +10 -3
  76. data/lib/cisco_node_utils/cmd_ref/ntp_server.yaml +17 -5
  77. data/lib/cisco_node_utils/cmd_ref/ospf.yaml +33 -29
  78. data/lib/cisco_node_utils/cmd_ref/overlay_global.yaml +12 -10
  79. data/lib/cisco_node_utils/cmd_ref/pim.yaml +16 -19
  80. data/lib/cisco_node_utils/cmd_ref/portchannel_global.yaml +40 -25
  81. data/lib/cisco_node_utils/cmd_ref/radius_global.yaml +17 -12
  82. data/lib/cisco_node_utils/cmd_ref/radius_server.yaml +71 -35
  83. data/lib/cisco_node_utils/cmd_ref/radius_server_group.yaml +10 -5
  84. data/lib/cisco_node_utils/cmd_ref/show_system.yaml +6 -2
  85. data/lib/cisco_node_utils/cmd_ref/show_version.yaml +47 -43
  86. data/lib/cisco_node_utils/cmd_ref/snmp_community.yaml +13 -11
  87. data/lib/cisco_node_utils/cmd_ref/snmp_group.yaml +4 -2
  88. data/lib/cisco_node_utils/cmd_ref/snmp_notification_receiver.yaml +23 -21
  89. data/lib/cisco_node_utils/cmd_ref/snmp_server.yaml +26 -22
  90. data/lib/cisco_node_utils/cmd_ref/snmp_user.yaml +19 -17
  91. data/lib/cisco_node_utils/cmd_ref/snmpnotification.yaml +18 -6
  92. data/lib/cisco_node_utils/cmd_ref/stp_global.yaml +234 -0
  93. data/lib/cisco_node_utils/cmd_ref/syslog_server.yaml +24 -9
  94. data/lib/cisco_node_utils/cmd_ref/syslog_settings.yaml +5 -3
  95. data/lib/cisco_node_utils/cmd_ref/system.yaml +4 -3
  96. data/lib/cisco_node_utils/cmd_ref/tacacs_server.yaml +22 -20
  97. data/lib/cisco_node_utils/cmd_ref/tacacs_server_group.yaml +27 -15
  98. data/lib/cisco_node_utils/cmd_ref/tacacs_server_host.yaml +45 -16
  99. data/lib/cisco_node_utils/cmd_ref/vdc.yaml +21 -11
  100. data/lib/cisco_node_utils/cmd_ref/virtual_service.yaml +3 -2
  101. data/lib/cisco_node_utils/cmd_ref/vlan.yaml +60 -32
  102. data/lib/cisco_node_utils/cmd_ref/vpc.yaml +118 -101
  103. data/lib/cisco_node_utils/cmd_ref/vrf.yaml +54 -58
  104. data/lib/cisco_node_utils/cmd_ref/vrf_af.yaml +118 -0
  105. data/lib/cisco_node_utils/cmd_ref/vtp.yaml +19 -25
  106. data/lib/cisco_node_utils/cmd_ref/vxlan_vtep.yaml +28 -18
  107. data/lib/cisco_node_utils/cmd_ref/vxlan_vtep_vni.yaml +34 -17
  108. data/lib/cisco_node_utils/cmd_ref/yum.yaml +6 -4
  109. data/lib/cisco_node_utils/command_reference.rb +261 -142
  110. data/lib/cisco_node_utils/constants.rb +33 -0
  111. data/lib/cisco_node_utils/encapsulation.rb +112 -0
  112. data/lib/cisco_node_utils/environment.rb +102 -0
  113. data/lib/cisco_node_utils/evpn_vni.rb +5 -3
  114. data/lib/cisco_node_utils/exceptions.rb +111 -0
  115. data/lib/cisco_node_utils/fabricpath_global.rb +52 -35
  116. data/lib/cisco_node_utils/fabricpath_topology.rb +44 -57
  117. data/lib/cisco_node_utils/feature.rb +165 -3
  118. data/lib/cisco_node_utils/interface.rb +1051 -260
  119. data/lib/cisco_node_utils/interface_channel_group.rb +11 -10
  120. data/lib/cisco_node_utils/interface_ospf.rb +1 -2
  121. data/lib/cisco_node_utils/interface_portchannel.rb +4 -12
  122. data/lib/cisco_node_utils/interface_service_vni.rb +7 -7
  123. data/lib/cisco_node_utils/itd_device_group.rb +248 -0
  124. data/lib/cisco_node_utils/itd_device_group_node.rb +144 -0
  125. data/lib/cisco_node_utils/itd_service.rb +523 -0
  126. data/lib/cisco_node_utils/logger.rb +75 -0
  127. data/lib/cisco_node_utils/node.rb +62 -192
  128. data/lib/cisco_node_utils/node_util.rb +56 -10
  129. data/lib/cisco_node_utils/overlay_global.rb +2 -2
  130. data/lib/cisco_node_utils/pim.rb +2 -13
  131. data/lib/cisco_node_utils/pim_group_list.rb +1 -1
  132. data/lib/cisco_node_utils/pim_rp_address.rb +1 -1
  133. data/lib/cisco_node_utils/platform.rb +52 -21
  134. data/lib/cisco_node_utils/portchannel_global.rb +89 -19
  135. data/lib/cisco_node_utils/radius_server.rb +168 -37
  136. data/lib/cisco_node_utils/router_ospf.rb +20 -35
  137. data/lib/cisco_node_utils/router_ospf_vrf.rb +4 -4
  138. data/lib/cisco_node_utils/snmpserver.rb +1 -6
  139. data/lib/cisco_node_utils/snmpuser.rb +6 -4
  140. data/lib/cisco_node_utils/stp_global.rb +676 -0
  141. data/lib/cisco_node_utils/syslog_server.rb +77 -18
  142. data/lib/cisco_node_utils/syslog_settings.rb +1 -1
  143. data/lib/cisco_node_utils/tacacs_server_group.rb +8 -4
  144. data/lib/cisco_node_utils/tacacs_server_host.rb +115 -25
  145. data/lib/cisco_node_utils/vdc.rb +12 -0
  146. data/lib/cisco_node_utils/version.rb +1 -1
  147. data/lib/cisco_node_utils/vlan.rb +147 -29
  148. data/lib/cisco_node_utils/vpc.rb +55 -3
  149. data/lib/cisco_node_utils/vrf.rb +72 -11
  150. data/lib/cisco_node_utils/vrf_af.rb +114 -29
  151. data/lib/cisco_node_utils/vtp.rb +34 -52
  152. data/lib/cisco_node_utils/vxlan_vtep.rb +34 -8
  153. data/lib/cisco_node_utils/vxlan_vtep_vni.rb +36 -4
  154. data/lib/minitest/environment_plugin.rb +31 -0
  155. data/lib/minitest/log_level_plugin.rb +41 -0
  156. data/spec/client_spec.rb +7 -0
  157. data/spec/environment_spec.rb +263 -0
  158. data/spec/grpc_client_spec.rb +23 -0
  159. data/spec/isolate/all_clients_spec.rb +9 -0
  160. data/spec/isolate/grpc_only_spec.rb +16 -0
  161. data/spec/isolate/no_clients_spec.rb +26 -0
  162. data/spec/isolate/nxapi_only_spec.rb +16 -0
  163. data/spec/nxapi_client_spec.rb +42 -0
  164. data/spec/schema.yaml +75 -0
  165. data/spec/shared_examples_for_clients.rb +14 -0
  166. data/spec/spec_helper.rb +91 -0
  167. data/spec/whitespace_spec.rb +10 -0
  168. data/spec/yaml_spec.rb +42 -0
  169. data/tests/.rubocop.yml +2 -2
  170. data/tests/CSCuxdublin-1.0.0-7.0.3.I3.1.lib32_n9000.rpm +0 -0
  171. data/tests/basetest.rb +96 -36
  172. data/tests/ciscotest.rb +220 -12
  173. data/tests/cmd_config.yaml +71 -49
  174. data/tests/cmd_config_invalid.yaml +1 -1
  175. data/tests/test_aaa_authentication_login.rb +1 -0
  176. data/tests/test_aaa_authentication_login_service.rb +9 -0
  177. data/tests/test_aaa_authorization_service.rb +173 -367
  178. data/tests/test_ace.rb +171 -100
  179. data/tests/test_acl.rb +10 -1
  180. data/tests/test_bgp_af.rb +395 -728
  181. data/tests/test_bgp_neighbor.rb +274 -115
  182. data/tests/test_bgp_neighbor_af.rb +178 -77
  183. data/tests/test_bridge_domain.rb +191 -0
  184. data/tests/test_bridge_domain_vni.rb +116 -0
  185. data/tests/test_client_utils.rb +111 -0
  186. data/tests/test_command_config.rb +9 -5
  187. data/tests/test_command_reference.rb +380 -102
  188. data/tests/test_dns_domain.rb +13 -3
  189. data/tests/test_domain_name.rb +13 -3
  190. data/tests/test_encapsulation.rb +77 -0
  191. data/tests/test_evpn_vni.rb +25 -7
  192. data/tests/test_fabricpath_global.rb +167 -163
  193. data/tests/test_fabricpath_topology.rb +12 -33
  194. data/tests/test_feature.rb +215 -0
  195. data/tests/test_grpc.rb +166 -0
  196. data/tests/test_interface.rb +585 -344
  197. data/tests/test_interface_bdi.rb +80 -0
  198. data/tests/test_interface_channel_group.rb +6 -3
  199. data/tests/test_interface_ospf.rb +26 -24
  200. data/tests/test_interface_portchannel.rb +1 -0
  201. data/tests/test_interface_private_vlan.rb +724 -0
  202. data/tests/test_interface_service_vni.rb +37 -66
  203. data/tests/test_interface_svi.rb +98 -101
  204. data/tests/test_interface_switchport.rb +419 -549
  205. data/tests/test_itd_device_group.rb +145 -0
  206. data/tests/test_itd_device_group_node.rb +199 -0
  207. data/tests/test_itd_service.rb +298 -0
  208. data/tests/test_logger.rb +43 -0
  209. data/tests/test_name_server.rb +11 -2
  210. data/tests/test_node.rb +16 -75
  211. data/tests/test_node_ext.rb +174 -163
  212. data/tests/test_node_util.rb +119 -0
  213. data/tests/test_ntp_config.rb +5 -1
  214. data/tests/test_ntp_server.rb +2 -2
  215. data/tests/test_nxapi.rb +221 -0
  216. data/tests/test_overlay_global.rb +47 -38
  217. data/tests/test_pim.rb +2 -0
  218. data/tests/test_pim_group_list.rb +2 -0
  219. data/tests/test_pim_rp_address.rb +2 -0
  220. data/tests/test_platform.rb +86 -39
  221. data/tests/test_portchannel_global.rb +211 -135
  222. data/tests/test_radius_global.rb +13 -5
  223. data/tests/test_radius_server.rb +256 -104
  224. data/tests/test_radius_server_group.rb +2 -0
  225. data/tests/test_router_bgp.rb +781 -485
  226. data/tests/test_router_ospf.rb +26 -103
  227. data/tests/test_router_ospf_vrf.rb +52 -57
  228. data/tests/test_snmp_notification_receiver.rb +2 -0
  229. data/tests/test_snmpcommunity.rb +2 -0
  230. data/tests/test_snmpgroup.rb +2 -0
  231. data/tests/test_snmpnotification.rb +40 -21
  232. data/tests/test_snmpserver.rb +2 -0
  233. data/tests/test_snmpuser.rb +2 -0
  234. data/tests/test_stp_global.rb +563 -0
  235. data/tests/test_syslog_server.rb +32 -8
  236. data/tests/test_syslog_settings.rb +22 -9
  237. data/tests/test_tacacs_server.rb +32 -27
  238. data/tests/test_tacacs_server_group.rb +100 -45
  239. data/tests/test_tacacs_server_host.rb +135 -43
  240. data/tests/test_vdc.rb +2 -16
  241. data/tests/test_vlan.rb +106 -54
  242. data/tests/test_vlan_mt_full.rb +11 -21
  243. data/tests/test_vlan_private.rb +669 -0
  244. data/tests/test_vpc.rb +312 -159
  245. data/tests/test_vrf.rb +122 -113
  246. data/tests/test_vrf_af.rb +238 -0
  247. data/tests/test_vtp.rb +58 -102
  248. data/tests/test_vxlan_vtep.rb +38 -17
  249. data/tests/test_vxlan_vtep_vni.rb +61 -9
  250. data/tests/test_yum.rb +49 -25
  251. metadata +122 -36
  252. data/lib/cisco_node_utils/cmd_ref/fex.yaml +0 -9
  253. data/lib/cisco_node_utils/cmd_ref/vni.yaml +0 -76
  254. data/lib/cisco_node_utils/vni.rb +0 -227
  255. data/tests/test_vni.rb +0 -106
data/tests/test_yum.rb CHANGED
@@ -14,25 +14,49 @@
14
14
 
15
15
  require_relative 'ciscotest'
16
16
  require_relative '../lib/cisco_node_utils/yum'
17
+ require_relative '../lib/cisco_node_utils/platform'
17
18
 
18
19
  # TestYum - Minitest for Yum node utility class
19
20
  class TestYum < CiscoTestCase
20
21
  # rubocop:disable Style/ClassVars
21
22
  @@skip = false
22
23
  @@run_setup = true
23
- @@pkg = 'n9000_sample'
24
- @@pkg_ver = '1.0.0-7.0.3'
25
- @@pkg_filename = 'n9000_sample-1.0.0-7.0.3.x86_64.rpm'
26
- @@incompatible_rpm_msg =
27
- ': The sample rpm is compatible with NX-OS release version 7.0(3)I2(1). ' \
28
- 'This test may fail with other versions.'
29
24
  # rubocop:enable Style/ClassVars
30
25
 
26
+ @skip_unless_supported = 'yum'
27
+
28
+ def select_pkg
29
+ # rubocop:disable Style/ClassVars
30
+ @@pv = Platform.image_version
31
+ case @@pv
32
+ when /7.0\(3\)I2\(1\)/
33
+ info 'Testing Patch For Camden Release Image'
34
+ @@pkg_filename = 'n9000_sample-1.0.0-7.0.3.x86_64.rpm'
35
+ @@pkg = 'n9000_sample'
36
+ @@pkg_ver = '1.0.0-7.0.3'
37
+ when /7.0\(3\)I3\(1\)/
38
+ info 'Testing Patch For Dublin Release Image'
39
+ @@pkg_filename = 'CSCuxdublin-1.0.0-7.0.3.I3.1.lib32_n9000.rpm'
40
+ @@pkg = 'CSCuxdublin'
41
+ @@pkg_ver = '1.0.0-7.0.3.I3.1'
42
+ when /7.0\(4\)I4\(1\)/
43
+ # TBD: Add Dublin Plus RPM when it becomes available.
44
+ # info 'Testing Patch For Dublin Plus Release Image'
45
+ else
46
+ skip "Available patches are not compatible with this image: #{@@pv}"
47
+ end
48
+ @@incompatible_rpm_msg =
49
+ ": Sample rpm is compatible with NX-OS release version #{@@pv}." \
50
+ 'This test may fail with other versions.'
51
+ # rubocop:enable Style/ClassVars
52
+ end
53
+
31
54
  def setup
32
55
  super
33
56
  # only run check once (can't use initialize because @device isn't ready)
34
57
  return unless @@run_setup
35
58
 
59
+ select_pkg
36
60
  s = @device.cmd("show file bootflash:#{@@pkg_filename} cksum")
37
61
  if s[/No such file/]
38
62
  @@skip = true # rubocop:disable Style/ClassVars
@@ -40,10 +64,17 @@ class TestYum < CiscoTestCase
40
64
  # add pkg to the repo
41
65
  # normally this could be accomplished by first installing via full path
42
66
  # but that would make these tests order dependent
43
- unless @device.cmd("show install package | include #{@@pkg}")[/@patching/]
44
- @device.cmd("install add bootflash:#{@@pkg_filename}")
45
- # Wait for install to complete
46
- sleep 30
67
+
68
+ # Remnants of the package my still exist from a previous install attempt.
69
+ info 'Executing test setup... Please be patient, this will take a while.'
70
+ steps = ["install deactivate #{@@pkg}", "install commit #{@@pkg}",
71
+ "install remove #{@@pkg} forced",
72
+ "install add bootflash:#{@@pkg_filename}"]
73
+ steps.each do |step|
74
+ info "Executing setup step: #{step}..."
75
+ s = @device.cmd(step)
76
+ sleep 20
77
+ debug "Step Complete.\n\n#{s}\n"
47
78
  end
48
79
  end
49
80
  @@run_setup = false # rubocop:disable Style/ClassVars
@@ -54,7 +85,7 @@ class TestYum < CiscoTestCase
54
85
  'this file can be found in the cisco_node_utils/tests directory' if @@skip
55
86
  end
56
87
 
57
- def test_install
88
+ def test_install_remove
58
89
  skip?
59
90
  if @device.cmd("show install package | include #{@@pkg}")[/@patching/]
60
91
  @device.cmd("install deactivate #{@@pkg}")
@@ -62,26 +93,19 @@ class TestYum < CiscoTestCase
62
93
  sleep 20
63
94
  end
64
95
 
96
+ # On dublin and later images, must specify the full rpm name.
97
+ package = @@pv[/7.0\(3\)I2\(1\)/] ? @@pkg : @@pkg_filename
65
98
  # Specify "management" vrf for install
66
- Yum.install(@@pkg, 'management')
99
+ Yum.install(package, 'management')
67
100
  sleep 20
68
- s = @device.cmd("show install package | include #{@@pkg}")[/@patching/]
69
- assert(s, "failed to find installed package #{@@pkg}")
70
- rescue RuntimeError => e
71
- assert(false, e.message + @@incompatible_rpm_msg)
72
- end
101
+ assert(Yum.query(@@pkg), "failed to find installed package #{@@pkg}")
73
102
 
74
- def test_remove
75
- skip?
76
- unless @device.cmd("show install package | include #{@@pkg}")[/@patching/]
77
- @device.cmd("install add #{@@pkg} activate")
78
- node.cache_flush
79
- sleep 20
80
- end
81
- Yum.remove(@@pkg)
103
+ Yum.remove(package)
82
104
  sleep 20
83
105
  refute_show_match(command: "show install package | include #{@@pkg}",
84
106
  pattern: /@patching/)
107
+ rescue RuntimeError => e
108
+ assert(false, e.message + @@incompatible_rpm_msg)
85
109
  end
86
110
 
87
111
  def test_ambiguous_package_error
metadata CHANGED
@@ -1,48 +1,63 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cisco_node_utils
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 1.3.0
5
5
  platform: ruby
6
6
  authors:
7
+ - Rob Gries
7
8
  - Alex Hunsberger
8
9
  - Glenn Matthews
9
10
  - Chris Van Heuveln
11
+ - Rich Wellum
10
12
  - Mike Wiebe
11
13
  - Jie Yang
12
- - Rob Gries
13
14
  autorequire:
14
15
  bindir: bin
15
16
  cert_chain: []
16
- date: 2016-02-11 00:00:00.000000000 Z
17
+ date: 2016-05-03 00:00:00.000000000 Z
17
18
  dependencies:
18
19
  - !ruby/object:Gem::Dependency
19
- name: minitest
20
+ name: bundler
20
21
  requirement: !ruby/object:Gem::Requirement
21
22
  requirements:
22
23
  - - "~>"
23
24
  - !ruby/object:Gem::Version
24
- version: '5.0'
25
+ version: '1.7'
25
26
  type: :development
26
27
  prerelease: false
27
28
  version_requirements: !ruby/object:Gem::Requirement
28
29
  requirements:
29
30
  - - "~>"
30
31
  - !ruby/object:Gem::Version
31
- version: '5.0'
32
+ version: '1.7'
32
33
  - !ruby/object:Gem::Dependency
33
- name: bundler
34
+ name: kwalify
34
35
  requirement: !ruby/object:Gem::Requirement
35
36
  requirements:
36
37
  - - "~>"
37
38
  - !ruby/object:Gem::Version
38
- version: '1.7'
39
+ version: 0.7.2
39
40
  type: :development
40
41
  prerelease: false
41
42
  version_requirements: !ruby/object:Gem::Requirement
42
43
  requirements:
43
44
  - - "~>"
44
45
  - !ruby/object:Gem::Version
45
- version: '1.7'
46
+ version: 0.7.2
47
+ - !ruby/object:Gem::Dependency
48
+ name: minitest
49
+ requirement: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - "~>"
52
+ - !ruby/object:Gem::Version
53
+ version: '5.0'
54
+ type: :development
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - "~>"
59
+ - !ruby/object:Gem::Version
60
+ version: '5.0'
46
61
  - !ruby/object:Gem::Dependency
47
62
  name: rake
48
63
  requirement: !ruby/object:Gem::Requirement
@@ -58,63 +73,59 @@ dependencies:
58
73
  - !ruby/object:Gem::Version
59
74
  version: '10.0'
60
75
  - !ruby/object:Gem::Dependency
61
- name: rubocop
76
+ name: rspec
62
77
  requirement: !ruby/object:Gem::Requirement
63
78
  requirements:
64
- - - '='
79
+ - - "~>"
65
80
  - !ruby/object:Gem::Version
66
- version: 0.35.1
81
+ version: '3.0'
67
82
  type: :development
68
83
  prerelease: false
69
84
  version_requirements: !ruby/object:Gem::Requirement
70
85
  requirements:
71
- - - '='
86
+ - - "~>"
72
87
  - !ruby/object:Gem::Version
73
- version: 0.35.1
88
+ version: '3.0'
74
89
  - !ruby/object:Gem::Dependency
75
- name: simplecov
90
+ name: rubocop
76
91
  requirement: !ruby/object:Gem::Requirement
77
92
  requirements:
78
- - - "~>"
93
+ - - '='
79
94
  - !ruby/object:Gem::Version
80
- version: '0.9'
95
+ version: 0.35.1
81
96
  type: :development
82
97
  prerelease: false
83
98
  version_requirements: !ruby/object:Gem::Requirement
84
99
  requirements:
85
- - - "~>"
100
+ - - '='
86
101
  - !ruby/object:Gem::Version
87
- version: '0.9'
102
+ version: 0.35.1
88
103
  - !ruby/object:Gem::Dependency
89
- name: cisco_nxapi
104
+ name: simplecov
90
105
  requirement: !ruby/object:Gem::Requirement
91
106
  requirements:
92
107
  - - "~>"
93
108
  - !ruby/object:Gem::Version
94
- version: '1.0'
95
- - - ">="
96
- - !ruby/object:Gem::Version
97
- version: 1.0.1
98
- type: :runtime
109
+ version: '0.9'
110
+ type: :development
99
111
  prerelease: false
100
112
  version_requirements: !ruby/object:Gem::Requirement
101
113
  requirements:
102
114
  - - "~>"
103
115
  - !ruby/object:Gem::Version
104
- version: '1.0'
105
- - - ">="
106
- - !ruby/object:Gem::Version
107
- version: 1.0.1
116
+ version: '0.9'
108
117
  description: |
109
118
  Utilities for management of Cisco network nodes.
110
119
  Designed to work with Puppet and Chef.
111
- Currently supports NX-OS nodes.
120
+ Currently supports NX-OS and IOS XR nodes.
112
121
  email: cisco_agent_gem@cisco.com
113
122
  executables: []
114
- extensions: []
123
+ extensions:
124
+ - ext/mkrf_conf.rb
115
125
  extra_rdoc_files: []
116
126
  files:
117
127
  - ".gitignore"
128
+ - ".rspec"
118
129
  - ".rubocop.yml"
119
130
  - ".travis.yml"
120
131
  - CHANGELOG.md
@@ -133,8 +144,10 @@ files:
133
144
  - bin/git/hooks/post-flow-release-start/update-version
134
145
  - bin/git/hooks/post-merge/update-hooks
135
146
  - bin/git/hooks/post-rewrite/update-hooks
147
+ - bin/git/hooks/pre-commit/check_unstaged_changes
136
148
  - bin/git/hooks/pre-commit/rubocop
137
149
  - bin/git/hooks/pre-commit/validate-diffs
150
+ - bin/git/hooks/pre-commit/validate-yaml
138
151
  - bin/git/hooks/pre-push/check-changelog
139
152
  - bin/git/hooks/pre-push/rubocop
140
153
  - bin/git/update-hooks
@@ -142,9 +155,12 @@ files:
142
155
  - docs/README-develop-best-practices.md
143
156
  - docs/README-develop-node-utils-APIs.md
144
157
  - docs/README-maintainers.md
158
+ - docs/README-test-execution.md
145
159
  - docs/agent_files.png
160
+ - docs/cisco_node_utils.yaml.example
146
161
  - docs/template-router.rb
147
162
  - docs/template-test_router.rb
163
+ - ext/mkrf_conf.rb
148
164
  - lib/.rubocop.yml
149
165
  - lib/cisco_node_utils.rb
150
166
  - lib/cisco_node_utils/aaa_authentication_login.rb
@@ -156,7 +172,19 @@ files:
156
172
  - lib/cisco_node_utils/bgp_af.rb
157
173
  - lib/cisco_node_utils/bgp_neighbor.rb
158
174
  - lib/cisco_node_utils/bgp_neighbor_af.rb
175
+ - lib/cisco_node_utils/bridge_domain.rb
176
+ - lib/cisco_node_utils/bridge_domain_vni.rb
159
177
  - lib/cisco_node_utils/cisco_cmn_utils.rb
178
+ - lib/cisco_node_utils/client.rb
179
+ - lib/cisco_node_utils/client/client.rb
180
+ - lib/cisco_node_utils/client/grpc.rb
181
+ - lib/cisco_node_utils/client/grpc/client.rb
182
+ - lib/cisco_node_utils/client/grpc/ems.proto
183
+ - lib/cisco_node_utils/client/grpc/ems.rb
184
+ - lib/cisco_node_utils/client/grpc/ems_services.rb
185
+ - lib/cisco_node_utils/client/nxapi.rb
186
+ - lib/cisco_node_utils/client/nxapi/client.rb
187
+ - lib/cisco_node_utils/client/utils.rb
160
188
  - lib/cisco_node_utils/cmd_ref/README_YAML.md
161
189
  - lib/cisco_node_utils/cmd_ref/aaa_auth_login_service.yaml
162
190
  - lib/cisco_node_utils/cmd_ref/aaa_authentication_login.yaml
@@ -166,12 +194,14 @@ files:
166
194
  - lib/cisco_node_utils/cmd_ref/bgp_af.yaml
167
195
  - lib/cisco_node_utils/cmd_ref/bgp_neighbor.yaml
168
196
  - lib/cisco_node_utils/cmd_ref/bgp_neighbor_af.yaml
197
+ - lib/cisco_node_utils/cmd_ref/bridge_domain.yaml
198
+ - lib/cisco_node_utils/cmd_ref/bridge_domain_vni.yaml
169
199
  - lib/cisco_node_utils/cmd_ref/dnsclient.yaml
200
+ - lib/cisco_node_utils/cmd_ref/encapsulation.yaml
170
201
  - lib/cisco_node_utils/cmd_ref/evpn_vni.yaml
171
202
  - lib/cisco_node_utils/cmd_ref/fabricpath.yaml
172
203
  - lib/cisco_node_utils/cmd_ref/fabricpath_topology.yaml
173
204
  - lib/cisco_node_utils/cmd_ref/feature.yaml
174
- - lib/cisco_node_utils/cmd_ref/fex.yaml
175
205
  - lib/cisco_node_utils/cmd_ref/images.yaml
176
206
  - lib/cisco_node_utils/cmd_ref/interface.yaml
177
207
  - lib/cisco_node_utils/cmd_ref/interface_channel_group.yaml
@@ -179,6 +209,8 @@ files:
179
209
  - lib/cisco_node_utils/cmd_ref/interface_portchannel.yaml
180
210
  - lib/cisco_node_utils/cmd_ref/interface_service_vni.yaml
181
211
  - lib/cisco_node_utils/cmd_ref/inventory.yaml
212
+ - lib/cisco_node_utils/cmd_ref/itd_device_group.yaml
213
+ - lib/cisco_node_utils/cmd_ref/itd_service.yaml
182
214
  - lib/cisco_node_utils/cmd_ref/memory.yaml
183
215
  - lib/cisco_node_utils/cmd_ref/ntp_config.yaml
184
216
  - lib/cisco_node_utils/cmd_ref/ntp_server.yaml
@@ -197,6 +229,7 @@ files:
197
229
  - lib/cisco_node_utils/cmd_ref/snmp_server.yaml
198
230
  - lib/cisco_node_utils/cmd_ref/snmp_user.yaml
199
231
  - lib/cisco_node_utils/cmd_ref/snmpnotification.yaml
232
+ - lib/cisco_node_utils/cmd_ref/stp_global.yaml
200
233
  - lib/cisco_node_utils/cmd_ref/syslog_server.yaml
201
234
  - lib/cisco_node_utils/cmd_ref/syslog_settings.yaml
202
235
  - lib/cisco_node_utils/cmd_ref/system.yaml
@@ -206,18 +239,22 @@ files:
206
239
  - lib/cisco_node_utils/cmd_ref/vdc.yaml
207
240
  - lib/cisco_node_utils/cmd_ref/virtual_service.yaml
208
241
  - lib/cisco_node_utils/cmd_ref/vlan.yaml
209
- - lib/cisco_node_utils/cmd_ref/vni.yaml
210
242
  - lib/cisco_node_utils/cmd_ref/vpc.yaml
211
243
  - lib/cisco_node_utils/cmd_ref/vrf.yaml
244
+ - lib/cisco_node_utils/cmd_ref/vrf_af.yaml
212
245
  - lib/cisco_node_utils/cmd_ref/vtp.yaml
213
246
  - lib/cisco_node_utils/cmd_ref/vxlan_vtep.yaml
214
247
  - lib/cisco_node_utils/cmd_ref/vxlan_vtep_vni.yaml
215
248
  - lib/cisco_node_utils/cmd_ref/yum.yaml
216
249
  - lib/cisco_node_utils/command_reference.rb
217
250
  - lib/cisco_node_utils/configparser_lib.rb
251
+ - lib/cisco_node_utils/constants.rb
218
252
  - lib/cisco_node_utils/dns_domain.rb
219
253
  - lib/cisco_node_utils/domain_name.rb
254
+ - lib/cisco_node_utils/encapsulation.rb
255
+ - lib/cisco_node_utils/environment.rb
220
256
  - lib/cisco_node_utils/evpn_vni.rb
257
+ - lib/cisco_node_utils/exceptions.rb
221
258
  - lib/cisco_node_utils/fabricpath_global.rb
222
259
  - lib/cisco_node_utils/fabricpath_topology.rb
223
260
  - lib/cisco_node_utils/feature.rb
@@ -226,6 +263,10 @@ files:
226
263
  - lib/cisco_node_utils/interface_ospf.rb
227
264
  - lib/cisco_node_utils/interface_portchannel.rb
228
265
  - lib/cisco_node_utils/interface_service_vni.rb
266
+ - lib/cisco_node_utils/itd_device_group.rb
267
+ - lib/cisco_node_utils/itd_device_group_node.rb
268
+ - lib/cisco_node_utils/itd_service.rb
269
+ - lib/cisco_node_utils/logger.rb
229
270
  - lib/cisco_node_utils/name_server.rb
230
271
  - lib/cisco_node_utils/node.rb
231
272
  - lib/cisco_node_utils/node_util.rb
@@ -248,6 +289,7 @@ files:
248
289
  - lib/cisco_node_utils/snmpnotification.rb
249
290
  - lib/cisco_node_utils/snmpserver.rb
250
291
  - lib/cisco_node_utils/snmpuser.rb
292
+ - lib/cisco_node_utils/stp_global.rb
251
293
  - lib/cisco_node_utils/syslog_server.rb
252
294
  - lib/cisco_node_utils/syslog_settings.rb
253
295
  - lib/cisco_node_utils/tacacs_server.rb
@@ -256,7 +298,6 @@ files:
256
298
  - lib/cisco_node_utils/vdc.rb
257
299
  - lib/cisco_node_utils/version.rb
258
300
  - lib/cisco_node_utils/vlan.rb
259
- - lib/cisco_node_utils/vni.rb
260
301
  - lib/cisco_node_utils/vpc.rb
261
302
  - lib/cisco_node_utils/vrf.rb
262
303
  - lib/cisco_node_utils/vrf_af.rb
@@ -264,7 +305,23 @@ files:
264
305
  - lib/cisco_node_utils/vxlan_vtep.rb
265
306
  - lib/cisco_node_utils/vxlan_vtep_vni.rb
266
307
  - lib/cisco_node_utils/yum.rb
308
+ - lib/minitest/environment_plugin.rb
309
+ - lib/minitest/log_level_plugin.rb
310
+ - spec/client_spec.rb
311
+ - spec/environment_spec.rb
312
+ - spec/grpc_client_spec.rb
313
+ - spec/isolate/all_clients_spec.rb
314
+ - spec/isolate/grpc_only_spec.rb
315
+ - spec/isolate/no_clients_spec.rb
316
+ - spec/isolate/nxapi_only_spec.rb
317
+ - spec/nxapi_client_spec.rb
318
+ - spec/schema.yaml
319
+ - spec/shared_examples_for_clients.rb
320
+ - spec/spec_helper.rb
321
+ - spec/whitespace_spec.rb
322
+ - spec/yaml_spec.rb
267
323
  - tests/.rubocop.yml
324
+ - tests/CSCuxdublin-1.0.0-7.0.3.I3.1.lib32_n9000.rpm
268
325
  - tests/basetest.rb
269
326
  - tests/ciscotest.rb
270
327
  - tests/cmd_config.yaml
@@ -279,25 +336,39 @@ files:
279
336
  - tests/test_bgp_af.rb
280
337
  - tests/test_bgp_neighbor.rb
281
338
  - tests/test_bgp_neighbor_af.rb
339
+ - tests/test_bridge_domain.rb
340
+ - tests/test_bridge_domain_vni.rb
341
+ - tests/test_client_utils.rb
282
342
  - tests/test_command_config.rb
283
343
  - tests/test_command_reference.rb
284
344
  - tests/test_dns_domain.rb
285
345
  - tests/test_domain_name.rb
346
+ - tests/test_encapsulation.rb
286
347
  - tests/test_evpn_vni.rb
287
348
  - tests/test_fabricpath_global.rb
288
349
  - tests/test_fabricpath_topology.rb
350
+ - tests/test_feature.rb
351
+ - tests/test_grpc.rb
289
352
  - tests/test_interface.rb
353
+ - tests/test_interface_bdi.rb
290
354
  - tests/test_interface_channel_group.rb
291
355
  - tests/test_interface_ospf.rb
292
356
  - tests/test_interface_portchannel.rb
357
+ - tests/test_interface_private_vlan.rb
293
358
  - tests/test_interface_service_vni.rb
294
359
  - tests/test_interface_svi.rb
295
360
  - tests/test_interface_switchport.rb
361
+ - tests/test_itd_device_group.rb
362
+ - tests/test_itd_device_group_node.rb
363
+ - tests/test_itd_service.rb
364
+ - tests/test_logger.rb
296
365
  - tests/test_name_server.rb
297
366
  - tests/test_node.rb
298
367
  - tests/test_node_ext.rb
368
+ - tests/test_node_util.rb
299
369
  - tests/test_ntp_config.rb
300
370
  - tests/test_ntp_server.rb
371
+ - tests/test_nxapi.rb
301
372
  - tests/test_overlay_global.rb
302
373
  - tests/test_pim.rb
303
374
  - tests/test_pim_group_list.rb
@@ -316,6 +387,7 @@ files:
316
387
  - tests/test_snmpnotification.rb
317
388
  - tests/test_snmpserver.rb
318
389
  - tests/test_snmpuser.rb
390
+ - tests/test_stp_global.rb
319
391
  - tests/test_syslog_server.rb
320
392
  - tests/test_syslog_settings.rb
321
393
  - tests/test_tacacs_server.rb
@@ -324,9 +396,10 @@ files:
324
396
  - tests/test_vdc.rb
325
397
  - tests/test_vlan.rb
326
398
  - tests/test_vlan_mt_full.rb
327
- - tests/test_vni.rb
399
+ - tests/test_vlan_private.rb
328
400
  - tests/test_vpc.rb
329
401
  - tests/test_vrf.rb
402
+ - tests/test_vrf_af.rb
330
403
  - tests/test_vtp.rb
331
404
  - tests/test_vxlan_vtep.rb
332
405
  - tests/test_vxlan_vtep_vni.rb
@@ -355,4 +428,17 @@ rubygems_version: 2.2.2
355
428
  signing_key:
356
429
  specification_version: 4
357
430
  summary: Utilities for management of Cisco network nodes
358
- test_files: []
431
+ test_files:
432
+ - spec/client_spec.rb
433
+ - spec/environment_spec.rb
434
+ - spec/grpc_client_spec.rb
435
+ - spec/isolate/all_clients_spec.rb
436
+ - spec/isolate/grpc_only_spec.rb
437
+ - spec/isolate/no_clients_spec.rb
438
+ - spec/isolate/nxapi_only_spec.rb
439
+ - spec/nxapi_client_spec.rb
440
+ - spec/schema.yaml
441
+ - spec/shared_examples_for_clients.rb
442
+ - spec/spec_helper.rb
443
+ - spec/whitespace_spec.rb
444
+ - spec/yaml_spec.rb