--- 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