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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
|
# File 'manifests/install/client.pp', line 2
class easy_ipa::install::client {
package{ 'ipa-client':
ensure => $::easy_ipa::params::ipa_client_package_ensure,
name => $::easy_ipa::params::ipa_client_package_name,
}
package{ $::easy_ipa::params::kstart_package_name:
ensure => present,
}
if $easy_ipa::client_install_ldaputils {
package { $::easy_ipa::params::ldaputils_package_name:
ensure => present,
}
}
if $easy_ipa::mkhomedir {
$client_install_cmd_opts_mkhomedir = '--mkhomedir'
} else {
$client_install_cmd_opts_mkhomedir = ''
}
if $easy_ipa::fixed_primary {
$client_install_cmd_opts_fixed_primary = '--fixed-primary'
} else {
$client_install_cmd_opts_fixed_primary = ''
}
if $easy_ipa::configure_ntp {
$client_install_cmd_opts_no_ntp = ''
} else {
$client_install_cmd_opts_no_ntp = '--no-ntp'
}
if $easy_ipa::configure_sshd {
$client_install_cmd_opts_no_sshd = ''
} else {
$client_install_cmd_opts_no_sshd = '--no-sshd'
}
if $easy_ipa::enable_hostname {
$client_install_cmd_opts_hostname = "--hostname=${::fqdn}"
} else {
$client_install_cmd_opts_hostname = ''
}
$client_install_cmd = "\
/usr/sbin/ipa-client-install \
--server=${easy_ipa::ipa_master_fqdn} \
--realm=${easy_ipa::final_realm} \
--domain=${easy_ipa::domain} \
--principal='${easy_ipa::final_domain_join_principal}' \
--password='${easy_ipa::final_domain_join_password}' \
${client_install_cmd_opts_hostname} \
${client_install_cmd_opts_mkhomedir} \
${client_install_cmd_opts_fixed_primary} \
${client_install_cmd_opts_no_ntp} \
${client_install_cmd_opts_no_sshd} \
--unattended"
# Some platforms require "manual" setup as they don't have the freeipa-client
# package.
#
if $::easy_ipa::params::ipa_client_package_ensure == 'present' {
exec { "client_install_${::fqdn}":
command => $client_install_cmd,
timeout => 0,
unless => "cat /etc/ipa/default.conf | grep -i \"${easy_ipa::domain}\"",
creates => '/etc/ipa/default.conf',
logoutput => 'on_failure',
before => Service['sssd'],
provider => 'shell',
}
} else {
include ::easy_ipa::install::client::manual
}
if $facts['os']['family'] == 'Debian' and $::easy_ipa::mkhomedir {
include ::easy_ipa::install::client::debian
}
if $easy_ipa::install_sssd {
service { 'sssd':
ensure => 'running',
enable => true,
require => Package[$::easy_ipa::params::sssd_package_name],
}
}
}
|