onering-report-plugins 0.0.25 → 0.0.26

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.
@@ -0,0 +1,38 @@
1
+ if Facter::Util::Resolution.which('smartctl')
2
+ disks = []
3
+ letters = (('a'..'z').to_a + ('a'..'z').to_a.collect{|i| ('a'..'z').to_a.collect{|j| i+j }}.flatten)
4
+
5
+ letters.each do |i|
6
+ if File.exists?("/dev/sd#{i}")
7
+ smart = {}
8
+
9
+ Facter::Util::Resolution.exec("smartctl -A /dev/sd#{i}").to_s.lines.each do |line|
10
+ next unless line =~ /^\s*[0-9]+/
11
+ id, name, flag, value, worst, threshold, type, updated, failed, raw = line.strip.chomp.split(/\s+/)
12
+
13
+ smart[:attributes] ||= []
14
+ smart[:attributes] << {
15
+ :id => id.to_i,
16
+ :name => name.downcase.gsub(/[\s\-]+/, '_'),
17
+ :value => value.to_i,
18
+ :worst => worst.to_i,
19
+ :threshold => threshold.to_i,
20
+ :type => type.downcase,
21
+ :raw => raw
22
+ }
23
+ end
24
+
25
+ smart[:name] = "/dev/sd#{i}"
26
+
27
+ disks << smart
28
+ end
29
+ end
30
+
31
+ disks = disks.reject{|i| (i[:attributes] || {}).empty? }
32
+
33
+ unless disks.empty?
34
+ Facter.add('smart') do
35
+ setcode { disks }
36
+ end
37
+ end
38
+ end
@@ -108,10 +108,14 @@ report do
108
108
  end
109
109
 
110
110
 
111
- stat :disk, {
112
- :mounts => (Hash[mounts.select{|k,v| k =~ /^\/dev\/((h|s|xv|v)d|mapper|vgc)/ }].values rescue nil),
113
- :lvm => {
114
- :groups => vg.values
115
- }
116
- }
117
- end
111
+ d = {}
112
+
113
+ d[:mounts] = (Hash[mounts.select{|k,v| k =~ /^\/dev\/((h|s|xv|v)d|mapper|vgc)/ }].values rescue nil)
114
+ d[:lvm] = {
115
+ :groups => vg.values
116
+ } unless vg.values.empty?
117
+
118
+ d[:smart] = Facter.value('smart')
119
+
120
+ stat :disk, d.compact
121
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: onering-report-plugins
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.25
4
+ version: 0.0.26
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -13,7 +13,7 @@ date: 2013-04-09 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: onering-client
16
- requirement: !ruby/object:Gem::Requirement
16
+ requirement: &7524020 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,12 +21,7 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
- requirements:
27
- - - ! '>='
28
- - !ruby/object:Gem::Version
29
- version: '0'
24
+ version_requirements: *7524020
30
25
  description: Base plugins for providing system information via the Onering client
31
26
  utility
32
27
  email: ghetzel@outbrain.com
@@ -34,29 +29,30 @@ executables: []
34
29
  extensions: []
35
30
  extra_rdoc_files: []
36
31
  files:
37
- - lib/reporter/default/properties_facter.rb
38
- - lib/reporter/default/stats_virident.rb
39
- - lib/reporter/default/stats_disk.rb
40
- - lib/reporter/default/properties_xen.rb
41
- - lib/reporter/default/properties_openvz.rb
42
- - lib/reporter/default/properties_network.rb
43
- - lib/reporter/default/properties_physical.rb
44
- - lib/reporter/default/properties_ohai.rb
45
- - lib/reporter/default/stats_zfs.rb
46
- - lib/reporter/default/stats_base.rb
47
- - lib/reporter/default/properties_services.rb
48
- - lib/reporter/default/properties_chef.rb
49
32
  - lib/facter/onering_properties_openvz.rb
33
+ - lib/facter/onering_properties_network.rb
34
+ - lib/facter/onering_properties_virident.rb
35
+ - lib/facter/onering_properties_services.rb
50
36
  - lib/facter/onering_properties_chef.rb
51
37
  - lib/facter/onering_properties_physical.rb
52
- - lib/facter/onering_properties_xen.rb
53
- - lib/facter/onering_properties_services.rb
54
- - lib/facter/onering_properties_virident.rb
55
- - lib/facter/onering_properties_zfs.rb
56
- - lib/facter/onering_properties_network.rb
57
38
  - lib/facter/onering_properties_system.rb
58
39
  - lib/facter/onering_properties_id.rb
40
+ - lib/facter/onering_disk_smart.rb
41
+ - lib/facter/onering_properties_zfs.rb
42
+ - lib/facter/onering_properties_xen.rb
59
43
  - lib/etc/facter.list
44
+ - lib/reporter/default/properties_physical.rb
45
+ - lib/reporter/default/properties_facter.rb
46
+ - lib/reporter/default/stats_disk.rb
47
+ - lib/reporter/default/stats_zfs.rb
48
+ - lib/reporter/default/properties_openvz.rb
49
+ - lib/reporter/default/properties_xen.rb
50
+ - lib/reporter/default/properties_chef.rb
51
+ - lib/reporter/default/stats_virident.rb
52
+ - lib/reporter/default/properties_ohai.rb
53
+ - lib/reporter/default/properties_network.rb
54
+ - lib/reporter/default/properties_services.rb
55
+ - lib/reporter/default/stats_base.rb
60
56
  homepage: https://github.com/outbrain/onering-report-plugins
61
57
  licenses: []
62
58
  post_install_message:
@@ -77,7 +73,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
77
73
  version: '0'
78
74
  requirements: []
79
75
  rubyforge_project:
80
- rubygems_version: 1.8.23
76
+ rubygems_version: 1.8.11
81
77
  signing_key:
82
78
  specification_version: 3
83
79
  summary: Onering system reporting plugins