oxidized 0.2.4 → 0.3.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 +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
|