oxidized 0.9.0 → 0.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.
- checksums.yaml +4 -4
- data/.travis.yml +3 -0
- data/CHANGELOG.md +6 -0
- data/Gemfile.lock +41 -0
- data/README.md +64 -35
- data/Rakefile +7 -9
- data/bin/console +9 -0
- data/bin/oxidized +1 -1
- data/extra/nagios_check_failing_nodes.rb +4 -4
- data/extra/oxidized-report-git-commits +80 -0
- data/extra/rvm.oxidized.upstart +18 -0
- data/lib/oxidized.rb +45 -2
- data/lib/oxidized/cli.rb +54 -4
- data/lib/oxidized/config.rb +45 -39
- data/lib/oxidized/config/vars.rb +8 -3
- data/lib/oxidized/core.rb +5 -12
- data/lib/oxidized/hook.rb +4 -4
- data/lib/oxidized/hook/exec.rb +2 -0
- data/lib/oxidized/hook/githubrepo.rb +57 -0
- data/lib/oxidized/input/cli.rb +2 -1
- data/lib/oxidized/input/ftp.rb +3 -3
- data/lib/oxidized/input/ssh.rb +9 -9
- data/lib/oxidized/input/telnet.rb +3 -3
- data/lib/oxidized/job.rb +3 -3
- data/lib/oxidized/model/fortios.rb +1 -1
- data/lib/oxidized/model/junos.rb +8 -10
- data/lib/oxidized/model/model.rb +3 -2
- data/lib/oxidized/model/powerconnect.rb +11 -6
- data/lib/oxidized/model/saos.rb +24 -0
- data/lib/oxidized/node.rb +16 -16
- data/lib/oxidized/nodes.rb +12 -12
- data/lib/oxidized/output/file.rb +15 -3
- data/lib/oxidized/output/git.rb +10 -7
- data/lib/oxidized/source/csv.rb +7 -7
- data/lib/oxidized/source/http.rb +1 -1
- data/lib/oxidized/source/source.rb +1 -1
- data/lib/oxidized/source/sql.rb +7 -7
- data/lib/oxidized/string.rb +1 -1
- data/lib/oxidized/version.rb +3 -0
- data/lib/oxidized/worker.rb +11 -9
- data/oxidized.gemspec +12 -3
- metadata +75 -7
- data/lib/oxidized/log.rb +0 -22
- data/spec/nodes_spec.rb +0 -46
data/oxidized.gemspec
CHANGED
@@ -1,6 +1,11 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require 'oxidized/version'
|
5
|
+
|
1
6
|
Gem::Specification.new do |s|
|
2
7
|
s.name = 'oxidized'
|
3
|
-
s.version =
|
8
|
+
s.version = Oxidized::VERSION
|
4
9
|
s.licenses = %w( Apache-2.0 )
|
5
10
|
s.platform = Gem::Platform::RUBY
|
6
11
|
s.authors = [ 'Saku Ytti', 'Samer Abdel-Hafez', 'Anton Aksola' ]
|
@@ -9,14 +14,18 @@ Gem::Specification.new do |s|
|
|
9
14
|
s.summary = 'feeble attempt at rancid'
|
10
15
|
s.description = 'software to fetch configuration from network devices and store them'
|
11
16
|
s.rubyforge_project = s.name
|
12
|
-
s.files = `git ls-files`.split("\
|
17
|
+
s.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
13
18
|
s.executables = %w( oxidized )
|
14
19
|
s.require_path = 'lib'
|
15
20
|
|
16
21
|
s.required_ruby_version = '>= 1.9.3'
|
17
22
|
s.add_runtime_dependency 'asetus', '~> 0.1'
|
18
23
|
s.add_runtime_dependency 'slop', '~> 3.5'
|
19
|
-
s.add_runtime_dependency 'net-ssh', '~>
|
24
|
+
s.add_runtime_dependency 'net-ssh', '~> 3.0', '>= 3.0.2'
|
20
25
|
s.add_runtime_dependency 'rugged', '~> 0.21', '>= 0.21.4'
|
21
26
|
s.add_development_dependency 'pry', '~> 0'
|
27
|
+
s.add_development_dependency 'bundler', '~> 1.10'
|
28
|
+
s.add_development_dependency 'rake', '~> 10.0'
|
29
|
+
s.add_development_dependency 'minitest', '~> 5.8'
|
30
|
+
s.add_development_dependency 'mocha', '~> 1.1'
|
22
31
|
end
|
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.10.0
|
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:
|
13
|
+
date: 2016-01-06 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: asetus
|
@@ -46,14 +46,20 @@ dependencies:
|
|
46
46
|
requirements:
|
47
47
|
- - "~>"
|
48
48
|
- !ruby/object:Gem::Version
|
49
|
-
version: '
|
49
|
+
version: '3.0'
|
50
|
+
- - ">="
|
51
|
+
- !ruby/object:Gem::Version
|
52
|
+
version: 3.0.2
|
50
53
|
type: :runtime
|
51
54
|
prerelease: false
|
52
55
|
version_requirements: !ruby/object:Gem::Requirement
|
53
56
|
requirements:
|
54
57
|
- - "~>"
|
55
58
|
- !ruby/object:Gem::Version
|
56
|
-
version: '
|
59
|
+
version: '3.0'
|
60
|
+
- - ">="
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
version: 3.0.2
|
57
63
|
- !ruby/object:Gem::Dependency
|
58
64
|
name: rugged
|
59
65
|
requirement: !ruby/object:Gem::Requirement
|
@@ -88,6 +94,62 @@ dependencies:
|
|
88
94
|
- - "~>"
|
89
95
|
- !ruby/object:Gem::Version
|
90
96
|
version: '0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: bundler
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - "~>"
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '1.10'
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - "~>"
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '1.10'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: rake
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - "~>"
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '10.0'
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - "~>"
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '10.0'
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: minitest
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - "~>"
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '5.8'
|
132
|
+
type: :development
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - "~>"
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: '5.8'
|
139
|
+
- !ruby/object:Gem::Dependency
|
140
|
+
name: mocha
|
141
|
+
requirement: !ruby/object:Gem::Requirement
|
142
|
+
requirements:
|
143
|
+
- - "~>"
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: '1.1'
|
146
|
+
type: :development
|
147
|
+
prerelease: false
|
148
|
+
version_requirements: !ruby/object:Gem::Requirement
|
149
|
+
requirements:
|
150
|
+
- - "~>"
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
version: '1.1'
|
91
153
|
description: software to fetch configuration from network devices and store them
|
92
154
|
email:
|
93
155
|
- saku@ytti.fi
|
@@ -98,19 +160,24 @@ executables:
|
|
98
160
|
extensions: []
|
99
161
|
extra_rdoc_files: []
|
100
162
|
files:
|
163
|
+
- ".travis.yml"
|
101
164
|
- CHANGELOG.md
|
102
165
|
- Dockerfile
|
103
166
|
- Gemfile
|
167
|
+
- Gemfile.lock
|
104
168
|
- README.md
|
105
169
|
- Rakefile
|
106
170
|
- TODO.md
|
171
|
+
- bin/console
|
107
172
|
- bin/oxidized
|
108
173
|
- extra/nagios_check_failing_nodes.rb
|
174
|
+
- extra/oxidized-report-git-commits
|
109
175
|
- extra/oxidized.init
|
110
176
|
- extra/oxidized.service
|
111
177
|
- extra/oxidized.supervisord
|
112
178
|
- extra/oxidized.upstart
|
113
179
|
- extra/rest_client.rb
|
180
|
+
- extra/rvm.oxidized.upstart
|
114
181
|
- extra/syslog.rb
|
115
182
|
- lib/oxidized.rb
|
116
183
|
- lib/oxidized/cli.rb
|
@@ -119,6 +186,7 @@ files:
|
|
119
186
|
- lib/oxidized/core.rb
|
120
187
|
- lib/oxidized/hook.rb
|
121
188
|
- lib/oxidized/hook/exec.rb
|
189
|
+
- lib/oxidized/hook/githubrepo.rb
|
122
190
|
- lib/oxidized/hook/noophook.rb
|
123
191
|
- lib/oxidized/input/cli.rb
|
124
192
|
- lib/oxidized/input/ftp.rb
|
@@ -127,7 +195,6 @@ files:
|
|
127
195
|
- lib/oxidized/input/telnet.rb
|
128
196
|
- lib/oxidized/job.rb
|
129
197
|
- lib/oxidized/jobs.rb
|
130
|
-
- lib/oxidized/log.rb
|
131
198
|
- lib/oxidized/manager.rb
|
132
199
|
- lib/oxidized/model/acos.rb
|
133
200
|
- lib/oxidized/model/aireos.rb
|
@@ -160,6 +227,7 @@ files:
|
|
160
227
|
- lib/oxidized/model/powerconnect.rb
|
161
228
|
- lib/oxidized/model/procurve.rb
|
162
229
|
- lib/oxidized/model/routeros.rb
|
230
|
+
- lib/oxidized/model/saos.rb
|
163
231
|
- lib/oxidized/model/screenos.rb
|
164
232
|
- lib/oxidized/model/timos.rb
|
165
233
|
- lib/oxidized/model/vrp.rb
|
@@ -177,9 +245,9 @@ files:
|
|
177
245
|
- lib/oxidized/source/source.rb
|
178
246
|
- lib/oxidized/source/sql.rb
|
179
247
|
- lib/oxidized/string.rb
|
248
|
+
- lib/oxidized/version.rb
|
180
249
|
- lib/oxidized/worker.rb
|
181
250
|
- oxidized.gemspec
|
182
|
-
- spec/nodes_spec.rb
|
183
251
|
homepage: http://github.com/ytti/oxidized
|
184
252
|
licenses:
|
185
253
|
- Apache-2.0
|
@@ -200,7 +268,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
200
268
|
version: '0'
|
201
269
|
requirements: []
|
202
270
|
rubyforge_project: oxidized
|
203
|
-
rubygems_version: 2.
|
271
|
+
rubygems_version: 2.4.5.1
|
204
272
|
signing_key:
|
205
273
|
specification_version: 4
|
206
274
|
summary: feeble attempt at rancid
|
data/lib/oxidized/log.rb
DELETED
@@ -1,22 +0,0 @@
|
|
1
|
-
module Oxidized
|
2
|
-
|
3
|
-
begin
|
4
|
-
require 'syslog/logger'
|
5
|
-
Log = Syslog::Logger.new 'oxidized'
|
6
|
-
Log.define_singleton_method(:file=){|arg|}
|
7
|
-
rescue LoadError
|
8
|
-
# 1.9.3 has no love for syslog
|
9
|
-
require 'logger'
|
10
|
-
class Logger < Logger
|
11
|
-
def initialize target=STDOUT
|
12
|
-
super target
|
13
|
-
end
|
14
|
-
def file= target
|
15
|
-
FileUtils.mkdir_p File.dirname(target)
|
16
|
-
@logdev = LogDevice.new target
|
17
|
-
end
|
18
|
-
end
|
19
|
-
Log = Logger.new
|
20
|
-
end
|
21
|
-
|
22
|
-
end
|
data/spec/nodes_spec.rb
DELETED
@@ -1,46 +0,0 @@
|
|
1
|
-
require 'oxidized'
|
2
|
-
Oxidized.mgr = Oxidized::Manager.new
|
3
|
-
|
4
|
-
describe Oxidized::Nodes do
|
5
|
-
before(:each) do
|
6
|
-
@nodes_org = %w(ltt-pe1.hel kes2-rr1.tku tor-peer1.oul
|
7
|
-
hal-p2.tre sav-gr1-sw1.kuo psl-sec-pe1.hel).map { |e| Oxidized::Node.new(:name=>e) }
|
8
|
-
@nodes = Oxidized::Nodes.new @nodes_org.dup
|
9
|
-
end
|
10
|
-
|
11
|
-
describe '#put' do
|
12
|
-
it 'adds node to top of queue' do
|
13
|
-
node = Oxidized::Node.new(:name=>'kst-p1.sto')
|
14
|
-
@nodes.put node
|
15
|
-
expect(@nodes).to eq [node] + @nodes_org
|
16
|
-
end
|
17
|
-
end
|
18
|
-
|
19
|
-
describe '#get' do
|
20
|
-
it 'returns node from top of queue' do
|
21
|
-
expect(@nodes.get).to eq @nodes_org.first
|
22
|
-
end
|
23
|
-
it 'moves node from top to bottom' do
|
24
|
-
@nodes.get
|
25
|
-
expect(@nodes).to end_with [@nodes_org.first]
|
26
|
-
end
|
27
|
-
it 'does not change node count' do
|
28
|
-
before = @nodes.size
|
29
|
-
@nodes.get
|
30
|
-
expect(before).to eq @nodes.size
|
31
|
-
end
|
32
|
-
end
|
33
|
-
|
34
|
-
describe '#next' do
|
35
|
-
it 'moves node to top of queue' do
|
36
|
-
node = @nodes[3]
|
37
|
-
@nodes.next node.name
|
38
|
-
expect(@nodes).to start_with [node]
|
39
|
-
end
|
40
|
-
it 'does not change node count' do
|
41
|
-
before = @nodes.size
|
42
|
-
@nodes.next @nodes[3].name
|
43
|
-
expect(before).to eq @nodes.size
|
44
|
-
end
|
45
|
-
end
|
46
|
-
end
|