summaryrefslogtreecommitdiff
path: root/puppet/modules/systemd/lib/facter/systemd.rb
blob: 4361f77589d2a64ebd1a6128f7c537a4aad5d57a (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::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