integ/config/facter/centos/patches/0002-personality.patch

94 lines
2.1 KiB
Diff

---
lib/facter/personality.rb | 21 ++++++++++++++++++
lib/facter/subfunction.rb | 61 ++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 82 insertions(+)
--- /dev/null
+++ b/lib/facter/personality.rb
@@ -0,0 +1,21 @@
+#
+# personality.rb
+#
+# This fact gives the personality of this node.
+#
+require 'facter/util/file_read'
+
+Facter.add('personality') do
+ confine :kernel => :linux
+
+ setcode do
+ if release = Facter::Util::FileRead.read('/etc/platform/platform.conf')
+ if match = release.match(/^nodetype\=(.*)/)
+ match[1]
+ end
+ end
+ end
+end
+
+# vim: set ts=2 sw=2 et :
+# encoding: utf-8
--- /dev/null
+++ b/lib/facter/subfunction.rb
@@ -0,0 +1,61 @@
+#
+# subfunction.rb
+#
+# This fact gives the subfunction of this node.
+#
+require 'facter/util/file_read'
+
+Facter.add('subfunction') do
+ confine :kernel => :linux
+
+ setcode do
+ if release = Facter::Util::FileRead.read('/etc/platform/platform.conf')
+ if match = release.match(/^subfunction\=(.*)/)
+ match[1]
+ end
+ end
+ end
+end
+
+Facter.add('is_worker_subfunction') do
+ confine :kernel => :linux
+
+ setcode do
+ if release = Facter::Util::FileRead.read('/etc/platform/platform.conf')
+ match = release.match(/^subfunction\=.*worker/) ? true : false
+ end
+ end
+end
+
+Facter.add('is_controller_subfunction') do
+ confine :kernel => :linux
+
+ setcode do
+ if release = Facter::Util::FileRead.read('/etc/platform/platform.conf')
+ match = release.match(/^subfunction\=.*controller/) ? true : false
+ end
+ end
+end
+
+Facter.add('is_storage_subfunction') do
+ confine :kernel => :linux
+
+ setcode do
+ if release = Facter::Util::FileRead.read('/etc/platform/platform.conf')
+ match = release.match(/^subfunction\=.*storage/) ? true : false
+ end
+ end
+end
+
+Facter.add('is_lowlatency_subfunction') do
+ confine :kernel => :linux
+
+ setcode do
+ if release = Facter::Util::FileRead.read('/etc/platform/platform.conf')
+ match = release.match(/^subfunction\=.*lowlatency/) ? true : false
+ end
+ end
+end
+
+# vim: set ts=2 sw=2 et :
+# encoding: utf-8