Sha256: 1f6a066c861dac29b1b5ef62b438ce4b0e43a462295e1002c0559ee6a7efb051

Contents?: true

Size: 1.32 KB

Versions: 9

Compression:

Stored size: 1.32 KB

Contents

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

  Facter.value('blockdevices').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 unless blocks.empty?
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
onering-report-plugins-0.0.64 lib/reporter/default/properties_system_disk_block.rb
onering-report-plugins-0.0.63 lib/reporter/default/properties_system_disk_block.rb
onering-report-plugins-0.0.62 lib/reporter/default/properties_system_disk_block.rb
onering-report-plugins-0.0.61 lib/reporter/default/properties_system_disk_block.rb
onering-report-plugins-0.0.60 lib/reporter/default/properties_system_disk_block.rb
onering-report-plugins-0.0.59 lib/reporter/default/properties_system_disk_block.rb
onering-report-plugins-0.0.58 lib/reporter/default/properties_system_disk_block.rb
onering-report-plugins-0.0.57 lib/reporter/default/properties_system_disk_block.rb
onering-report-plugins-0.0.56 lib/reporter/default/properties_system_disk_block.rb