upgradeinstance: ldap conn management

connect/disconnect api.Backend.ldap2 connection when directory
server is started/stopped

https://fedorahosted.org/freeipa/ticket/6461

Reviewed-By: Martin Basti <mbasti@redhat.com>
Reviewed-By: Jan Cholasta <jcholast@redhat.com>
This commit is contained in:
Tomas Krizek 2016-10-26 14:00:29 +02:00 committed by Martin Basti
parent 8934d03b3b
commit e8aa2627c7

View File

@ -21,6 +21,7 @@ import ldif
import shutil import shutil
import random import random
import traceback import traceback
from ipalib import api
from ipaplatform.paths import paths from ipaplatform.paths import paths
from ipaplatform import services from ipaplatform import services
from ipapython.ipa_log_manager import root_logger from ipapython.ipa_log_manager import root_logger
@ -92,10 +93,12 @@ class IPAUpgrade(service.Service):
def __start(self): def __start(self):
services.service(self.service_name).start(self.serverid, ldapi=True) services.service(self.service_name).start(self.serverid, ldapi=True)
api.Backend.ldap2.connect()
def __stop_instance(self): def __stop_instance(self):
"""Stop only the main DS instance""" """Stop only the main DS instance"""
super(IPAUpgrade, self).stop(self.serverid) super(IPAUpgrade, self).stop(self.serverid)
api.Backend.ldap2.disconnect()
def create_instance(self): def create_instance(self):
ds_running = super(IPAUpgrade, self).is_running() ds_running = super(IPAUpgrade, self).is_running()
@ -114,7 +117,7 @@ class IPAUpgrade(service.Service):
self.step("restoring configuration", self.__restore_config, self.step("restoring configuration", self.__restore_config,
run_after_failure=True) run_after_failure=True)
if ds_running: if ds_running:
self.step("starting directory server", self.start) self.step("starting directory server", self.__start)
self.start_creation(start_message="Upgrading IPA:", self.start_creation(start_message="Upgrading IPA:",
show_service_name=False) show_service_name=False)