diff --git a/ipaserver/install/cainstance.py b/ipaserver/install/cainstance.py index aec7b8a42..1d8a3034e 100644 --- a/ipaserver/install/cainstance.py +++ b/ipaserver/install/cainstance.py @@ -480,7 +480,12 @@ class CAInstance(DogtagInstance): try: self.start_creation(runtime=runtime) finally: - self.clean_pkispawn_files() + if self.external == 1: + # Don't remove client DB in external CA step 1 + # https://pagure.io/freeipa/issue/7742 + logger.debug("Keep pkispawn files for step 2") + else: + self.clean_pkispawn_files() def __spawn_instance(self): """ diff --git a/ipaserver/install/dogtaginstance.py b/ipaserver/install/dogtaginstance.py index e71bf2900..142a8c0d7 100644 --- a/ipaserver/install/dogtaginstance.py +++ b/ipaserver/install/dogtaginstance.py @@ -167,11 +167,13 @@ class DogtagInstance(service.Service): def clean_pkispawn_files(self): if self.tmp_agent_db is not None: + logger.debug("Removing %s", self.tmp_agent_db) shutil.rmtree(self.tmp_agent_db, ignore_errors=True) - shutil.rmtree('/root/.dogtag/pki-tomcat/{subsystem}/' - .format(subsystem=self.subsystem.lower()), - ignore_errors=True) + client_dir = os.path.join( + '/root/.dogtag/pki-tomcat/', self.subsystem.lower()) + logger.debug("Removing %s", client_dir) + shutil.rmtree(client_dir, ignore_errors=True) def restart_instance(self): self.restart('pki-tomcat')