cisco_node_utils 1.4.1 → 1.5.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 (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