cisco_node_utils 1.9.0 → 1.10.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 (49) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +34 -0
  3. data/README.md +14 -0
  4. data/ext/mkrf_conf.rb +1 -1
  5. data/lib/cisco_node_utils/ace.rb +142 -7
  6. data/lib/cisco_node_utils/banner.rb +63 -0
  7. data/lib/cisco_node_utils/bridge_domain.rb +1 -1
  8. data/lib/cisco_node_utils/cisco_cmn_utils.rb +1 -1
  9. data/lib/cisco_node_utils/client/utils.rb +20 -10
  10. data/lib/cisco_node_utils/cmd_ref/acl.yaml +1 -1
  11. data/lib/cisco_node_utils/cmd_ref/banner.yaml +7 -0
  12. data/lib/cisco_node_utils/cmd_ref/fabricpath.yaml +2 -2
  13. data/lib/cisco_node_utils/cmd_ref/hostname.yaml +8 -0
  14. data/lib/cisco_node_utils/cmd_ref/interface.yaml +20 -12
  15. data/lib/cisco_node_utils/cmd_ref/interface_hsrp_group.yaml +3 -3
  16. data/lib/cisco_node_utils/cmd_ref/ip_multicast.yaml +6 -2
  17. data/lib/cisco_node_utils/cmd_ref/snmp_server.yaml +4 -1
  18. data/lib/cisco_node_utils/cmd_ref/syslog_facility.yaml +10 -0
  19. data/lib/cisco_node_utils/cmd_ref/syslog_server.yaml +3 -3
  20. data/lib/cisco_node_utils/cmd_ref/syslog_settings.yaml +16 -0
  21. data/lib/cisco_node_utils/cmd_ref/tacacs_server_host.yaml +2 -2
  22. data/lib/cisco_node_utils/environment.rb +8 -1
  23. data/lib/cisco_node_utils/hostname.rb +62 -0
  24. data/lib/cisco_node_utils/interface.rb +59 -2
  25. data/lib/cisco_node_utils/interface_DEPRECATED.rb +5 -0
  26. data/lib/cisco_node_utils/interface_hsrp_group.rb +17 -6
  27. data/lib/cisco_node_utils/ip_multicast.rb +13 -9
  28. data/lib/cisco_node_utils/node.rb +4 -1
  29. data/lib/cisco_node_utils/syslog_facility.rb +64 -0
  30. data/lib/cisco_node_utils/syslog_server.rb +18 -13
  31. data/lib/cisco_node_utils/syslog_settings.rb +43 -1
  32. data/lib/cisco_node_utils/version.rb +1 -1
  33. data/lib/cisco_node_utils/vlan.rb +1 -1
  34. data/lib/cisco_node_utils/vxlan_vtep_vni.rb +21 -8
  35. data/spec/environment_spec.rb +107 -0
  36. data/tests/ciscotest.rb +8 -1
  37. data/tests/test_ace.rb +60 -3
  38. data/tests/test_banner.rb +85 -0
  39. data/tests/test_bgp_af.rb +1 -1
  40. data/tests/test_hostname.rb +64 -0
  41. data/tests/test_interface.rb +22 -1
  42. data/tests/test_interface_hsrp_group.rb +12 -24
  43. data/tests/test_ip_multicast.rb +32 -21
  44. data/tests/test_nxapi.rb +8 -4
  45. data/tests/test_syslog_facility.rb +80 -0
  46. data/tests/test_syslog_server.rb +3 -2
  47. data/tests/test_syslog_settings.rb +16 -1
  48. data/tests/yum_package.yaml +5 -0
  49. metadata +12 -3
@@ -34,11 +34,19 @@ class TestNxapi < TestCase
34
34
 
35
35
  def setup
36
36
  super
37
+ @device.cmd('configure terminal')
38
+ @device.cmd('feature nxapi')
39
+ @device.cmd('nxapi http port 80')
40
+ @device.cmd('end')
37
41
  @product_id = Cisco::Node.new.product_id if @product_id.nil?
38
42
  cleanup
39
43
  end
40
44
 
41
45
  def teardown
46
+ @device.cmd('configure terminal')
47
+ @device.cmd('feature nxapi')
48
+ @device.cmd('nxapi http port 80')
49
+ @device.cmd('end')
42
50
  cleanup
43
51
  super
44
52
  end
@@ -179,10 +187,6 @@ class TestNxapi < TestCase
179
187
  assert_raises Cisco::ConnectionRefused do
180
188
  client.set(values: 'interface loopback41')
181
189
  end
182
- ensure
183
- @device.cmd('configure terminal')
184
- @device.cmd('feature nxapi')
185
- @device.cmd('end')
186
190
  end
187
191
 
188
192
  def test_unauthorized
@@ -0,0 +1,80 @@
1
+ #
2
+ # Minitest for SyslogFacility class
3
+ #
4
+ # Copyright (c) 2014-2018 Cisco and/or its affiliates.
5
+ #
6
+ # Licensed under the Apache License, Version 2.0 (the "License");
7
+ # you may not use this file except in compliance with the License.
8
+ # You may obtain a copy of the License at
9
+ #
10
+ # http://www.apache.org/licenses/LICENSE-2.0
11
+ #
12
+ # Unless required by applicable law or agreed to in writing, software
13
+ # distributed under the License is distributed on an "AS IS" BASIS,
14
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ # See the License for the specific language governing permissions and
16
+ # limitations under the License.
17
+
18
+ require_relative 'ciscotest'
19
+ require_relative '../lib/cisco_node_utils/syslog_facility'
20
+
21
+ # TestSyslogFacility - Minitest for SyslogFacility node utility.
22
+ class TestSyslogFacility < CiscoTestCase
23
+ def setup
24
+ # setup runs at the beginning of each test
25
+ super
26
+ no_syslogfacility
27
+ end
28
+
29
+ def teardown
30
+ # teardown runs at the end of each test
31
+ no_syslogfacility
32
+ super
33
+ end
34
+
35
+ def no_syslogfacility
36
+ # Turn the feature off for a clean test.
37
+ config('no logging level aaa 6',
38
+ 'no logging level ip igmp 6',
39
+ 'no logging level routing ipv4 multicast 7')
40
+ end
41
+
42
+ # TESTS
43
+
44
+ def test_create_destroy
45
+ id = 'aaa'
46
+ refute_includes(Cisco::SyslogFacility.facilities, id)
47
+
48
+ facility = Cisco::SyslogFacility.new({ 'facility' => id, 'level' => 6 }, true)
49
+ assert_includes(Cisco::SyslogFacility.facilities, id)
50
+ assert_equal(Cisco::SyslogFacility.facilities[id], facility)
51
+ assert_equal(id, Cisco::SyslogFacility.facilities[id].facility)
52
+ assert_equal(6, Cisco::SyslogFacility.facilities[id].level)
53
+
54
+ facility.destroy
55
+ refute_includes(Cisco::SyslogFacility.facilities, id)
56
+ end
57
+
58
+ def test_create_destroy_extended
59
+ id = 'ip igmp'
60
+ id2 = 'routing ipv4 multicast'
61
+ refute_includes(Cisco::SyslogFacility.facilities, id)
62
+ refute_includes(Cisco::SyslogFacility.facilities, id2)
63
+
64
+ facility = Cisco::SyslogFacility.new({ 'facility' => id, 'level' => 6 }, true)
65
+ facility2 = Cisco::SyslogFacility.new({ 'facility' => id2, 'level' => 7 }, true)
66
+ assert_includes(Cisco::SyslogFacility.facilities, id)
67
+ assert_equal(Cisco::SyslogFacility.facilities[id], facility)
68
+ assert_equal(id, Cisco::SyslogFacility.facilities[id].facility)
69
+ assert_equal(6, Cisco::SyslogFacility.facilities[id].level)
70
+ assert_includes(Cisco::SyslogFacility.facilities, id2)
71
+ assert_equal(Cisco::SyslogFacility.facilities[id2], facility2)
72
+ assert_equal(id2, Cisco::SyslogFacility.facilities[id2].facility)
73
+ assert_equal(7, Cisco::SyslogFacility.facilities[id2].level)
74
+
75
+ facility.destroy
76
+ facility2.destroy
77
+ refute_includes(Cisco::SyslogFacility.facilities, id)
78
+ refute_includes(Cisco::SyslogFacility.facilities, id2)
79
+ end
80
+ end
@@ -1,7 +1,7 @@
1
1
  #
2
2
  # Minitest for SyslogServer class
3
3
  #
4
- # Copyright (c) 2014-2016 Cisco and/or its affiliates.
4
+ # Copyright (c) 2014-2018 Cisco and/or its affiliates.
5
5
  #
6
6
  # Licensed under the Apache License, Version 2.0 (the "License");
7
7
  # you may not use this file except in compliance with the License.
@@ -101,7 +101,7 @@ class TestSyslogServer < CiscoTestCase
101
101
  end
102
102
 
103
103
  id = '1.2.3.4'
104
- options = { 'name' => id, 'level' => '4', 'port' => '2154', 'vrf' => 'red' }
104
+ options = { 'name' => id, 'level' => '4', 'port' => '2154', 'vrf' => 'red', 'facility' => 'local5' }
105
105
 
106
106
  refute_includes(Cisco::SyslogServer.syslogservers, id)
107
107
 
@@ -111,6 +111,7 @@ class TestSyslogServer < CiscoTestCase
111
111
  assert_equal('4', Cisco::SyslogServer.syslogservers[id].level)
112
112
  assert_equal('2154', Cisco::SyslogServer.syslogservers[id].port)
113
113
  assert_equal('red', Cisco::SyslogServer.syslogservers[id].vrf)
114
+ assert_equal('local5', Cisco::SyslogServer.syslogservers[id].facility)
114
115
 
115
116
  server.destroy
116
117
  refute_includes(Cisco::SyslogServer.syslogservers, id)
@@ -39,7 +39,8 @@ class TestSyslogSettings < CiscoTestCase
39
39
  config('no logging timestamp seconds',
40
40
  'logging console 2',
41
41
  'logging monitor 5',
42
- 'no logging source-interface')
42
+ 'no logging source-interface',
43
+ 'no logging logfile')
43
44
  end
44
45
 
45
46
  # TESTS
@@ -105,4 +106,18 @@ class TestSyslogSettings < CiscoTestCase
105
106
  syslog_setting.source_interface = nil
106
107
  assert_nil(syslog_setting.source_interface)
107
108
  end
109
+
110
+ def test_logfile
111
+ syslog_setting = Cisco::SyslogSettings.new('default')
112
+
113
+ assert_equal('unset', syslog_setting.logfile_name)
114
+ syslog_setting.send('logfile_name=', 'testlog', 5, 'size 4097')
115
+ assert_equal('testlog', syslog_setting.logfile_name)
116
+ assert_equal('5', syslog_setting.logfile_severity_level)
117
+ assert_equal('4097', syslog_setting.logfile_size)
118
+ syslog_setting.send('logfile_name=', nil, nil, nil)
119
+ assert_equal('unset', syslog_setting.logfile_name)
120
+ assert_nil(syslog_setting.logfile_severity_level)
121
+ assert_nil(syslog_setting.logfile_size)
122
+ end
108
123
  end
@@ -78,6 +78,11 @@
78
78
  name: 'nxos.sample-n9k_ALL'
79
79
  version: '1.0.0-7.0.3.I7.3'
80
80
 
81
+ 7_0_3_I7_4_:
82
+ filename: 'nxos.sample-n9k_ALL-1.0.0-7.0.3.I7.4.lib32_n9000.rpm'
83
+ name: 'nxos.sample-n9k_ALL'
84
+ version: '1.0.0-7.0.3.I7.4'
85
+
81
86
  7_0_3_F1_1_:
82
87
  filename: 'nxos.sample-n8k_EOR-1.0.0-7.0.3.F1.1.lib32_nxos.rpm'
83
88
  name: 'nxos.sample-n8k_EOR'
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.9.0
4
+ version: 1.10.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rob Gries
@@ -15,7 +15,7 @@ authors:
15
15
  autorequire:
16
16
  bindir: bin
17
17
  cert_chain: []
18
- date: 2018-04-19 00:00:00.000000000 Z
18
+ date: 2018-09-19 00:00:00.000000000 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
21
  name: bundler
@@ -186,6 +186,7 @@ files:
186
186
  - lib/cisco_node_utils/aaa_authorization_service.rb
187
187
  - lib/cisco_node_utils/ace.rb
188
188
  - lib/cisco_node_utils/acl.rb
189
+ - lib/cisco_node_utils/banner.rb
189
190
  - lib/cisco_node_utils/bfd_global.rb
190
191
  - lib/cisco_node_utils/bgp.rb
191
192
  - lib/cisco_node_utils/bgp_af.rb
@@ -211,6 +212,7 @@ files:
211
212
  - lib/cisco_node_utils/cmd_ref/aaa_authentication_login.yaml
212
213
  - lib/cisco_node_utils/cmd_ref/aaa_authorization_service.yaml
213
214
  - lib/cisco_node_utils/cmd_ref/acl.yaml
215
+ - lib/cisco_node_utils/cmd_ref/banner.yaml
214
216
  - lib/cisco_node_utils/cmd_ref/bfd_global.yaml
215
217
  - lib/cisco_node_utils/cmd_ref/bgp.yaml
216
218
  - lib/cisco_node_utils/cmd_ref/bgp_af.yaml
@@ -229,6 +231,7 @@ files:
229
231
  - lib/cisco_node_utils/cmd_ref/fabricpath.yaml
230
232
  - lib/cisco_node_utils/cmd_ref/fabricpath_topology.yaml
231
233
  - lib/cisco_node_utils/cmd_ref/feature.yaml
234
+ - lib/cisco_node_utils/cmd_ref/hostname.yaml
232
235
  - lib/cisco_node_utils/cmd_ref/hsrp_global.yaml
233
236
  - lib/cisco_node_utils/cmd_ref/images.yaml
234
237
  - lib/cisco_node_utils/cmd_ref/interface.yaml
@@ -267,6 +270,7 @@ files:
267
270
  - lib/cisco_node_utils/cmd_ref/snmpnotification.yaml
268
271
  - lib/cisco_node_utils/cmd_ref/span_session.yaml
269
272
  - lib/cisco_node_utils/cmd_ref/stp_global.yaml
273
+ - lib/cisco_node_utils/cmd_ref/syslog_facility.yaml
270
274
  - lib/cisco_node_utils/cmd_ref/syslog_server.yaml
271
275
  - lib/cisco_node_utils/cmd_ref/syslog_settings.yaml
272
276
  - lib/cisco_node_utils/cmd_ref/system.yaml
@@ -302,6 +306,7 @@ files:
302
306
  - lib/cisco_node_utils/fabricpath_global.rb
303
307
  - lib/cisco_node_utils/fabricpath_topology.rb
304
308
  - lib/cisco_node_utils/feature.rb
309
+ - lib/cisco_node_utils/hostname.rb
305
310
  - lib/cisco_node_utils/hsrp_global.rb
306
311
  - lib/cisco_node_utils/interface.rb
307
312
  - lib/cisco_node_utils/interface_DEPRECATED.rb
@@ -346,6 +351,7 @@ files:
346
351
  - lib/cisco_node_utils/snmpuser.rb
347
352
  - lib/cisco_node_utils/span_session.rb
348
353
  - lib/cisco_node_utils/stp_global.rb
354
+ - lib/cisco_node_utils/syslog_facility.rb
349
355
  - lib/cisco_node_utils/syslog_server.rb
350
356
  - lib/cisco_node_utils/syslog_settings.rb
351
357
  - lib/cisco_node_utils/tacacs_global.rb
@@ -395,6 +401,7 @@ files:
395
401
  - tests/test_aaa_authorization_service.rb
396
402
  - tests/test_ace.rb
397
403
  - tests/test_acl.rb
404
+ - tests/test_banner.rb
398
405
  - tests/test_bfd_global.rb
399
406
  - tests/test_bgp_af.rb
400
407
  - tests/test_bgp_af_aa.rb
@@ -418,6 +425,7 @@ files:
418
425
  - tests/test_fabricpath_topology.rb
419
426
  - tests/test_feature.rb
420
427
  - tests/test_grpc.rb
428
+ - tests/test_hostname.rb
421
429
  - tests/test_hsrp_global.rb
422
430
  - tests/test_interface.rb
423
431
  - tests/test_interface_bdi.rb
@@ -468,6 +476,7 @@ files:
468
476
  - tests/test_snmpuser.rb
469
477
  - tests/test_span_session.rb
470
478
  - tests/test_stp_global.rb
479
+ - tests/test_syslog_facility.rb
471
480
  - tests/test_syslog_server.rb
472
481
  - tests/test_syslog_settings.rb
473
482
  - tests/test_tacacs_global.rb
@@ -508,7 +517,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
508
517
  version: 2.1.0
509
518
  requirements: []
510
519
  rubyforge_project:
511
- rubygems_version: 2.5.2.1
520
+ rubygems_version: 2.2.2
512
521
  signing_key:
513
522
  specification_version: 4
514
523
  summary: Utilities for management of Cisco network nodes