diff options
Diffstat (limited to 'puppet/modules/systemd/lib/facter')
| -rw-r--r-- | puppet/modules/systemd/lib/facter/systemd.rb | 35 | 
1 files changed, 35 insertions, 0 deletions
diff --git a/puppet/modules/systemd/lib/facter/systemd.rb b/puppet/modules/systemd/lib/facter/systemd.rb new file mode 100644 index 00000000..4361f775 --- /dev/null +++ b/puppet/modules/systemd/lib/facter/systemd.rb @@ -0,0 +1,35 @@ +# Fact: systemd +# +# Purpose:  +#   Determine whether SystemD is the init system on the node +# +# Resolution: +#   Check the name of the process 1 (ps -p 1) +# +# Caveats: +# + +# Fact: systemd-version +# +# Purpose:  +#   Determine the version of systemd installed +# +# Resolution: +#  Check the output of systemctl --version +# +# Caveats: +# + +Facter.add(:systemd) do +  confine :kernel => :linux +  setcode do +    Facter::Util::Resolution.exec('ps -p 1 -o comm=') == 'systemd' +  end +end + +Facter.add(:systemd_version) do +  confine :systemd => true +  setcode do +    Facter::Util::Resolution.exec("systemctl --version | awk '/systemd/{ print $2 }'") +  end +end  | 
