summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYanis Guenane <yanis.guenane@enovance.com>2015-03-12 10:17:33 +0100
committerJulien Pivotto <roidelapluie@inuits.eu>2016-02-19 09:13:48 +0100
commite2ef15480abaf5a10404ec4c2c049d82aae47b68 (patch)
treecb2e48b8c3e40f739c20ca76cb11c403100da6ba
parent6d47fd4999fe03eba6fb11c4490dcbb90d937900 (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.rb39
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