cisco_node_utils 1.9.0 → 1.10.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +34 -0
- data/README.md +14 -0
- data/ext/mkrf_conf.rb +1 -1
- data/lib/cisco_node_utils/ace.rb +142 -7
- data/lib/cisco_node_utils/banner.rb +63 -0
- data/lib/cisco_node_utils/bridge_domain.rb +1 -1
- data/lib/cisco_node_utils/cisco_cmn_utils.rb +1 -1
- data/lib/cisco_node_utils/client/utils.rb +20 -10
- data/lib/cisco_node_utils/cmd_ref/acl.yaml +1 -1
- data/lib/cisco_node_utils/cmd_ref/banner.yaml +7 -0
- data/lib/cisco_node_utils/cmd_ref/fabricpath.yaml +2 -2
- data/lib/cisco_node_utils/cmd_ref/hostname.yaml +8 -0
- data/lib/cisco_node_utils/cmd_ref/interface.yaml +20 -12
- data/lib/cisco_node_utils/cmd_ref/interface_hsrp_group.yaml +3 -3
- data/lib/cisco_node_utils/cmd_ref/ip_multicast.yaml +6 -2
- data/lib/cisco_node_utils/cmd_ref/snmp_server.yaml +4 -1
- data/lib/cisco_node_utils/cmd_ref/syslog_facility.yaml +10 -0
- data/lib/cisco_node_utils/cmd_ref/syslog_server.yaml +3 -3
- data/lib/cisco_node_utils/cmd_ref/syslog_settings.yaml +16 -0
- data/lib/cisco_node_utils/cmd_ref/tacacs_server_host.yaml +2 -2
- data/lib/cisco_node_utils/environment.rb +8 -1
- data/lib/cisco_node_utils/hostname.rb +62 -0
- data/lib/cisco_node_utils/interface.rb +59 -2
- data/lib/cisco_node_utils/interface_DEPRECATED.rb +5 -0
- data/lib/cisco_node_utils/interface_hsrp_group.rb +17 -6
- data/lib/cisco_node_utils/ip_multicast.rb +13 -9
- data/lib/cisco_node_utils/node.rb +4 -1
- data/lib/cisco_node_utils/syslog_facility.rb +64 -0
- data/lib/cisco_node_utils/syslog_server.rb +18 -13
- data/lib/cisco_node_utils/syslog_settings.rb +43 -1
- data/lib/cisco_node_utils/version.rb +1 -1
- data/lib/cisco_node_utils/vlan.rb +1 -1
- data/lib/cisco_node_utils/vxlan_vtep_vni.rb +21 -8
- data/spec/environment_spec.rb +107 -0
- data/tests/ciscotest.rb +8 -1
- data/tests/test_ace.rb +60 -3
- data/tests/test_banner.rb +85 -0
- data/tests/test_bgp_af.rb +1 -1
- data/tests/test_hostname.rb +64 -0
- data/tests/test_interface.rb +22 -1
- data/tests/test_interface_hsrp_group.rb +12 -24
- data/tests/test_ip_multicast.rb +32 -21
- data/tests/test_nxapi.rb +8 -4
- data/tests/test_syslog_facility.rb +80 -0
- data/tests/test_syslog_server.rb +3 -2
- data/tests/test_syslog_settings.rb +16 -1
- data/tests/yum_package.yaml +5 -0
- metadata +12 -3
data/tests/test_nxapi.rb
CHANGED
@@ -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
|
data/tests/test_syslog_server.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
#
|
2
2
|
# Minitest for SyslogServer class
|
3
3
|
#
|
4
|
-
# Copyright (c) 2014-
|
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
|
data/tests/yum_package.yaml
CHANGED
@@ -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.
|
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-
|
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.
|
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
|