onering-report-plugins 0.0.49 → 0.0.50

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.
@@ -103,38 +103,42 @@ begin
103
103
  if not output.nil?
104
104
  # XML formatting worked, parse as such
105
105
  if output[0..1] == '<?'
106
- output = XmlSimple.xml_in(output)
107
-
108
- (output['interface'] || []).each do |i|
109
- current_iface = i['name']
110
- port = i['port'].first
111
- vlan = i['vlan']
112
- chassis = i['chassis'].first
113
- speed, duplex = port['auto-negotiation'].first['current'].first['content'].split(' - ',2).first.split(/BaseT/i,2)
114
-
115
- speed = (Integer(speed) * 1000000 rescue nil) # convert to bits
116
- duplex = case duplex
117
- when 'FD' then :full
118
- when 'HD' then :half
119
- else nil
120
- end
106
+ begin
107
+ output = XmlSimple.xml_in(output)
108
+
109
+ (output['interface'] || []).each do |i|
110
+ current_iface = i['name']
111
+ port = i['port'].first
112
+ vlan = i['vlan']
113
+ chassis = i['chassis'].first
114
+ speed, duplex = port['auto-negotiation'].first['current'].first['content'].split(' - ',2).first.split(/BaseT/i,2)
115
+
116
+ speed = (Integer(speed) * 1000000 rescue nil) # convert to bits
117
+ duplex = case duplex
118
+ when 'FD' then :full
119
+ when 'HD' then :half
120
+ else nil
121
+ end
121
122
 
122
- # port settings
123
- network_lldp[current_iface] = Hash[_format(:port_descr, port['descr'].first['content'])]
123
+ # port settings
124
+ network_lldp[current_iface] = Hash[_format(:port_descr, port['descr'].first['content'])]
124
125
 
125
- network_lldp[current_iface]['port_mac'] = (port['id'].first['content'] rescue nil)
126
- network_lldp[current_iface]['mfs'] = (port['mfs'].first['content'].to_i rescue nil)
127
- network_lldp[current_iface]['speed'] = speed
128
- network_lldp[current_iface]['duplex'] = duplex
126
+ network_lldp[current_iface]['port_mac'] = (port['id'].first['content'] rescue nil)
127
+ network_lldp[current_iface]['mfs'] = (port['mfs'].first['content'].to_i rescue nil)
128
+ network_lldp[current_iface]['speed'] = speed
129
+ network_lldp[current_iface]['duplex'] = duplex
129
130
 
130
- # switch settings
131
- network_lldp[current_iface]['switch'] = (chassis['name'].first['content'] rescue nil)
132
- network_lldp[current_iface]['management_ip'] = (chassis['mgmt-ip'].first['content'] rescue nil)
133
- network_lldp[current_iface]['chassis_mac'] = (chassis['id'].first['content'] rescue nil)
131
+ # switch settings
132
+ network_lldp[current_iface]['switch'] = (chassis['name'].first['content'] rescue nil)
133
+ network_lldp[current_iface]['management_ip'] = (chassis['mgmt-ip'].first['content'] rescue nil)
134
+ network_lldp[current_iface]['chassis_mac'] = (chassis['id'].first['content'] rescue nil)
134
135
 
135
- # Layer 2 / VLAN details
136
- network_lldp[current_iface]['vlan'] = (Integer(vlan.select{|i| i['pvid'] == 'yes' }.first['vlan-id']) rescue nil)
137
- network_lldp[current_iface]['tagged_vlans'] = (vlan.select{|i| i['pvid'] != 'yes' }.collect{|i| Integer(i['vlan-id']) } rescue nil)
136
+ # Layer 2 / VLAN details
137
+ network_lldp[current_iface]['vlan'] = (Integer(vlan.select{|i| i['pvid'] == 'yes' }.first['vlan-id']) rescue nil)
138
+ network_lldp[current_iface]['tagged_vlans'] = (vlan.select{|i| i['pvid'] != 'yes' }.collect{|i| Integer(i['vlan-id']) } rescue nil)
139
+ end
140
+ rescue
141
+ nil
138
142
  end
139
143
 
140
144
  else
@@ -3,6 +3,67 @@
3
3
  #
4
4
 
5
5
  report do
6
+ # ------------------------------------------------------------------------------
7
+ # block devices
8
+ #
9
+ blocks = []
10
+
11
+ Facter.value('blockdevices').split(/\W+/).each do |dev|
12
+
13
+ block = {
14
+ :vendor => Facter.value("blockdevice_#{dev}_vendor"),
15
+ :model => Facter.value("blockdevice_#{dev}_model"),
16
+ :size => (Integer(Facter.value("blockdevice_#{dev}_size")) rescue nil)
17
+ }
18
+
19
+ if File.directory?("/sys/block/#{dev}")
20
+ block[:removable] = (File.read("/sys/block/#{dev}/removable").to_s.chomp.strip == '1' rescue nil)
21
+ block[:readonly] = (File.read("/sys/block/#{dev}/ro").to_s.chomp.strip == '1' rescue nil)
22
+ block[:solidstate] = (File.read("/sys/block/#{dev}/queue/rotational").to_s.chomp.strip == '0' rescue nil)
23
+ block[:sectorsize] = {}
24
+
25
+ %w{
26
+ logical
27
+ physical
28
+ }.each do |s|
29
+ block[:sectorsize][s.to_sym] = (Integer(File.read("/sys/block/#{dev}/queue/#{s}_block_size").chomp.strip) rescue nil)
30
+ end
31
+ end
32
+
33
+ blocks << block.compact
34
+ end
35
+
36
+ # ------------------------------------------------------------------------------
37
+ # partitions
38
+ #
39
+ # partitions = []
40
+
41
+ # begin
42
+ # File.read("/proc/partitions").lines.each do |line|
43
+ # next if line == line.first
44
+ # line = line.chomp.strip
45
+ # next if line.empty?
46
+
47
+ # line = line.split(/\s+/)
48
+
49
+ # # for the moment, just interested in sd devices
50
+ # # numbers sources from /proc/devices
51
+ # #
52
+ # next unless [
53
+ # 8,65,66,67,68,69,70,71,128,129,130,131,132,133,134,135
54
+ # ].include?(line[0].to_i)
55
+
56
+ # # only get numbered partitions (not whole-device entries)
57
+ # next unless line[-1] =~ /^\D+\d+$/
58
+
59
+ # partition = {
60
+ # :name => line[-1],
61
+ # }
62
+ # end
63
+ # rescue
64
+ # nil
65
+ # end
66
+
6
67
  # ------------------------------------------------------------------------------
7
68
  # mounts
8
69
  #
@@ -122,5 +183,7 @@ report do
122
183
 
123
184
  d[:@smart] = Facter.value('smart')
124
185
 
186
+ d[:@block] = blocks unless blocks.empty?
187
+
125
188
  stat :disk, d.compact
126
189
  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.49
4
+ version: 0.0.50
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: &16237640 !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: *16237640
30
25
  description: Base plugins for providing system information via the Onering client
31
26
  utility
32
27
  email: ghetzel@outbrain.com
@@ -34,34 +29,34 @@ 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_haproxy.rb
43
- - lib/reporter/default/properties_network.rb
44
- - lib/reporter/default/properties_physical.rb
45
- - lib/reporter/default/properties_ohai.rb
46
- - lib/reporter/default/stats_zfs.rb
47
- - lib/reporter/default/stats_base.rb
48
- - lib/reporter/default/properties_services.rb
49
- - lib/reporter/default/properties_chef.rb
50
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_netstat.rb
36
+ - lib/facter/onering_properties_services.rb
51
37
  - lib/facter/onering_properties_chef.rb
52
38
  - lib/facter/onering_properties_onering.rb
53
39
  - lib/facter/onering_properties_physical.rb
54
- - lib/facter/onering_properties_xen.rb
55
- - lib/facter/onering_properties_netstat.rb
56
- - lib/facter/onering_properties_services.rb
57
- - lib/facter/onering_properties_virident.rb
58
- - lib/facter/onering_properties_zfs.rb
59
- - lib/facter/onering_properties_network.rb
60
40
  - lib/facter/onering_properties_system.rb
61
41
  - lib/facter/onering_properties_id.rb
62
- - lib/facter/onering_disk_smart.rb
63
42
  - lib/facter/onering_properties_haproxy.rb
43
+ - lib/facter/onering_disk_smart.rb
44
+ - lib/facter/onering_properties_zfs.rb
45
+ - lib/facter/onering_properties_xen.rb
64
46
  - lib/etc/facter.list
47
+ - lib/reporter/default/properties_physical.rb
48
+ - lib/reporter/default/properties_facter.rb
49
+ - lib/reporter/default/stats_disk.rb
50
+ - lib/reporter/default/stats_zfs.rb
51
+ - lib/reporter/default/properties_openvz.rb
52
+ - lib/reporter/default/properties_xen.rb
53
+ - lib/reporter/default/properties_chef.rb
54
+ - lib/reporter/default/stats_virident.rb
55
+ - lib/reporter/default/properties_ohai.rb
56
+ - lib/reporter/default/properties_haproxy.rb
57
+ - lib/reporter/default/properties_network.rb
58
+ - lib/reporter/default/properties_services.rb
59
+ - lib/reporter/default/stats_base.rb
65
60
  homepage: https://github.com/outbrain/onering-report-plugins
66
61
  licenses: []
67
62
  post_install_message:
@@ -82,7 +77,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
82
77
  version: '0'
83
78
  requirements: []
84
79
  rubyforge_project:
85
- rubygems_version: 1.8.23
80
+ rubygems_version: 1.8.11
86
81
  signing_key:
87
82
  specification_version: 3
88
83
  summary: Onering system reporting plugins