diff --git a/novajoin/ipa.py b/novajoin/ipa.py index f96f450..5817f4c 100644 --- a/novajoin/ipa.py +++ b/novajoin/ipa.py @@ -20,13 +20,22 @@ try: from gssapi.exceptions import GSSError from ipalib import api from ipalib import errors - from ipapython.ipautil import kinit_keytab ipalib_imported = True except ImportError: # ipalib/ipapython are not available in PyPy yet, don't make it # a showstopper for the tests. ipalib_imported = False +if ipalib_imported: + try: + from ipapython.ipautil import kinit_keytab + except ImportError: + # The import moved in freeIPA 4.5.0 + try: + from ipalib.install.kinit import kinit_keytab + except ImportError: + ipalib_imported = False + from novajoin.util import get_domain from oslo_config import cfg from oslo_log import log as logging diff --git a/novajoin/util.py b/novajoin/util.py index a6c321b..1d4fc90 100644 --- a/novajoin/util.py +++ b/novajoin/util.py @@ -18,13 +18,9 @@ from novajoin.errors import ConfigurationError from oslo_config import cfg from oslo_log import log as logging -try: +from novajoin.ipa import ipalib_imported +if ipalib_imported: from ipalib import api - ipalib_imported = True -except ImportError: - # ipalib/ipapython are not available in PyPi yet, don't make it - # a showstopper for the tests. - ipalib_imported = False CONF = cfg.CONF