Fix novajoin-ipa-setup to set logging correctly
In freeipa f62a0fdb904d2a4bb1961847e240dbb6df3b0b67 the IPA client library was modified to remove the log_manager. This patch fixes the novajoin code for all versions of IPA. See rhbz# 1644747 Co-Authored-By: Juan Antonio Osorio Robles <jaosorior@redhat.com> Co-Authored-By: Grzegorz Grasza <xek@redhat.com> Change-Id: I2da12bedfc8790ebd1005c98f2e05953d127b3b9
This commit is contained in:
parent
83fa9bbe82
commit
b74cae51e3
|
@ -155,8 +155,11 @@ class NovajoinRole(object):
|
|||
except Exception as e:
|
||||
raise ConfigurationError("get_ca_certs() error: %s" % e)
|
||||
|
||||
certs = [x509.load_certificate(c[0], x509.DER) for c in certs
|
||||
if c[2] is not False]
|
||||
if version.NUM_VERSION < 40600:
|
||||
certs = [x509.load_certificate(c[0], x509.DER) for c in certs
|
||||
if c[2] is not False]
|
||||
else:
|
||||
certs = [c[0] for c in certs if c[2] is not False]
|
||||
|
||||
return certs
|
||||
|
||||
|
@ -200,8 +203,9 @@ class NovajoinRole(object):
|
|||
os.close(cafile_fd)
|
||||
|
||||
ca_certs = self._get_ca_certs(server, realm)
|
||||
ca_certs = [cert.public_bytes(serialization.Encoding.PEM)
|
||||
for cert in ca_certs]
|
||||
if version.NUM_VERSION < 40600:
|
||||
ca_certs = [cert.public_bytes(serialization.Encoding.PEM)
|
||||
for cert in ca_certs]
|
||||
x509.write_certificate_list(ca_certs, cafile_name)
|
||||
|
||||
return cafile_name
|
||||
|
|
|
@ -28,10 +28,8 @@ import testtools
|
|||
import time
|
||||
import uuid
|
||||
|
||||
|
||||
from ipapython.ipa_log_manager import log_mgr
|
||||
|
||||
from ipalib import api
|
||||
from ipapython import version
|
||||
import six
|
||||
|
||||
from novajoin import config
|
||||
|
@ -58,9 +56,14 @@ class TestIPAService(testtools.TestCase):
|
|||
CONF.keytab = '/tmp/test.keytab'
|
||||
super(TestIPAService, self).setUp()
|
||||
self.ipaclient = IPAClient()
|
||||
|
||||
# suppress the Forwarding messages from ipa
|
||||
console = log_mgr.get_handler('console')
|
||||
console.setLevel(logging.WARN)
|
||||
# This is not needed in versions newer than 4.7
|
||||
if version.NUM_VERSION < 40600:
|
||||
from ipapython.ipa_log_manager import log_mgr
|
||||
console = log_mgr.get_handler('console')
|
||||
console.setLevel(logging.WARN)
|
||||
|
||||
if hostname is None:
|
||||
hostname = six.text_type(str(uuid.uuid4()) + '.' + api.env.domain)
|
||||
os.environ['KRB5_CONFIG'] = 'krb5.conf'
|
||||
|
|
|
@ -20,7 +20,6 @@ import shutil
|
|||
import sys
|
||||
from ipalib import api, errors
|
||||
from ipapython import version
|
||||
from ipapython.ipa_log_manager import log_mgr
|
||||
from novajoin import configure_ipa
|
||||
from novajoin.errors import ConfigurationError
|
||||
|
||||
|
@ -67,8 +66,11 @@ if __name__ == '__main__':
|
|||
and opts.realm and opts.server)
|
||||
|
||||
# suppress the Forwarding messages from ipa
|
||||
console = log_mgr.get_handler('console')
|
||||
console.setLevel(logging.WARN)
|
||||
# This is not needed in versions newer than 4.7
|
||||
if version.NUM_VERSION < 40600:
|
||||
from ipapython.ipa_log_manager import log_mgr
|
||||
console = log_mgr.get_handler('console')
|
||||
console.setLevel(logging.WARN)
|
||||
|
||||
novajoin = configure_ipa.NovajoinRole(user=opts.user,
|
||||
hostname=opts.hostname)
|
||||
|
|
Loading…
Reference in New Issue