Skip to content

Commit 0d06d2e

Browse files
committed
Fixes #29649 - Drop default_server argument in IPA
ipa-getkeytab can figure out the default server on its own[1]. There is no need to specify it and can even break things. For example, DNS can be used to detect servers. Then the fact is empty and it fails while the command would actually pass. The foreman_ipa fact is removed since it's a major version bump anyway and nothing else should use our foreman_ipa fact. [1] #880 (comment)
1 parent b759778 commit 0d06d2e

File tree

4 files changed

+2
-37
lines changed

4 files changed

+2
-37
lines changed

lib/facter/sssd.rb

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,6 @@
11
require 'facter/util/sssd'
22

33
if defined? Facter::Util::Sssd
4-
# == Fact: foreman_ipa
5-
Facter.add(:foreman_ipa, :type => :aggregate) do
6-
{
7-
:default_realm => 'global/realm',
8-
:default_server => 'global/server',
9-
}.each do |key, path|
10-
chunk(key) do
11-
val = Facter::Util::Sssd.ipa_value(path)
12-
{key => val} if val
13-
end
14-
end
15-
end
16-
174
# == Fact: foreman_sssd
185
Facter.add(:foreman_sssd, :type => :aggregate) do
196
{

lib/facter/util/sssd.rb

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,6 @@ def self.aug_value(lens, file, path)
1111
end
1212
end
1313

14-
def self.ipa_value(path)
15-
aug_value('Puppet.lns', '/etc/ipa/default.conf', path)
16-
end
17-
1814
def self.sssd_value(path)
1915
val = aug_value('Sssd.lns', '/etc/sssd/sssd.conf', path)
2016
val.split(',').map(&:strip) if val

manifests/config.pp

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -126,10 +126,6 @@
126126
$foreman_socket_override = template('foreman/foreman.socket-overrides.erb')
127127

128128
if $foreman::ipa_authentication {
129-
unless fact('foreman_ipa.default_server') {
130-
fail("${facts['networking']['hostname']}: The system does not seem to be IPA-enrolled")
131-
}
132-
133129
if $facts['os']['selinux']['enabled'] {
134130
selboolean { ['allow_httpd_mod_auth_pam', 'httpd_dbus_sssd']:
135131
persistent => true,
@@ -158,7 +154,7 @@
158154
exec { 'ipa-getkeytab':
159155
command => "/bin/echo Get keytab \
160156
&& KRB5CCNAME=KEYRING:session:get-http-service-keytab kinit -k \
161-
&& KRB5CCNAME=KEYRING:session:get-http-service-keytab /usr/sbin/ipa-getkeytab -s ${facts['foreman_ipa']['default_server']} -k ${http_keytab} -p HTTP/${facts['networking']['fqdn']} \
157+
&& KRB5CCNAME=KEYRING:session:get-http-service-keytab /usr/sbin/ipa-getkeytab -k ${http_keytab} -p HTTP/${facts['networking']['fqdn']} \
162158
&& kdestroy -c KEYRING:session:get-http-service-keytab",
163159
creates => $http_keytab,
164160
}
@@ -182,7 +178,7 @@
182178

183179

184180
if $foreman::ipa_manage_sssd {
185-
$sssd = $facts['foreman_sssd']
181+
$sssd = pick(fact('foreman_sssd'), {})
186182
$sssd_services = join(unique(pick($sssd['services'], []) + ['ifp']), ', ')
187183
$sssd_ldap_user_extra_attrs = join(unique(pick($sssd['ldap_user_extra_attrs'], []) + ['email:mail', 'lastname:sn', 'firstname:givenname']), ', ')
188184
$sssd_allowed_uids = join(unique(pick($sssd['allowed_uids'], []) + [$apache::user, 'root']), ', ')

spec/classes/foreman_config_ipa_spec.rb

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -16,23 +16,9 @@
1616
context 'with apache' do
1717
let(:params) { super().merge(apache: true) }
1818

19-
describe 'not IPA-enrolled system' do
20-
describe 'ipa_server fact missing' do
21-
it { should raise_error(Puppet::Error, /The system does not seem to be IPA-enrolled/) }
22-
end
23-
24-
describe 'default_ipa_realm fact missing' do
25-
it { should raise_error(Puppet::Error, /The system does not seem to be IPA-enrolled/) }
26-
end
27-
end
28-
2919
describe 'enrolled system' do
3020
let(:facts) do
3121
super().merge(
32-
foreman_ipa: {
33-
default_server: 'ipa.example.com',
34-
default_realm: 'REALM'
35-
},
3622
foreman_sssd: {
3723
services: ['ifp']
3824
}

0 commit comments

Comments
 (0)