Sha256: c5d3249a2c58ae8b6b11ee129d1229b72e3326af64f5be3e543b340f72463f29

Contents?: true

Size: 1.3 KB

Versions: 10

Compression:

Stored size: 1.3 KB

Contents

report do
# ------------------------------------------------------------------------------
# block devices
#
  blocks = []

  Facter.value('blockdevices').to_s.split(/\W+/).each do |dev|

    block = {
      :name   => dev,
      :device => (File.exists?("/dev/#{dev}") ? "/dev/#{dev}" : nil)
    }

    if File.directory?("/sys/block/#{dev}")
      block[:vendor]     = (%x{cat /sys/block/#{dev}/device/vendor 2> /dev/null}.to_s.strip.chomp rescue nil)
      block[:model]      = (%x{cat /sys/block/#{dev}/device/model 2> /dev/null}.to_s.strip.chomp rescue nil)
      block[:size]       = ((Integer(%x{cat /sys/block/#{dev}/size 2> /dev/null}.to_s.strip.chomp) * 512) rescue nil)
      block[:removable]  = (%x{cat /sys/block/#{dev}/removable 2> /dev/null}.to_s.chomp.strip == '1' rescue nil)
      block[:readonly]   = (%x{cat /sys/block/#{dev}/ro 2> /dev/null}.to_s.chomp.strip == '1' rescue nil)
      block[:solidstate] = (%x{cat /sys/block/#{dev}/queue/rotational 2> /dev/null}.to_s.chomp.strip == '0' rescue nil)
      block[:sectorsize] = {}

      %w{
        logical
        physical
      }.each do |s|
        block[:sectorsize][s.to_sym] = (Integer(%x{cat /sys/block/#{dev}/queue/#{s}_block_size 2> /dev/null}.chomp.strip) rescue nil)
      end
    end

    blocks << block.compact
  end

  stat 'disk.@block', blocks
end

Version data entries

10 entries across 10 versions & 2 rubygems

Version Path
onering-report-0.6.13 lib/reporter/default/properties_system_disk_block.rb
onering-report-0.6.12 lib/reporter/default/properties_system_disk_block.rb
onering-report-0.6.11 lib/reporter/default/properties_system_disk_block.rb
onering-report-0.6.10 lib/reporter/default/properties_system_disk_block.rb
onering-report-0.6.9 lib/reporter/default/properties_system_disk_block.rb
onering-report-0.6.8 lib/reporter/default/properties_system_disk_block.rb
onering-report-0.6.7 lib/reporter/default/properties_system_disk_block.rb
onering-report-0.6.6 lib/reporter/default/properties_system_disk_block.rb
onering-report-0.6.5 lib/reporter/default/properties_system_disk_block.rb
onering-report-plugins-0.0.65 lib/reporter/default/properties_system_disk_block.rb