oxidized 0.16.2 → 0.16.3
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +6 -0
- data/README.md +7 -5
- data/bin/oxidized +2 -1
- data/lib/oxidized.rb +1 -1
- data/lib/oxidized/input/cli.rb +3 -0
- data/lib/oxidized/model/acos.rb +16 -0
- data/lib/oxidized/model/asa.rb +3 -0
- data/lib/oxidized/model/cumulus.rb +10 -4
- data/lib/oxidized/model/datacom.rb +6 -1
- data/lib/oxidized/model/pfsense.rb +27 -0
- data/lib/oxidized/model/saos.rb +4 -2
- data/lib/oxidized/model/timos.rb +64 -7
- data/lib/oxidized/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: cba5f31454c2e6512d70c1688f81885e82a97ad9
|
4
|
+
data.tar.gz: 40b8dfe37843039c8fef5cedc443a7101c78ffa1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8ca49b2ed227d5526c2d2093c794fd67a796822f7aeb30966060ac7ff46d12446b7c54fc6438b9e54e57d442422d92dccfaf5483e71141de066dfeda5d2726cc
|
7
|
+
data.tar.gz: 2df84d9068fcdebd9c633d627a189ea5eaf915c9e04dc00af03b372dfba944c5ad8e1e0508ab93968295136d69a892b9098dbcc0218e2880558bfccf04bbb119
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,9 @@
|
|
1
|
+
# 0.16.3
|
2
|
+
- FEATURE: pfsense support (by @stokbaek)
|
3
|
+
- BUGFIX: cumulus prompt not working with default switch configs (by @nertwork)
|
4
|
+
- BUGFIX: disconnect ssh when prompt wasn't found (by @andir)
|
5
|
+
- BUGFIX: saos, asa, acos, timos updates, cumulus
|
6
|
+
|
1
7
|
# 0.16.2
|
2
8
|
- BUGFIX: when not using git (by @danilopopeye)
|
3
9
|
- BUGFIX: screenos update
|
data/README.md
CHANGED
@@ -1,6 +1,4 @@
|
|
1
|
-
# Oxidized [](https://travis-ci.org/Shopify/oxidized)
|
2
|
-
|
3
|
-
[](http://badge.fury.io/rb/oxidized)
|
1
|
+
# Oxidized [](https://travis-ci.org/Shopify/oxidized) [](http://badge.fury.io/rb/oxidized) [](https://gitter.im/oxidized/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
|
4
2
|
|
5
3
|
Oxidized is a network device configuration backup tool. It's a RANCID replacement!
|
6
4
|
|
@@ -50,7 +48,6 @@ Oxidized is a network device configuration backup tool. It's a RANCID replacemen
|
|
50
48
|
* AOS
|
51
49
|
* AOS7
|
52
50
|
* ISAM
|
53
|
-
* TiMOS
|
54
51
|
* Wireless
|
55
52
|
* Arista
|
56
53
|
* EOS
|
@@ -118,10 +115,13 @@ Oxidized is a network device configuration backup tool. It's a RANCID replacemen
|
|
118
115
|
* MasterOS
|
119
116
|
* Netonix
|
120
117
|
* WISP Switch (As Netonix)
|
118
|
+
* Nokia (formerly TiMetra, Alcatel, Alcatel-Lucent)
|
119
|
+
* SR OS (TiMOS)
|
121
120
|
* Opengear
|
122
121
|
* Opengear
|
123
122
|
* Palo Alto
|
124
123
|
* PANOS
|
124
|
+
* pfSense
|
125
125
|
* Quanta
|
126
126
|
* Quanta / VxWorks 6.6 (1.1.0.8)
|
127
127
|
* Supermicro
|
@@ -420,6 +420,8 @@ source:
|
|
420
420
|
url: https://url/api
|
421
421
|
scheme: https
|
422
422
|
delimiter: !ruby/regexp /:/
|
423
|
+
user: username
|
424
|
+
pass: password
|
423
425
|
map:
|
424
426
|
name: hostname
|
425
427
|
model: os
|
@@ -510,7 +512,7 @@ output:
|
|
510
512
|
|
511
513
|
### Output types
|
512
514
|
|
513
|
-
If you prefer to have different outputs in different files and/or directories, you can easily do this by modifying the corresponding model. To change the behaviour for IOS, you would edit `lib/oxidized/model/ios.rb
|
515
|
+
If you prefer to have different outputs in different files and/or directories, you can easily do this by modifying the corresponding model. To change the behaviour for IOS, you would edit `lib/oxidized/model/ios.rb` (run `gem contents oxidized` to find out the full file path).
|
514
516
|
|
515
517
|
For example, let's say you want to split out `show version` and `show inventory` into separate files in a directory called `nodiff` which your tools will not send automated diffstats for. You can apply a patch along the lines of
|
516
518
|
|
data/bin/oxidized
CHANGED
data/lib/oxidized.rb
CHANGED
data/lib/oxidized/input/cli.rb
CHANGED
data/lib/oxidized/model/acos.rb
CHANGED
@@ -6,6 +6,13 @@ class ACOS < Oxidized::Model
|
|
6
6
|
##ACOS prompt changes depending on the state of the device
|
7
7
|
prompt /^([-\w.\/:?\[\]\(\)]+[#>]\s?)$/
|
8
8
|
|
9
|
+
cmd :secret do |cfg|
|
10
|
+
cfg.gsub!(/community read encrypted (\S+)/, 'community read encrypted <hidden>') # snmp
|
11
|
+
cfg.gsub!(/secret encrypted (\S+)/, 'secret encrypted <hidden>') # tacacs-server
|
12
|
+
cfg.gsub!(/password encrypted (\S+)/, 'password encrypted <hidden>') # user
|
13
|
+
cfg
|
14
|
+
end
|
15
|
+
|
9
16
|
cmd 'show version' do |cfg|
|
10
17
|
cfg.gsub! /\s(Last configuration saved at).*/, ' \\1 <removed>'
|
11
18
|
cfg.gsub! /\s(Memory).*/, ' \\1 <removed>'
|
@@ -22,11 +29,20 @@ class ACOS < Oxidized::Model
|
|
22
29
|
comment cfg
|
23
30
|
end
|
24
31
|
|
32
|
+
cmd 'show partition-config all' do |cfg|
|
33
|
+
cfg.gsub! /(Current configuration).*/, '\\1 <removed>'
|
34
|
+
cfg.gsub! /(Configuration last updated at).*/, '\\1 <removed>'
|
35
|
+
cfg.gsub! /(Configuration last saved at).*/, '\\1 <removed>'
|
36
|
+
cfg.gsub! /(Configuration last synchronized at).*/, '\\1 <removed>'
|
37
|
+
cfg
|
38
|
+
end
|
39
|
+
|
25
40
|
cmd 'show running-config all-partitions' do |cfg|
|
26
41
|
cfg.gsub! /(Current configuration).*/, '\\1 <removed>'
|
27
42
|
cfg.gsub! /(Configuration last updated at).*/, '\\1 <removed>'
|
28
43
|
cfg.gsub! /(Configuration last saved at).*/, '\\1 <removed>'
|
29
44
|
cfg.gsub! /(Configuration last synchronized at).*/, '\\1 <removed>'
|
45
|
+
cfg
|
30
46
|
end
|
31
47
|
|
32
48
|
cmd 'show aflex all-partitions' do |cfg|
|
data/lib/oxidized/model/asa.rb
CHANGED
@@ -13,6 +13,9 @@ class ASA < Oxidized::Model
|
|
13
13
|
cmd :secret do |cfg|
|
14
14
|
cfg.gsub! /enable password (\S+) (.*)/, 'enable password <secret hidden> \2'
|
15
15
|
cfg.gsub! /username (\S+) password (\S+) (.*)/, 'username \1 password <secret hidden> \3'
|
16
|
+
cfg.gsub! /ikev2 pre-shared-key (\S+)/, 'ikev2 pre-shared-key <secret hidden>'
|
17
|
+
cfg.gsub! /ikev2 (remote|local)-authentication pre-shared-key (\S+)/, 'ikev2 \1-authentication pre-shared-key <secret hidden>'
|
18
|
+
cfg.gsub! /^(aaa-server TACACS\+? \(\S+\) host.*\n\skey) \S+$/mi, '\1 <secret hidden>'
|
16
19
|
cfg
|
17
20
|
end
|
18
21
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
class Cumulus < Oxidized::Model
|
2
2
|
|
3
|
-
prompt /^((\w*)@(.*)
|
3
|
+
prompt /^((\w*)@(.*)):/
|
4
4
|
comment '# '
|
5
5
|
|
6
6
|
|
@@ -22,7 +22,7 @@ class Cumulus < Oxidized::Model
|
|
22
22
|
cfg += cmd 'cat /etc/hosts'
|
23
23
|
|
24
24
|
cfg += add_comment 'THE INTERFACES'
|
25
|
-
cfg += cmd '
|
25
|
+
cfg += cmd 'grep -r "" /etc/network/interface* | cut -d "/" -f 4-'
|
26
26
|
|
27
27
|
cfg += add_comment 'RESOLV.CONF'
|
28
28
|
cfg += cmd 'cat /etc/resolv.conf'
|
@@ -30,6 +30,9 @@ class Cumulus < Oxidized::Model
|
|
30
30
|
cfg += add_comment 'NTP.CONF'
|
31
31
|
cfg += cmd 'cat /etc/ntp.conf'
|
32
32
|
|
33
|
+
cfg += add_comment 'IP Routes'
|
34
|
+
cfg += cmd 'netstat -rn'
|
35
|
+
|
33
36
|
cfg += add_comment 'QUAGGA DAEMONS'
|
34
37
|
cfg += cmd 'cat /etc/quagga/daemons'
|
35
38
|
|
@@ -55,10 +58,13 @@ class Cumulus < Oxidized::Model
|
|
55
58
|
cfg += cmd 'cat /etc/cumulus/switchd.conf'
|
56
59
|
|
57
60
|
cfg += add_comment 'ACL'
|
58
|
-
cfg += cmd 'iptables -L'
|
61
|
+
cfg += cmd 'iptables -L -n'
|
59
62
|
|
60
63
|
cfg += add_comment 'VERSION'
|
61
64
|
cfg += cmd 'cat /etc/cumulus/etc.replace/os-release'
|
65
|
+
|
66
|
+
cfg += add_comment 'License'
|
67
|
+
cfg += cmd 'cl-license'
|
62
68
|
|
63
69
|
end
|
64
70
|
|
@@ -73,4 +79,4 @@ class Cumulus < Oxidized::Model
|
|
73
79
|
end
|
74
80
|
|
75
81
|
|
76
|
-
end
|
82
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
class PfSense < Oxidized::Model
|
2
|
+
|
3
|
+
# use other use than 'admin' user, 'admin' user cannot get ssh/exec. See issue #535
|
4
|
+
|
5
|
+
comment '# '
|
6
|
+
|
7
|
+
#add a comment in the final conf
|
8
|
+
def add_comment comment
|
9
|
+
"\n###### #{comment} ######\n"
|
10
|
+
end
|
11
|
+
|
12
|
+
cmd :all do |cfg|
|
13
|
+
cfg.each_line.to_a[1..-2].join
|
14
|
+
end
|
15
|
+
|
16
|
+
#show the persistent configuration
|
17
|
+
pre do
|
18
|
+
cfg = add_comment 'Configuration'
|
19
|
+
cfg += cmd 'cat /cf/conf/config.xml'
|
20
|
+
end
|
21
|
+
|
22
|
+
cfg :ssh do
|
23
|
+
exec true
|
24
|
+
pre_logout 'exit'
|
25
|
+
end
|
26
|
+
|
27
|
+
end
|
data/lib/oxidized/model/saos.rb
CHANGED
@@ -17,8 +17,10 @@ class SAOS < Oxidized::Model
|
|
17
17
|
username /login:/
|
18
18
|
password /assword:/
|
19
19
|
end
|
20
|
-
|
20
|
+
|
21
|
+
cfg :telnet, :ssh do
|
22
|
+
post_login 'system shell set more off'
|
21
23
|
post_login 'system shell session set more off'
|
22
24
|
pre_logout 'exit'
|
23
25
|
end
|
24
|
-
end
|
26
|
+
end
|
data/lib/oxidized/model/timos.rb
CHANGED
@@ -1,8 +1,10 @@
|
|
1
1
|
class TiMOS < Oxidized::Model
|
2
2
|
|
3
|
-
#
|
4
|
-
#
|
5
|
-
|
3
|
+
#
|
4
|
+
# Nokia SR OS (TiMOS) (formerly TiMetra, Alcatel, Alcatel-Lucent).
|
5
|
+
# Used in 7705 SAR, 7210 SAS, 7450 ESS, 7750 SR, 7950 XRS, and NSP.
|
6
|
+
#
|
7
|
+
|
6
8
|
comment '# '
|
7
9
|
|
8
10
|
prompt /^([-\w\.:>\*]+\s?[#>]\s?)$/
|
@@ -12,26 +14,81 @@ class TiMOS < Oxidized::Model
|
|
12
14
|
new_cfg << cfg.each_line.to_a[1..-2].join
|
13
15
|
end
|
14
16
|
|
17
|
+
#
|
18
|
+
# Show the boot options file.
|
19
|
+
#
|
15
20
|
cmd 'show bof' do |cfg|
|
16
21
|
comment cfg
|
17
22
|
end
|
18
23
|
|
24
|
+
#
|
25
|
+
# Show the system information.
|
26
|
+
#
|
19
27
|
cmd 'show system information' do |cfg|
|
20
|
-
#
|
28
|
+
#
|
29
|
+
# Strip uptime.
|
30
|
+
#
|
21
31
|
cfg.sub! /^System Up Time.*\n/, ''
|
22
32
|
comment cfg
|
23
33
|
end
|
24
34
|
|
35
|
+
#
|
36
|
+
# Show the card state.
|
37
|
+
#
|
25
38
|
cmd 'show card state' do |cfg|
|
26
39
|
comment cfg
|
27
40
|
end
|
28
41
|
|
29
|
-
|
30
|
-
|
42
|
+
#
|
43
|
+
# Show the boot log.
|
44
|
+
#
|
45
|
+
cmd 'file type bootlog.txt' do |cfg|
|
46
|
+
#
|
47
|
+
# Strip carriage returns and backspaces.
|
48
|
+
#
|
49
|
+
cfg.gsub! /\r/, ''
|
50
|
+
cfg.gsub! /[\b][\b][\b]/, "\n"
|
51
|
+
comment cfg
|
52
|
+
end
|
53
|
+
|
54
|
+
#
|
55
|
+
# Show the running debug configuration.
|
56
|
+
#
|
57
|
+
cmd 'show debug' do |cfg|
|
31
58
|
comment cfg
|
32
59
|
end
|
33
60
|
|
34
|
-
|
61
|
+
#
|
62
|
+
# Show the saved debug configuration (admin debug-save).
|
63
|
+
#
|
64
|
+
cmd 'file type config.dbg' do |cfg|
|
65
|
+
#
|
66
|
+
# Strip carriage returns.
|
67
|
+
#
|
68
|
+
cfg.gsub! /\r/, ''
|
69
|
+
comment cfg
|
70
|
+
end
|
71
|
+
|
72
|
+
#
|
73
|
+
# Show the running persistent indices.
|
74
|
+
#
|
75
|
+
cmd 'admin display-config index' do |cfg|
|
76
|
+
#
|
77
|
+
# Strip carriage returns.
|
78
|
+
#
|
79
|
+
cfg.gsub! /\r/, ''
|
80
|
+
comment cfg
|
81
|
+
end
|
82
|
+
|
83
|
+
#
|
84
|
+
# Show the running configuration.
|
85
|
+
#
|
86
|
+
cmd 'admin display-config' do |cfg|
|
87
|
+
#
|
88
|
+
# Strip carriage returns.
|
89
|
+
#
|
90
|
+
cfg.gsub! /\r/, ''
|
91
|
+
end
|
35
92
|
|
36
93
|
cfg :telnet do
|
37
94
|
username /^Login: /
|
data/lib/oxidized/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: oxidized
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.16.
|
4
|
+
version: 0.16.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Saku Ytti
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2016-
|
13
|
+
date: 2016-08-25 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: asetus
|
@@ -256,6 +256,7 @@ files:
|
|
256
256
|
- lib/oxidized/model/opengear.rb
|
257
257
|
- lib/oxidized/model/outputs.rb
|
258
258
|
- lib/oxidized/model/panos.rb
|
259
|
+
- lib/oxidized/model/pfsense.rb
|
259
260
|
- lib/oxidized/model/powerconnect.rb
|
260
261
|
- lib/oxidized/model/procurve.rb
|
261
262
|
- lib/oxidized/model/quantaos.rb
|