diff options
author | Rob Crittenden <rcritten@redhat.com> | 2018-02-04 11:40:24 -0500 |
---|---|---|
committer | Christian Heimes <cheimes@redhat.com> | 2018-02-08 09:39:18 +0100 |
commit | 8821f7ae8e666b4ae42e232c672d616bf7fbffeb (patch) | |
tree | b8c8755f1d90d103eac3babe4e6d37a68a4940c1 | |
parent | 2391c75e3d7efcdc5c2f49defa5138fc7e6def06 (diff) | |
download | freeipa-8821f7ae8e666b4ae42e232c672d616bf7fbffeb.tar.gz freeipa-8821f7ae8e666b4ae42e232c672d616bf7fbffeb.tar.xz freeipa-8821f7ae8e666b4ae42e232c672d616bf7fbffeb.zip |
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>
-rw-r--r-- | ipaserver/install/server/upgrade.py | 4 | ||||
-rw-r--r-- | ipatests/test_integration/test_upgrade.py | 21 |
2 files changed, 23 insertions, 2 deletions
diff --git a/ipaserver/install/server/upgrade.py b/ipaserver/install/server/upgrade.py index 07cc18a78..23173c0ca 100644 --- a/ipaserver/install/server/upgrade.py +++ b/ipaserver/install/server/upgrade.py @@ -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') diff --git a/ipatests/test_integration/test_upgrade.py b/ipatests/test_integration/test_upgrade.py new file mode 100644 index 000000000..951747b0b --- /dev/null +++ b/ipatests/test_integration/test_upgrade.py @@ -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 |