summaryrefslogtreecommitdiff
path: root/modules/syslinux/lib/facter/partid.rb
diff options
context:
space:
mode:
Diffstat (limited to 'modules/syslinux/lib/facter/partid.rb')
-rw-r--r--modules/syslinux/lib/facter/partid.rb16
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