Fix detection of KRA installation so upgrades can succeed

Use is_installed() instead of is_configured() because
is_installed() does a config file check to see if the service
is in use.

https://pagure.io/freeipa/issue/7389

Signed-off-by: Rob Crittenden <rcritten@redhat.com>
Reviewed-By: Florence Blanc-Renaud <flo@redhat.com>
This commit is contained in:
Rob Crittenden
2018-02-04 11:40:24 -05:00
committed by Christian Heimes
parent 2391c75e3d
commit 8821f7ae8e
2 changed files with 23 additions and 2 deletions

View File

@@ -1710,7 +1710,7 @@ def upgrade_configuration():
)
upgrade_pki(ca, fstore)
if kra.is_configured():
if kra.is_installed():
logger.info('[Ensuring ephemeralRequest is enabled in KRA]')
kra.backup_config()
value = installutils.get_directive(
@@ -1728,7 +1728,7 @@ def upgrade_configuration():
# by checking status using http
if ca.is_configured():
ca.start('pki-tomcat')
if kra.is_configured() and not kra.is_running():
if kra.is_installed() and not kra.is_running():
# This is for future-proofing in case the KRA is ever standalone.
kra.start('pki-tomcat')

View File

@@ -0,0 +1,21 @@
#
# Copyright (C) 2018 FreeIPA Contributors see COPYING for license
#
"""
Module provides tests to verify that the upgrade script works.
"""
from ipatests.test_integration.base import IntegrationTest
from ipatests.pytest_plugins.integration import tasks
class TestUpgrade(IntegrationTest):
@classmethod
def install(cls, mh):
tasks.install_master(cls.master, setup_dns=False)
def test_invoke_upgrader(self):
cmd = self.master.run_command(['ipa-server-upgrade'],
raiseonerr=False)
assert cmd.returncode == 0