summaryrefslogtreecommitdiff
path: root/lib/facter/systemd.rb
blob: b4b11fbf95b243e06e9e7a7e1cefe1fbbf0922c5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
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::Core::Execution.exec('ps -p 1 -o comm=') == 'systemd'
  end
end

Facter.add(:systemd_version) do
  confine :systemd => true
  setcode do
    Facter::Core::Execution.exec("systemctl --version | grep 'systemd' | awk '{ print $2 }'")
  end
end