summaryrefslogtreecommitdiff
path: root/puppet/modules/systemd/lib/facter/systemd.rb
diff options
context:
space:
mode:
authorvarac <varacanero@zeromail.org>2017-01-16 14:39:14 +0100
committervarac <varacanero@zeromail.org>2017-01-18 18:44:21 +0100
commit0117808a130c36f14f5b86879b52ed7ce2fa6d57 (patch)
treee26d0aec9b57eb3dd2b3544534e0d2c0a11cdf93 /puppet/modules/systemd/lib/facter/systemd.rb
parentb4df96ee1d654b4f56fe901e548e4a80207b60d9 (diff)
git subrepo clone --force https://leap.se/git/puppet_systemd puppet/modules/systemd
subrepo: subdir: "puppet/modules/systemd" merged: "f3c4059" upstream: origin: "https://leap.se/git/puppet_systemd" branch: "master" commit: "f3c4059" git-subrepo: version: "0.3.0" origin: "https://github.com/ingydotnet/git-subrepo.git" commit: "841aa43"
Diffstat (limited to 'puppet/modules/systemd/lib/facter/systemd.rb')
-rw-r--r--puppet/modules/systemd/lib/facter/systemd.rb35
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