diff options
Diffstat (limited to 'modules/syslinux/lib/facter/partid.rb')
-rw-r--r-- | modules/syslinux/lib/facter/partid.rb | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/modules/syslinux/lib/facter/partid.rb b/modules/syslinux/lib/facter/partid.rb new file mode 100644 index 0000000..53fc37c --- /dev/null +++ b/modules/syslinux/lib/facter/partid.rb @@ -0,0 +1,16 @@ +Facter.add('partinfo') do + setcode do + obj = {} + Dir.entries('/sys/class/block/').each do |entry| + if entry == '.' or entry == '..' then next end + path = "/sys/class/block/#{entry}/partition" + if File.file?(path) then + obj[entry] = { + 'partid' => File.read(path).strip(), + 'device' => File.basename(File.dirname(File.readlink("/sys/class/block/#{entry}"))), + } + end + end + obj + end +end |