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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
# File 'manifests/facts.pp', line 1
class system::facts (
$config = undef,
$cleanold = false,
$schedule = $::system::schedule,
) {
if ! defined(File['/etc/facter']) {
file { '/etc/facter':
ensure => directory,
owner => 'root',
group => 'root',
mode => '0755',
}
}
if ! defined(File['/etc/facter/facts.d']) {
file { '/etc/facter/facts.d':
ensure => directory,
owner => 'root',
group => 'root',
mode => '0755',
require => File['/etc/facter'],
}
}
include concat::setup
concat { '/etc/facter/facts.d/system_facts.yaml':
owner => 'root',
group => 'root',
mode => '0644',
require => File['/etc/facter/facts.d'],
}
concat::fragment { 'system_facts_header':
target => '/etc/facter/facts.d/system_facts.yaml',
content => "---\n",
order => '01',
}
$defaults = {
schedule => $schedule,
}
if $config {
create_resources('system::fact', $config, $defaults)
}
else {
$hiera_config = hiera_hash('system::facts', undef)
if $hiera_config {
create_resources('system::fact', $hiera_config, $defaults)
}
}
if $cleanold {
# Clean up facts from old locations
$sh_filename = '/etc/profile.d/custom_facts.sh'
$csh_filename = '/etc/profile.d/custom_facts.csh'
file { [ $sh_filename, $csh_filename ]:
ensure => absent,
}
exec { "fact-remove-sysconfig-puppet":
command => "/usr/bin/perl -pi -e 's/^\s*#?\s*(export )?FACTER_.*?=.*?$//' /etc/sysconfig/puppet",
onlyif => '/bin/grep -q FACTER_ /etc/sysconfig/puppet',
schedule => $schedule,
}
}
}
|