Blob Blame History Raw
diff --git a/atomic_reactor/koji_util.py b/atomic_reactor/koji_util.py
index f537e36..b68c6f8 100644
--- a/atomic_reactor/koji_util.py
+++ b/atomic_reactor/koji_util.py
@@ -72,7 +72,7 @@ def create_koji_session(hub_url, auth_info=None):
     :param auth_info: dict, authentication parameters used for koji_login
     :return: koji.ClientSession instance
     """
-    session = koji.ClientSession(hub_url)
+    session = koji.ClientSession(hub_url, opts={'krb_rdns': False})
 
     if auth_info is not None:
         koji_login(session, **auth_info)
diff --git a/atomic_reactor/plugins/exit_koji_promote.py b/atomic_reactor/plugins/exit_koji_promote.py
index 0bb734b..0e714f4 100644
--- a/atomic_reactor/plugins/exit_koji_promote.py
+++ b/atomic_reactor/plugins/exit_koji_promote.py
@@ -116,8 +116,10 @@ class KojiPromotePlugin(ExitPlugin):
         self.kojihub = kojihub
         self.koji_ssl_certs = koji_ssl_certs
         self.koji_proxy_user = koji_proxy_user
+
         self.koji_principal = koji_principal
         self.koji_keytab = koji_keytab
+
         self.metadata_only = metadata_only
         self.blocksize = blocksize
         self.target = target
@@ -655,13 +657,15 @@ class KojiPromotePlugin(ExitPlugin):
 
         :return: koji.ClientSession instance, logged in
         """
+
+        # krbV python library throws an error if these are unicode
         auth_info = {
             "proxyuser": self.koji_proxy_user,
             "ssl_certs_dir": self.koji_ssl_certs,
-            "krb_principal": self.koji_principal,
-            "krb_keytab": self.koji_keytab
+            "krb_principal": str(self.koji_principal),
+            "krb_keytab": str(self.koji_keytab)
         }
-        return create_koji_session(self.kojihub, auth_info)
+        return create_koji_session(str(self.kojihub), auth_info)
 
     def run(self):
         """
diff --git a/tests/koji/__init__.py b/tests/koji/__init__.py
index 910d613..ec04a85 100644
--- a/tests/koji/__init__.py
+++ b/tests/koji/__init__.py
@@ -18,7 +18,7 @@ TASK_STATES = {
 TASK_STATES.update({value: name for name, value in TASK_STATES.items()})
 
 class ClientSession(object):
-    def __init__(self, hub):
+    def __init__(self, hub, opts=None):
         raise ImportError("No module named koji")
 
 
diff --git a/tests/plugins/test_bump_release.py b/tests/plugins/test_bump_release.py
index 498221c..50abfc8 100644
--- a/tests/plugins/test_bump_release.py
+++ b/tests/plugins/test_bump_release.py
@@ -56,7 +56,7 @@ class TestBumpRelease(object):
         return plugin
 
     def test_component_missing(self, tmpdir):
-        flexmock(koji, ClientSession=lambda hub: None)
+        flexmock(koji, ClientSession=lambda hub, opts=None: None)
         plugin = self.prepare(tmpdir)
         with pytest.raises(RuntimeError):
             plugin.run()
@@ -66,7 +66,7 @@ class TestBumpRelease(object):
          'Release',
     ])
     def test_release_label_already_set(self, tmpdir, caplog, release_label):
-        flexmock(koji, ClientSession=lambda hub: None)
+        flexmock(koji, ClientSession=lambda hub, opts=None: None)
         plugin = self.prepare(tmpdir, labels={release_label: '1'})
         plugin.run()
         assert 'not incrementing' in caplog.text()
@@ -79,7 +79,7 @@ class TestBumpRelease(object):
         {},
     ])
     def test_missing_labels(self, tmpdir, caplog, labels):
-        flexmock(koji, ClientSession=lambda hub: None)
+        flexmock(koji, ClientSession=lambda hub, opts=None: None)
         plugin = self.prepare(tmpdir, labels=labels)
         with pytest.raises(RuntimeError) as exc:
             plugin.run()
diff --git a/tests/plugins/test_koji.py b/tests/plugins/test_koji.py
index a31711f..eeeb9a8 100644
--- a/tests/plugins/test_koji.py
+++ b/tests/plugins/test_koji.py
@@ -52,7 +52,7 @@ ROOT = "http://example.com"
 
 # ClientSession is xmlrpc instance, we need to mock it explicitly
 class MockedClientSession(object):
-    def __init__(self, hub):
+    def __init__(self, hub, opts=None):
         pass
 
     def getBuildTarget(self, target):
diff --git a/tests/plugins/test_koji_promote.py b/tests/plugins/test_koji_promote.py
index 8cadb16..c11f887 100644
--- a/tests/plugins/test_koji_promote.py
+++ b/tests/plugins/test_koji_promote.py
@@ -64,7 +64,7 @@ class MockedClientSession(object):
     TAG_TASK_ID = 1234
     DEST_TAG = 'images-candidate'
 
-    def __init__(self, hub, task_states=None):
+    def __init__(self, hub, opts=None, task_states=None):
         self.uploaded_files = []
         self.build_tags = {}
         self.task_states = task_states or ['FREE', 'ASSIGNED', 'CLOSED']
@@ -218,7 +218,7 @@ def mock_environment(tmpdir, session=None, name=None,
                                               for tag in additional_tags])
 
     flexmock(subprocess, Popen=fake_Popen)
-    flexmock(koji, ClientSession=lambda hub: session)
+    flexmock(koji, ClientSession=lambda hub, opts: session)
     flexmock(GitSource)
     (flexmock(OSBS)
         .should_receive('get_build_logs')
diff --git a/tests/test_koji_util.py b/tests/test_koji_util.py
index 1121229..66b8910 100644
--- a/tests/test_koji_util.py
+++ b/tests/test_koji_util.py
@@ -88,8 +88,9 @@ class TestCreateKojiSession(object):
         url = 'https://koji-hub-url.com'
         session = flexmock()
 
-        (flexmock(koji_util.koji)
-            .should_receive('ClientSession').with_args(url).and_return(session))
+        (flexmock(koji_util.koji).should_receive('ClientSession').with_args(
+            url, opts={'krb_rdns': False}).and_return(session)
+        )
         assert create_koji_session(url) == session
 
     def test_create_authenticated_session(self):
@@ -97,8 +98,9 @@ class TestCreateKojiSession(object):
         session = flexmock()
         session.should_receive('krb_login').once().and_return(True)
 
-        (flexmock(koji_util.koji)
-            .should_receive('ClientSession').with_args(url).and_return(session))
+        (flexmock(koji_util.koji).should_receive('ClientSession').with_args(
+            url, opts={'krb_rdns': False}).and_return(session)
+        )
         assert create_koji_session(url, {}) == session