diff options
author | Yanis Guenane <yanis.guenane@enovance.com> | 2015-03-12 10:17:33 +0100 |
---|---|---|
committer | Julien Pivotto <roidelapluie@inuits.eu> | 2016-02-19 09:13:48 +0100 |
commit | e2ef15480abaf5a10404ec4c2c049d82aae47b68 (patch) | |
tree | cb2e48b8c3e40f739c20ca76cb11c403100da6ba | |
parent | 6d47fd4999fe03eba6fb11c4490dcbb90d937900 (diff) |
(FACT-852) Support for systemd and systemd_version
This commit adds support for systemd and systemd_version facts.
-rw-r--r-- | lib/facter/systemd.rb | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/lib/facter/systemd.rb b/lib/facter/systemd.rb new file mode 100644 index 0000000..3ac0a1e --- /dev/null +++ b/lib/facter/systemd.rb @@ -0,0 +1,39 @@ +# 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 + result = false + init_process_name = Facter::Core::Execution.exec('ps -p 1 -o comm=') + if init_process_name.eql? 'systemd' + result = true + end + end +end + +Facter.add(:systemd_version) do + confine :systemd => true + setcode do + version = Facter::Core::Execution.exec("systemctl --version | grep 'systemd' | awk '{ print $2 }'") + end +end |