oxidized 0.2.4 → 0.3.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +6 -0
- data/README.md +1 -0
- data/TODO.md +15 -1
- data/extra/oxidized.init +86 -0
- data/lib/oxidized/model/comware.rb +41 -0
- data/oxidized.gemspec +1 -1
- metadata +5 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: c4e125d54180398e4fd35652a8ca384c85d451ec
|
|
4
|
+
data.tar.gz: 46cef914c85dcaadfafcbde310d7c9bbc3707f0b
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 0261cf513efbab1d3bc06ff184c72e70d7371256628441501e2b1d2a44796531091f4fba0eee3b93130993030c4c3e1d78d8c33db01727c17af1760337640f32
|
|
7
|
+
data.tar.gz: 0662f963ddcbd6da7ab8e6e1cd12ef723c88511cd69ed4673e58e66f00657287cc39c6aec9b0e66bb4c2b441474aa76a67f5bab3a8b5ed7e16ddd1c845236272
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
# 0.3.0
|
|
2
2
|
- FEATURE: *FIXME* bunch of stuff I did for richih, docs needed
|
|
3
|
+
- FEATURE: ComWare model (by erJasp)
|
|
4
|
+
- FEATURE: Add comment support for router.db file
|
|
5
|
+
- FEATURE: Add input debugging and related configuration options
|
|
6
|
+
- BUGFIX: Fix ASA model prompt
|
|
7
|
+
- BUGFIX: Fix Aruba model display
|
|
8
|
+
- BUGFIX: Fix changing output in PowerConnect model
|
|
3
9
|
|
|
4
10
|
# 0.2.4
|
|
5
11
|
- FEATURE: Cisco SMB (Nikola series VxWorks) model by @thetamind
|
data/README.md
CHANGED
data/TODO.md
CHANGED
|
@@ -1,3 +1,17 @@
|
|
|
1
|
+
# refactor core
|
|
2
|
+
* move state from memory to disk, sqlite probably
|
|
3
|
+
* allows us to retain stats etc over restart
|
|
4
|
+
* simplifies code
|
|
5
|
+
* keep only running nodes in memory
|
|
6
|
+
* negligible I/O cost, as majority is I/O wait getting config
|
|
7
|
+
|
|
8
|
+
# separate login to owon package
|
|
9
|
+
* oxidized-script is not only use-case
|
|
10
|
+
* it would be good to have minimal package used to login to routers
|
|
11
|
+
* oxidized just one consumer of that functionality
|
|
12
|
+
* what to do with models, we need model to know how to login. Should models be separated to another package? oxidized-core, oxidized-models and oxidized-login?
|
|
13
|
+
* how can we allow interactive login in oxidized-login? With functional VTY etc? REPL loop in input/ssh and input/telnet?
|
|
14
|
+
|
|
1
15
|
# thread number
|
|
2
16
|
* think about algo
|
|
3
17
|
* if job ended later than now-iteration have rand(node.size) == 0 to add thread
|
|
@@ -6,4 +20,4 @@
|
|
|
6
20
|
|
|
7
21
|
# docs, testing
|
|
8
22
|
* yard docs
|
|
9
|
-
*
|
|
23
|
+
* minitest tests
|
data/extra/oxidized.init
ADDED
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
#!/bin/sh
|
|
2
|
+
#
|
|
3
|
+
# Written by Stefan Schlesinger / sts@ono.at / http://sts.ono.at
|
|
4
|
+
#
|
|
5
|
+
### BEGIN INIT INFO
|
|
6
|
+
# Provides: oxidized
|
|
7
|
+
# Required-Start: $remote_fs $syslog
|
|
8
|
+
# Required-Stop: $remote_fs $syslog
|
|
9
|
+
# Default-Start: 2 3 4 5
|
|
10
|
+
# Default-Stop: 0 1 6
|
|
11
|
+
# Short-Description: Start Oxidized at boot time
|
|
12
|
+
# Description: Oxidized - Network Device Configuration Backup Tool
|
|
13
|
+
### END INIT INFO
|
|
14
|
+
|
|
15
|
+
set -e
|
|
16
|
+
|
|
17
|
+
PATH=/sbin:/bin:/usr/sbin:/usr/bin
|
|
18
|
+
DAEMON=/home/sts/oxidized/bin/oxidized
|
|
19
|
+
NAME="oxidized"
|
|
20
|
+
DESC="Oxidized - Network Device Configuration Backup Tool"
|
|
21
|
+
ARGS=""
|
|
22
|
+
USER="sts"
|
|
23
|
+
|
|
24
|
+
test -x $DAEMON || exit 0
|
|
25
|
+
|
|
26
|
+
. /lib/lsb/init-functions
|
|
27
|
+
|
|
28
|
+
if [ -r /etc/default/$NAME ]; then
|
|
29
|
+
. /etc/default/$NAME
|
|
30
|
+
fi
|
|
31
|
+
|
|
32
|
+
CONFIG="${CONFIG:-/etc/oxidized/config}"
|
|
33
|
+
|
|
34
|
+
PIDFILE=/var/run/$NAME.pid
|
|
35
|
+
|
|
36
|
+
do_start()
|
|
37
|
+
{
|
|
38
|
+
start-stop-daemon --start --quiet --background --pidfile $PIDFILE --make-pidfile \
|
|
39
|
+
--oknodo --chuid $USER --exec $DAEMON -- -c $CONFIG $ARGS
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
do_stop()
|
|
43
|
+
{
|
|
44
|
+
start-stop-daemon --oknodo --stop --quiet -v --pidfile $PIDFILE \
|
|
45
|
+
--chuid $USER --retry KILL/10 -- -c $CONFIG $ARGS
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
case "$1" in
|
|
49
|
+
start)
|
|
50
|
+
if [ "$ENABLED" = "no" ]; then
|
|
51
|
+
log_failure_msg "Not starting $DESC: disabled via /etc/default/$NAME"
|
|
52
|
+
exit 0
|
|
53
|
+
fi
|
|
54
|
+
|
|
55
|
+
log_daemon_msg "Starting $DESC..." "$NAME"
|
|
56
|
+
if do_start ; then
|
|
57
|
+
log_end_msg 0
|
|
58
|
+
else
|
|
59
|
+
log_end_msg 1
|
|
60
|
+
fi
|
|
61
|
+
;;
|
|
62
|
+
stop)
|
|
63
|
+
log_daemon_msg "Stopping $DESC..." "$NAME"
|
|
64
|
+
if do_stop ; then
|
|
65
|
+
log_end_msg 0
|
|
66
|
+
else
|
|
67
|
+
log_end_msg 1
|
|
68
|
+
fi
|
|
69
|
+
;;
|
|
70
|
+
|
|
71
|
+
restart|force-reload)
|
|
72
|
+
$0 stop
|
|
73
|
+
sleep 1
|
|
74
|
+
$0 start
|
|
75
|
+
;;
|
|
76
|
+
status)
|
|
77
|
+
status_of_proc -p $PIDFILE $DAEMON $NAME
|
|
78
|
+
;;
|
|
79
|
+
*)
|
|
80
|
+
N=/etc/init.d/$NAME
|
|
81
|
+
echo "Usage: $N {start|stop|restart|force-reload|status}" >&2
|
|
82
|
+
exit 1
|
|
83
|
+
;;
|
|
84
|
+
esac
|
|
85
|
+
|
|
86
|
+
exit 0
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
class Comware < Oxidized::Model
|
|
2
|
+
# HP (A-series)/H3C/3Com Comware
|
|
3
|
+
|
|
4
|
+
prompt /^(<[\w.-]+>)$/
|
|
5
|
+
comment '# '
|
|
6
|
+
|
|
7
|
+
# example how to handle pager
|
|
8
|
+
#expect /^\s*---- More ----$/ do |data, re|
|
|
9
|
+
# send ' '
|
|
10
|
+
# data.sub re, ''
|
|
11
|
+
#end
|
|
12
|
+
|
|
13
|
+
cmd :all do |cfg|
|
|
14
|
+
#cfg.gsub! /^.*\e\[42D/, '' # example how to handle pager
|
|
15
|
+
cfg.each_line.to_a[1..-2].join
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
cfg :telnet do
|
|
19
|
+
username /^Username:$/
|
|
20
|
+
password /^Password:$/
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
cfg :telnet, :ssh do
|
|
24
|
+
post_login 'screen-length disable'
|
|
25
|
+
post_login 'undo terminal monitor'
|
|
26
|
+
pre_logout 'quit'
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
cmd 'display version' do |cfg|
|
|
30
|
+
cfg = cfg.each_line.select {|l| not l.match /uptime/ }.join
|
|
31
|
+
comment cfg
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
cmd 'display device' do |cfg|
|
|
35
|
+
comment cfg
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
cmd 'display current-configuration' do |cfg|
|
|
39
|
+
cfg
|
|
40
|
+
end
|
|
41
|
+
end
|
data/oxidized.gemspec
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.
|
|
4
|
+
version: 0.3.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Saku Ytti
|
|
@@ -9,7 +9,7 @@ authors:
|
|
|
9
9
|
autorequire:
|
|
10
10
|
bindir: bin
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date: 2015-02-
|
|
12
|
+
date: 2015-02-13 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: asetus
|
|
@@ -68,6 +68,7 @@ files:
|
|
|
68
68
|
- Rakefile
|
|
69
69
|
- TODO.md
|
|
70
70
|
- bin/oxidized
|
|
71
|
+
- extra/oxidized.init
|
|
71
72
|
- extra/rest_client.rb
|
|
72
73
|
- extra/syslog.rb
|
|
73
74
|
- lib/oxidized.rb
|
|
@@ -91,6 +92,7 @@ files:
|
|
|
91
92
|
- lib/oxidized/model/aosw.rb
|
|
92
93
|
- lib/oxidized/model/asa.rb
|
|
93
94
|
- lib/oxidized/model/ciscosmb.rb
|
|
95
|
+
- lib/oxidized/model/comware.rb
|
|
94
96
|
- lib/oxidized/model/eos.rb
|
|
95
97
|
- lib/oxidized/model/fabricos.rb
|
|
96
98
|
- lib/oxidized/model/fortios.rb
|
|
@@ -144,7 +146,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
144
146
|
version: '0'
|
|
145
147
|
requirements: []
|
|
146
148
|
rubyforge_project: oxidized
|
|
147
|
-
rubygems_version: 2.
|
|
149
|
+
rubygems_version: 2.4.5
|
|
148
150
|
signing_key:
|
|
149
151
|
specification_version: 4
|
|
150
152
|
summary: feeble attempt at rancid
|