replica install: fix thin client regression

Fix a regression introduced by commit
3157eec28f.

https://fedorahosted.org/freeipa/ticket/4739
https://fedorahosted.org/freeipa/ticket/5985

Reviewed-By: Martin Basti <mbasti@redhat.com>
Reviewed-By: David Kupka <dkupka@redhat.com>
This commit is contained in:
Jan Cholasta 2016-06-20 13:50:23 +02:00 committed by Martin Basti
parent 8cc8b6fb10
commit 91d6d87ca7

View File

@ -1310,37 +1310,44 @@ def promote(installer):
ccache = os.environ['KRB5CCNAME'] ccache = os.environ['KRB5CCNAME']
remote_api = installer._remote_api remote_api = installer._remote_api
conn = remote_api.Backend.ldap2 conn = remote_api.Backend.ldap2
try: if installer._add_to_ipaservers:
conn.connect(ccache=installer._ccache) try:
conn.connect(ccache=installer._ccache)
if installer._add_to_ipaservers:
remote_api.Command['hostgroup_add_member']( remote_api.Command['hostgroup_add_member'](
u'ipaservers', u'ipaservers',
host=[unicode(api.env.host)], host=[unicode(api.env.host)],
) )
finally:
if conn.isconnected():
conn.disconnect()
os.environ['KRB5CCNAME'] = ccache
# Save client file and merge in server directives # Save client file and merge in server directives
target_fname = paths.IPA_DEFAULT_CONF target_fname = paths.IPA_DEFAULT_CONF
fstore.backup_file(target_fname) fstore.backup_file(target_fname)
ipaconf = ipaclient.ipachangeconf.IPAChangeConf("IPA Replica Promote") ipaconf = ipaclient.ipachangeconf.IPAChangeConf("IPA Replica Promote")
ipaconf.setOptionAssignment(" = ") ipaconf.setOptionAssignment(" = ")
ipaconf.setSectionNameDelimiters(("[", "]")) ipaconf.setSectionNameDelimiters(("[", "]"))
config.promote = installer.promote config.promote = installer.promote
config.dirman_password = hexlify(ipautil.ipa_generate_password()) config.dirman_password = hexlify(ipautil.ipa_generate_password())
# FIXME: allow to use passed in certs instead # FIXME: allow to use passed in certs instead
if installer._ca_enabled: if installer._ca_enabled:
configure_certmonger() configure_certmonger()
# Create DS user/group if it doesn't exist yet # Create DS user/group if it doesn't exist yet
dsinstance.create_ds_user() dsinstance.create_ds_user()
# Configure ntpd # Configure ntpd
if not options.no_ntp: if not options.no_ntp:
ipaclient.ntpconf.force_ntpd(sstore) ipaclient.ntpconf.force_ntpd(sstore)
ntp = ntpinstance.NTPInstance() ntp = ntpinstance.NTPInstance()
ntp.create_instance() ntp.create_instance()
try:
conn.connect(ccache=ccache)
# Configure dirsrv # Configure dirsrv
ds = install_replica_ds(config, options, installer._ca_enabled, ds = install_replica_ds(config, options, installer._ca_enabled,
@ -1360,7 +1367,6 @@ def promote(installer):
finally: finally:
if conn.isconnected(): if conn.isconnected():
conn.disconnect() conn.disconnect()
os.environ['KRB5CCNAME'] = ccache
# Create the management framework config file # Create the management framework config file
# do this regardless of the state of DS installation. Even if it fails, # do this regardless of the state of DS installation. Even if it fails,