nagios-zfs 0.0.1 → 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- data/bin/check_zpool +1 -1
- data/features/check_zpool_capacity.feature +4 -0
- data/lib/nagios/zfs/version.rb +1 -1
- data/lib/nagios/zfs/zpool.rb +3 -0
- data/lib/nagios/zfs/zpool_plugin.rb +5 -1
- data/nagios-zfs.gemspec +1 -1
- data/spec/nagios/zfs/zpool_plugin_spec.rb +10 -0
- data/spec/nagios/zfs/zpool_spec.rb +12 -0
- metadata +6 -6
data/bin/check_zpool
CHANGED
@@ -19,6 +19,10 @@ Feature: Check zpool capacity
|
|
19
19
|
When I run `check_zpool -p tank -w 81 -c 82`
|
20
20
|
Then the status should be ok
|
21
21
|
|
22
|
+
Scenario: Display actual capacity
|
23
|
+
When I run `check_zpool -p tank -w 79 -c 80`
|
24
|
+
Then the stdout should contain "tank 80%"
|
25
|
+
|
22
26
|
#NOTE: This currently does not work!
|
23
27
|
#Scenario: Unknown zpool name
|
24
28
|
#When I run `check_zpool -p foo -w 81 -c 82`
|
data/lib/nagios/zfs/version.rb
CHANGED
data/lib/nagios/zfs/zpool.rb
CHANGED
@@ -9,7 +9,7 @@ module Nagios
|
|
9
9
|
|
10
10
|
option :critical,
|
11
11
|
:short => '-c CRITICAL_CAPACITY',
|
12
|
-
:
|
12
|
+
:long => '--critical CRITICAL_CAPACITY',
|
13
13
|
:proc => Proc.new { |config| config.to_i }
|
14
14
|
|
15
15
|
option :warning,
|
@@ -35,6 +35,10 @@ module Nagios
|
|
35
35
|
true
|
36
36
|
end
|
37
37
|
|
38
|
+
def message
|
39
|
+
"#{zpool.name} #{zpool.capacity}%"
|
40
|
+
end
|
41
|
+
|
38
42
|
private
|
39
43
|
|
40
44
|
def critical_capacity?
|
data/nagios-zfs.gemspec
CHANGED
@@ -18,7 +18,7 @@ Gem::Specification.new do |spec|
|
|
18
18
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
19
|
spec.require_paths = ['lib']
|
20
20
|
|
21
|
-
spec.add_dependency 'nagiosplugin', '~> 2.
|
21
|
+
spec.add_dependency 'nagiosplugin', '~> 2.1'
|
22
22
|
spec.add_dependency 'mixlib-cli', '~> 1.3'
|
23
23
|
|
24
24
|
spec.add_development_dependency 'bundler', '~> 1.3'
|
@@ -78,6 +78,16 @@ module Nagios
|
|
78
78
|
end
|
79
79
|
end
|
80
80
|
|
81
|
+
describe '#message' do
|
82
|
+
it 'includes the pool name and capcity' do
|
83
|
+
zpool = double('zpool')
|
84
|
+
zpool.should_receive(:name).and_return('tank')
|
85
|
+
zpool.should_receive(:capacity).and_return(42)
|
86
|
+
plugin.stub(:zpool).and_return(zpool)
|
87
|
+
expect(plugin.message).to eq('tank 42%')
|
88
|
+
end
|
89
|
+
end
|
90
|
+
|
81
91
|
describe '#zpool' do
|
82
92
|
let(:zpool) { double('zpool') }
|
83
93
|
|
@@ -9,6 +9,18 @@ module Nagios
|
|
9
9
|
Zpool.any_instance.stub(:`).and_return('')
|
10
10
|
end
|
11
11
|
|
12
|
+
it 'raises an error on empty pool name' do
|
13
|
+
[nil, ''].each do |name|
|
14
|
+
expect { Zpool.new(name) }.to raise_error /missing pool name/
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
describe '#name' do
|
19
|
+
it 'returns the pool name' do
|
20
|
+
expect(zpool.name).to eq('tank')
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
12
24
|
describe '#capacity' do
|
13
25
|
it 'returns the capacity' do
|
14
26
|
zpool.should_receive(:query).and_return("tank\t87%\n")
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: nagios-zfs
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 0.1.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -18,7 +18,7 @@ dependencies:
|
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
20
20
|
- !ruby/object:Gem::Version
|
21
|
-
version: '2.
|
21
|
+
version: '2.1'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
24
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -26,7 +26,7 @@ dependencies:
|
|
26
26
|
requirements:
|
27
27
|
- - ~>
|
28
28
|
- !ruby/object:Gem::Version
|
29
|
-
version: '2.
|
29
|
+
version: '2.1'
|
30
30
|
- !ruby/object:Gem::Dependency
|
31
31
|
name: mixlib-cli
|
32
32
|
requirement: !ruby/object:Gem::Requirement
|
@@ -182,7 +182,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
182
182
|
version: '0'
|
183
183
|
segments:
|
184
184
|
- 0
|
185
|
-
hash:
|
185
|
+
hash: 4578558176594243719
|
186
186
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
187
187
|
none: false
|
188
188
|
requirements:
|
@@ -191,13 +191,13 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
191
191
|
version: '0'
|
192
192
|
segments:
|
193
193
|
- 0
|
194
|
-
hash:
|
194
|
+
hash: 4578558176594243719
|
195
195
|
requirements: []
|
196
196
|
rubyforge_project:
|
197
197
|
rubygems_version: 1.8.23
|
198
198
|
signing_key:
|
199
199
|
specification_version: 3
|
200
|
-
summary: nagios-zfs-0.0
|
200
|
+
summary: nagios-zfs-0.1.0
|
201
201
|
test_files:
|
202
202
|
- features/check_zpool_capacity.feature
|
203
203
|
- features/step_definitions/dev_steps.rb
|