cisco_node_utils 1.4.1 → 1.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (74) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +30 -0
  3. data/README.md +8 -7
  4. data/docs/README-maintainers.md +0 -1
  5. data/lib/cisco_node_utils/aaa_authentication_login_service.rb +2 -2
  6. data/lib/cisco_node_utils/bgp.rb +2 -2
  7. data/lib/cisco_node_utils/cisco_cmn_utils.rb +16 -0
  8. data/lib/cisco_node_utils/client/utils.rb +7 -1
  9. data/lib/cisco_node_utils/cmd_ref/DEPRECATED.yaml +12 -12
  10. data/lib/cisco_node_utils/cmd_ref/README_YAML.md +35 -7
  11. data/lib/cisco_node_utils/cmd_ref/aaa_authorization_service.yaml +1 -1
  12. data/lib/cisco_node_utils/cmd_ref/bfd_global.yaml +4 -4
  13. data/lib/cisco_node_utils/cmd_ref/bgp_af.yaml +1 -1
  14. data/lib/cisco_node_utils/cmd_ref/bgp_neighbor_af.yaml +1 -1
  15. data/lib/cisco_node_utils/cmd_ref/bridge_domain.yaml +1 -1
  16. data/lib/cisco_node_utils/cmd_ref/bridge_domain_vni.yaml +1 -1
  17. data/lib/cisco_node_utils/cmd_ref/dhcp_relay_global.yaml +5 -5
  18. data/lib/cisco_node_utils/cmd_ref/encapsulation.yaml +1 -1
  19. data/lib/cisco_node_utils/cmd_ref/fabricpath.yaml +5 -5
  20. data/lib/cisco_node_utils/cmd_ref/fabricpath_topology.yaml +1 -1
  21. data/lib/cisco_node_utils/cmd_ref/feature.yaml +8 -3
  22. data/lib/cisco_node_utils/cmd_ref/hsrp_global.yaml +25 -0
  23. data/lib/cisco_node_utils/cmd_ref/interface.yaml +65 -14
  24. data/lib/cisco_node_utils/cmd_ref/interface_hsrp_group.yaml +117 -0
  25. data/lib/cisco_node_utils/cmd_ref/interface_portchannel.yaml +1 -1
  26. data/lib/cisco_node_utils/cmd_ref/interface_service_vni.yaml +1 -1
  27. data/lib/cisco_node_utils/cmd_ref/inventory.yaml +4 -8
  28. data/lib/cisco_node_utils/cmd_ref/itd_device_group.yaml +1 -1
  29. data/lib/cisco_node_utils/cmd_ref/itd_service.yaml +1 -1
  30. data/lib/cisco_node_utils/cmd_ref/ospf.yaml +1 -1
  31. data/lib/cisco_node_utils/cmd_ref/pim.yaml +6 -0
  32. data/lib/cisco_node_utils/cmd_ref/portchannel_global.yaml +9 -9
  33. data/lib/cisco_node_utils/cmd_ref/snmp_server.yaml +1 -1
  34. data/lib/cisco_node_utils/cmd_ref/stp_global.yaml +8 -8
  35. data/lib/cisco_node_utils/cmd_ref/vdc.yaml +1 -1
  36. data/lib/cisco_node_utils/cmd_ref/vlan.yaml +16 -8
  37. data/lib/cisco_node_utils/cmd_ref/vpc.yaml +11 -11
  38. data/lib/cisco_node_utils/cmd_ref/vrf.yaml +2 -1
  39. data/lib/cisco_node_utils/cmd_ref/vxlan_vtep.yaml +1 -1
  40. data/lib/cisco_node_utils/cmd_ref/vxlan_vtep_vni.yaml +1 -1
  41. data/lib/cisco_node_utils/command_reference.rb +8 -1
  42. data/lib/cisco_node_utils/domain_name.rb +17 -2
  43. data/lib/cisco_node_utils/feature.rb +14 -0
  44. data/lib/cisco_node_utils/hsrp_global.rb +97 -0
  45. data/lib/cisco_node_utils/interface.rb +146 -0
  46. data/lib/cisco_node_utils/interface_hsrp_group.rb +544 -0
  47. data/lib/cisco_node_utils/node.rb +93 -4
  48. data/lib/cisco_node_utils/pim.rb +17 -0
  49. data/lib/cisco_node_utils/portchannel_global.rb +2 -2
  50. data/lib/cisco_node_utils/version.rb +1 -1
  51. data/lib/cisco_node_utils/vlan.rb +2 -5
  52. data/lib/cisco_node_utils/yum.rb +11 -6
  53. data/spec/schema.yaml +3 -3
  54. data/tests/ciscotest.rb +25 -4
  55. data/tests/cmd_config.yaml +0 -2
  56. data/tests/test_bgp_af.rb +13 -2
  57. data/tests/test_feature.rb +5 -0
  58. data/tests/test_hsrp_global.rb +79 -0
  59. data/tests/test_interface.rb +23 -0
  60. data/tests/test_interface_hsrp.rb +134 -0
  61. data/tests/test_interface_hsrp_group.rb +582 -0
  62. data/tests/test_node_ext.rb +7 -1
  63. data/tests/test_pim.rb +27 -3
  64. data/tests/test_platform.rb +1 -1
  65. data/tests/test_radius_global.rb +4 -5
  66. data/tests/test_radius_server.rb +16 -11
  67. data/tests/test_router_bgp.rb +11 -6
  68. data/tests/test_router_ospf_area.rb +6 -6
  69. data/tests/test_tacacs_server.rb +2 -2
  70. data/tests/test_tacacs_server_host.rb +2 -2
  71. data/tests/test_vlan.rb +14 -0
  72. data/tests/test_yum.rb +2 -2
  73. data/tests/yum_package.yaml +4 -0
  74. metadata +10 -3
@@ -141,9 +141,15 @@ class TestNodeExt < CiscoTestCase
141
141
  end
142
142
 
143
143
  def test_get_product_id
144
+ # N9K Fretta product_id gets a '-F' appended so remove it for this check
145
+ if Utils.image_version?(/7.0.3.F/)
146
+ chassis = node.product_id.sub('-F', '')
147
+ else
148
+ chassis = node.product_id
149
+ end
144
150
  assert_output_check(command: 'show inventory',
145
151
  pattern: /NAME: \"#{@chassis}\".*\nPID: (\S+)/,
146
- check: node.product_id,
152
+ check: chassis,
147
153
  msg: 'Error, Product id does not match')
148
154
  end
149
155
 
data/tests/test_pim.rb CHANGED
@@ -77,6 +77,8 @@ class TestPim < CiscoTestCase
77
77
  p1 = Pim.new(afi, 'default')
78
78
  p1.ssm_range = (range)
79
79
  assert_equal(p1.ssm_range.split.sort.join(' '), range.split.sort.join(' '))
80
+ p1.ssm_range = 'none'
81
+ assert_equal('none', p1.ssm_range)
80
82
  end
81
83
 
82
84
  # Tests single ssm range none under default vrf
@@ -94,6 +96,8 @@ class TestPim < CiscoTestCase
94
96
  p1 = Pim.new(afi, 'default')
95
97
  p1.ssm_range = (range)
96
98
  assert_equal(p1.ssm_range.split.sort.join(' '), range.split.sort.join(' '))
99
+ p1.ssm_range = 'none'
100
+ assert_equal('none', p1.ssm_range)
97
101
  end
98
102
 
99
103
  # Tests single ssm range none under default vrf
@@ -119,6 +123,10 @@ class TestPim < CiscoTestCase
119
123
  assert_equal(p1.ssm_range.split.sort.join(' '), range1.split.sort.join(' '))
120
124
  assert_equal(p2.ssm_range.split.sort.join(' '), range2.split.sort.join(' '))
121
125
  assert_equal(p3.ssm_range.split.sort.join(' '), range3.split.sort.join(' '))
126
+ p1.ssm_range = 'none'
127
+ assert_equal('none', p1.ssm_range)
128
+ p2.ssm_range = 'none'
129
+ assert_equal('none', p2.ssm_range)
122
130
  end
123
131
 
124
132
  # Tests multiple ssm ranges under different vrfs
@@ -144,11 +152,10 @@ class TestPim < CiscoTestCase
144
152
  p2.ssm_range = (range3)
145
153
  assert_equal(p2.ssm_range.split.sort.join(' '), range3.split.sort.join(' '))
146
154
 
155
+ p1.ssm_range = 'none'
156
+ assert_equal('none', p1.ssm_range)
147
157
  p1.destroy
148
- assert('none', p1.ssm_range)
149
-
150
158
  p2.destroy
151
- assert('none', p2.ssm_range)
152
159
  end
153
160
 
154
161
  # Tests multiple ssm ranges overwrite under different vrfs
@@ -176,4 +183,21 @@ class TestPim < CiscoTestCase
176
183
  create_single_invalid_ssm_range_single_vrf(afi)
177
184
  end
178
185
  end
186
+
187
+ def test_bfd
188
+ %w(ipv4).each do |afi|
189
+ p1 = Pim.new(afi, 'default')
190
+ p2 = Pim.new(afi, 'red')
191
+ assert_equal(p1.default_bfd, p1.bfd)
192
+ assert_equal(p2.default_bfd, p1.bfd)
193
+ p1.bfd = true
194
+ p2.bfd = true
195
+ assert_equal(true, p1.bfd)
196
+ assert_equal(true, p2.bfd)
197
+ p1.bfd = p1.default_bfd
198
+ p2.bfd = p2.default_bfd
199
+ assert_equal(p1.default_bfd, p1.bfd)
200
+ assert_equal(p2.default_bfd, p1.bfd)
201
+ end
202
+ end
179
203
  end
@@ -51,7 +51,7 @@ class TestPlatform < CiscoTestCase
51
51
  # [['pack1', 'state1'], ['pack2', 'state2'], ...]
52
52
  # 'state' should always be a variant of Active or Inactive
53
53
  pkgs = @device.cmd('sh inst patch')
54
- .scan(/\n(\S+)\s+(\S*[aA]ctive.*)\n/)
54
+ .scan(/\n(\S+)\s+(\S*[aA]ctive.*)/)
55
55
  # convert to hash with key pkg_name and value pkg_state
56
56
  pkg_hsh = {}
57
57
  pkgs.each { |p| pkg_hsh[p[0]] = p[1].downcase }
@@ -66,11 +66,10 @@ class TestRadiusGlobal < CiscoTestCase
66
66
  2)
67
67
 
68
68
  if platform == :nexus
69
- global.key_set('44444444', nil)
70
- assert_equal(global.key,
71
- '44444444')
72
- assert_equal(Cisco::RadiusGlobal.radius_global[id].key,
73
- '44444444')
69
+ key = '44444444'
70
+ global.key_set(key, nil)
71
+ assert_equal(Utils.add_quotes(key), global.key)
72
+ assert_equal(Utils.add_quotes(key), Cisco::RadiusGlobal.radius_global[id].key)
74
73
  elsif platform == :ios_xr
75
74
  global.key_set('QsEfThUkO', nil)
76
75
  assert(!global.key.nil?)
@@ -96,8 +96,9 @@ class TestRadiusSvr < CiscoTestCase
96
96
  server.key_set(nil, nil)
97
97
  assert_equal(nil, Cisco::RadiusServer.radiusservers[id].key)
98
98
 
99
- server.key_set('44444444', nil)
100
- assert_equal('44444444', Cisco::RadiusServer.radiusservers[id].key)
99
+ key = '44444444'
100
+ server.key_set(key, nil)
101
+ assert_equal(Utils.add_quotes(key), Cisco::RadiusServer.radiusservers[id].key)
101
102
  else
102
103
  assert_nil(server.accounting)
103
104
  assert_raises(Cisco::UnsupportedError) do
@@ -159,8 +160,9 @@ class TestRadiusSvr < CiscoTestCase
159
160
  server.auth_port = 77
160
161
  assert_equal(77, Cisco::RadiusServer.radiusservers[id].auth_port)
161
162
 
162
- server.key_set('44444444', nil)
163
- assert_equal('44444444', Cisco::RadiusServer.radiusservers[id].key)
163
+ key = '44444444'
164
+ server.key_set(key, nil)
165
+ assert_equal(Utils.add_quotes(key), Cisco::RadiusServer.radiusservers[id].key)
164
166
  else
165
167
  assert_nil(server.accounting)
166
168
  assert_raises(Cisco::UnsupportedError) do
@@ -223,8 +225,9 @@ class TestRadiusSvr < CiscoTestCase
223
225
  server.auth_port = 77
224
226
  assert_equal(77, Cisco::RadiusServer.radiusservers[id].auth_port)
225
227
 
226
- server.key_set('44444444', nil)
227
- assert_equal('44444444', Cisco::RadiusServer.radiusservers[id].key)
228
+ key = '44444444'
229
+ server.key_set(key, nil)
230
+ assert_equal(Utils.add_quotes(key), Cisco::RadiusServer.radiusservers[id].key)
228
231
  else
229
232
  assert_nil(server.accounting)
230
233
  assert_raises(Cisco::UnsupportedError) do
@@ -293,9 +296,10 @@ class TestRadiusSvr < CiscoTestCase
293
296
  server.auth_port = 77
294
297
  assert_equal(77, Cisco::RadiusServer.radiusservers[id].auth_port)
295
298
 
296
- server.key_set('44444444', nil)
297
- assert_equal('44444444', Cisco::RadiusServer.radiusservers[id].key)
298
- assert_equal('44444444', server.key)
299
+ key = '44444444'
300
+ server.key_set(key, nil)
301
+ assert_equal(Utils.add_quotes(key), Cisco::RadiusServer.radiusservers[id].key)
302
+ assert_equal(Utils.add_quotes(key), server.key)
299
303
  else
300
304
  assert_nil(server.accounting)
301
305
  assert_raises(Cisco::UnsupportedError) do
@@ -327,8 +331,9 @@ class TestRadiusSvr < CiscoTestCase
327
331
  server2.auth_port = 77
328
332
  assert_equal(77, Cisco::RadiusServer.radiusservers[id2].auth_port)
329
333
 
330
- server2.key_set('44444444', nil)
331
- assert_equal('44444444', Cisco::RadiusServer.radiusservers[id2].key)
334
+ key = '44444444'
335
+ server2.key_set(key, nil)
336
+ assert_equal(Utils.add_quotes(key), Cisco::RadiusServer.radiusservers[id2].key)
332
337
  else
333
338
  assert_nil(server.accounting)
334
339
  assert_raises(Cisco::UnsupportedError) do
@@ -61,9 +61,11 @@ def setup_vrf
61
61
  end
62
62
 
63
63
  def newer_image_version?
64
- return false if Utils.image_version?(/7.0.3.I2|I3|I4/) ||
65
- Utils.chassis_pid?(/N(5|6|7|8)/)
66
- true
64
+ new = true
65
+ new = false if Utils.image_version?(/7.0.3.I2|I3|I4/) ||
66
+ node.product_id[/(N5|N6|N7|N9.*-F)/]
67
+ new = true if Utils.image_version?(/8.0/)
68
+ new
67
69
  end
68
70
 
69
71
  # TestRouterBgp - Minitest for RouterBgp class
@@ -666,7 +668,8 @@ class TestRouterBgp < CiscoTestCase
666
668
  bgp.event_history_errors = 'false'
667
669
  assert_equal('false', bgp.event_history_errors)
668
670
  bgp.event_history_errors = 'size_small'
669
- assert_equal('size_small', bgp.event_history_errors)
671
+ assert_equal('size_small', bgp.event_history_errors) unless
672
+ Utils.image_version?(/8.0/)
670
673
  bgp.event_history_errors = 'size_large'
671
674
  assert_equal('size_large', bgp.event_history_errors)
672
675
  bgp.event_history_errors = 'size_medium'
@@ -752,7 +755,8 @@ class TestRouterBgp < CiscoTestCase
752
755
  assert_equal(bgp.default_event_history_periodic,
753
756
  bgp.event_history_periodic)
754
757
  bgp.event_history_periodic = 'false'
755
- assert_equal('false', bgp.event_history_periodic)
758
+ assert_equal('false', bgp.event_history_periodic) unless
759
+ Utils.image_version?(/8.0/)
756
760
  bgp.event_history_periodic = 'size_small'
757
761
  assert_equal('size_small', bgp.event_history_periodic)
758
762
  bgp.event_history_periodic = 'size_large'
@@ -770,7 +774,8 @@ class TestRouterBgp < CiscoTestCase
770
774
  end
771
775
  bgp.event_history_periodic = 'true'
772
776
  if newer_image_version?
773
- assert_equal('true', bgp.event_history_periodic)
777
+ assert_equal('true', bgp.event_history_periodic) unless
778
+ Utils.image_version?(/8.0/)
774
779
  else
775
780
  assert_equal(bgp.default_event_history_periodic,
776
781
  bgp.event_history_periodic)
@@ -52,16 +52,16 @@ class TestRouterOspfArea < CiscoTestCase
52
52
  av.stub = true
53
53
  assert_equal(2, RouterOspfArea.areas['Wolfpack'].size)
54
54
  av.destroy
55
- # on n8k (only), we cannot remove "area <area> default-cost 1",
55
+ # on n9k-f (only), we cannot remove "area <area> default-cost 1",
56
56
  # unless the entire ospf router is removed. The default value of
57
57
  # default_cost is 1 and so this is just a cosmetic issue but
58
58
  # need to skip the below test as the size will be wrong.
59
59
  # platform as the size will be wrong. bug ID: CSCva04066
60
60
  assert_equal(1, RouterOspfArea.areas['Wolfpack'].size) unless
61
- /N8/ =~ node.product_id
61
+ /N9K.*-F/ =~ node.product_id
62
62
  ad.destroy
63
63
  assert_empty(RouterOspfArea.areas) unless
64
- /N8/ =~ node.product_id
64
+ /N9K.*-F/ =~ node.product_id
65
65
  end
66
66
 
67
67
  def test_authentication
@@ -237,21 +237,21 @@ class TestRouterOspfArea < CiscoTestCase
237
237
  assert_equal(ad.default_nssa_no_redistribution, ad.nssa_no_redistribution)
238
238
  assert_equal(ad.default_nssa_no_summary, ad.nssa_no_summary)
239
239
  assert_equal(ad.default_nssa_route_map, ad.nssa_route_map)
240
- # on n8k (only), we cannot configure
240
+ # on n9k-f (only), we cannot configure
241
241
  # "area <area> nssa default-information-originate",
242
242
  # properly if we reset it first. It is only configuring nssa
243
243
  # but not the other parameters. bug ID: CSCva11482
244
244
  hash[:nssa_route_map] = 'aaa'
245
245
  ad.nssa_set(hash)
246
246
  assert_equal(true, ad.nssa)
247
- if node.product_id[/N8/]
247
+ if node.product_id[/N9K-F/]
248
248
  refute(ad.nssa_default_originate)
249
249
  else
250
250
  assert(ad.nssa_default_originate)
251
251
  end
252
252
  assert_equal(ad.default_nssa_no_redistribution, ad.nssa_no_redistribution)
253
253
  assert_equal(ad.default_nssa_no_summary, ad.nssa_no_summary)
254
- if node.product_id[/N8/]
254
+ if node.product_id[/N9K-F/]
255
255
  refute_equal('aaa', ad.nssa_route_map)
256
256
  else
257
257
  assert_equal('aaa', ad.nssa_route_map)
@@ -140,7 +140,7 @@ class TestTacacsServer < CiscoTestCase
140
140
  tacacs = TacacsServer.new
141
141
 
142
142
  if platform == :nexus
143
- assert_equal(sh_run_encryption_password,
143
+ assert_equal(Utils.add_quotes(sh_run_encryption_password),
144
144
  tacacs.encryption_password,
145
145
  'Error: Tacacs Server, encryption password incorrect')
146
146
  elsif platform == :ios_xr
@@ -186,7 +186,7 @@ class TestTacacsServer < CiscoTestCase
186
186
  encrypted_type = md.to_s.split(' ').last.to_i
187
187
  assert_equal(encrypted_type, tacacs.encryption_type,
188
188
  'Error: Tacacs Server, encryption type incorrect')
189
- assert_equal(encrypted_password, tacacs.encryption_password,
189
+ assert_equal(Utils.add_quotes(encrypted_password), tacacs.encryption_password,
190
190
  'Error: Tacacs Server, encryption password incorrect')
191
191
  tacacs.destroy
192
192
  end
@@ -299,7 +299,7 @@ class TestTacacsSvrHost < CiscoTestCase
299
299
  host.encryption_key_set(0, pass)
300
300
 
301
301
  if platform != :ios_xr
302
- assert_equal(sh_run_pass, host.encryption_password,
302
+ assert_equal(Utils.add_quotes(sh_run_pass), host.encryption_password,
303
303
  'Error: Tacacs Host encryption password incorrect')
304
304
  else
305
305
  # Only do not-nil checking for IOS XR
@@ -339,7 +339,7 @@ class TestTacacsSvrHost < CiscoTestCase
339
339
  pass_no_quotes = md.captures[1].gsub(/(?:^\")|(?:\"$)/, '')
340
340
  assert_equal(sh_run_pass, pass_no_quotes,
341
341
  'Error: Tacacs Host encryption password mismatch')
342
- assert_equal(sh_run_pass, host.encryption_password,
342
+ assert_equal(Utils.add_quotes(sh_run_pass), host.encryption_password,
343
343
  'Error: Tacacs Host encryption password incorrect')
344
344
  else
345
345
  # Only do not-nil checking for IOS XR
data/tests/test_vlan.rb CHANGED
@@ -149,6 +149,20 @@ class TestVlan < CiscoTestCase
149
149
  v.destroy
150
150
  end
151
151
 
152
+ def test_name_long
153
+ config 'system vlan long-name'
154
+ v = Vlan.new(1000)
155
+ name = 'LONG_NAME' + ('E' * 119)
156
+ v.vlan_name = name
157
+ assert_equal(name, v.vlan_name)
158
+ name = 'LONG_NAME' + ('E' * 120)
159
+ assert_raises(Cisco::CliError) do
160
+ v.vlan_name = name
161
+ end
162
+ v.destroy
163
+ config 'no system vlan long-name'
164
+ end
165
+
152
166
  def test_state_invalid
153
167
  v = Vlan.new(1000)
154
168
  assert_raises(CliError) do
data/tests/test_yum.rb CHANGED
@@ -122,10 +122,10 @@ class TestYum < CiscoTestCase
122
122
  end
123
123
 
124
124
  def test_package_does_not_exist_error
125
- assert_raises(RuntimeError) do
125
+ assert_raises(Cisco::CliError) do
126
126
  Yum.install('bootflash:this_is_not_real.rpm', 'management')
127
127
  end
128
- assert_raises(RuntimeError) do
128
+ assert_raises(Cisco::CliError) do
129
129
  Yum.install('also_not_real', 'management')
130
130
  end
131
131
  end
@@ -33,3 +33,7 @@
33
33
  name: 'nxos.sample-n9k_ALL'
34
34
  version: '1.0.0-7.0.3.I5.1'
35
35
 
36
+ 7_0_3_F1_1_:
37
+ filename: 'nxos.sample-n8k_EOR-1.0.0-7.0.3.F1.1.lib32_nxos.rpm'
38
+ name: 'nxos.sample-n8k_EOR'
39
+ version: '1.0.0-7.0.3.F1.1'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cisco_node_utils
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.1
4
+ version: 1.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rob Gries
@@ -14,7 +14,7 @@ authors:
14
14
  autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
- date: 2016-11-02 00:00:00.000000000 Z
17
+ date: 2017-01-10 00:00:00.000000000 Z
18
18
  dependencies:
19
19
  - !ruby/object:Gem::Dependency
20
20
  name: bundler
@@ -209,9 +209,11 @@ files:
209
209
  - lib/cisco_node_utils/cmd_ref/fabricpath.yaml
210
210
  - lib/cisco_node_utils/cmd_ref/fabricpath_topology.yaml
211
211
  - lib/cisco_node_utils/cmd_ref/feature.yaml
212
+ - lib/cisco_node_utils/cmd_ref/hsrp_global.yaml
212
213
  - lib/cisco_node_utils/cmd_ref/images.yaml
213
214
  - lib/cisco_node_utils/cmd_ref/interface.yaml
214
215
  - lib/cisco_node_utils/cmd_ref/interface_channel_group.yaml
216
+ - lib/cisco_node_utils/cmd_ref/interface_hsrp_group.yaml
215
217
  - lib/cisco_node_utils/cmd_ref/interface_ospf.yaml
216
218
  - lib/cisco_node_utils/cmd_ref/interface_portchannel.yaml
217
219
  - lib/cisco_node_utils/cmd_ref/interface_service_vni.yaml
@@ -270,9 +272,11 @@ files:
270
272
  - lib/cisco_node_utils/fabricpath_global.rb
271
273
  - lib/cisco_node_utils/fabricpath_topology.rb
272
274
  - lib/cisco_node_utils/feature.rb
275
+ - lib/cisco_node_utils/hsrp_global.rb
273
276
  - lib/cisco_node_utils/interface.rb
274
277
  - lib/cisco_node_utils/interface_DEPRECATED.rb
275
278
  - lib/cisco_node_utils/interface_channel_group.rb
279
+ - lib/cisco_node_utils/interface_hsrp_group.rb
276
280
  - lib/cisco_node_utils/interface_ospf.rb
277
281
  - lib/cisco_node_utils/interface_portchannel.rb
278
282
  - lib/cisco_node_utils/interface_service_vni.rb
@@ -372,9 +376,12 @@ files:
372
376
  - tests/test_fabricpath_topology.rb
373
377
  - tests/test_feature.rb
374
378
  - tests/test_grpc.rb
379
+ - tests/test_hsrp_global.rb
375
380
  - tests/test_interface.rb
376
381
  - tests/test_interface_bdi.rb
377
382
  - tests/test_interface_channel_group.rb
383
+ - tests/test_interface_hsrp.rb
384
+ - tests/test_interface_hsrp_group.rb
378
385
  - tests/test_interface_ospf.rb
379
386
  - tests/test_interface_portchannel.rb
380
387
  - tests/test_interface_private_vlan.rb
@@ -451,7 +458,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
451
458
  version: 2.1.0
452
459
  requirements: []
453
460
  rubyforge_project:
454
- rubygems_version: 2.2.2
461
+ rubygems_version: 2.4.6
455
462
  signing_key:
456
463
  specification_version: 4
457
464
  summary: Utilities for management of Cisco network nodes