From 0f565f7c9cac9fe75e5eb326393a91aec7a2d833 Mon Sep 17 00:00:00 2001 From: Aron Parsons Date: Jan 25 2017 19:30:50 +0000 Subject: builder: fix unhandled exception when certs are not defined [root@kjb01 ~]# systemctl status kojid -l -n 200 ● kojid.service - Koji build server Loaded: loaded (/usr/lib/systemd/system/kojid.service; enabled; vendor preset: disabled) Active: failed (Result: exit-code) since Wed 2017-01-25 14:29:37 EST; 1s ago Docs: https://fedoraproject.org/wiki/Koji/ServerHowTo Process: 17529 ExecStart=/usr/sbin/kojid --fg --force-lock --verbose (code=exited, status=1/FAILURE) Main PID: 17529 (code=exited, status=1/FAILURE) Jan 25 14:29:36 kjb01.dc01.example.com systemd[1]: Started Koji build server. Jan 25 14:29:36 kjb01.dc01.example.com systemd[1]: Starting Koji build server... Jan 25 14:29:37 kjb01.dc01.example.com kojid[17529]: Traceback (most recent call last): Jan 25 14:29:37 kjb01.dc01.example.com kojid[17529]: File "/usr/sbin/kojid", line 5120, in Jan 25 14:29:37 kjb01.dc01.example.com kojid[17529]: if os.path.isfile(options.cert): Jan 25 14:29:37 kjb01.dc01.example.com kojid[17529]: File "/usr/lib64/python2.7/genericpath.py", line 29, in isfile Jan 25 14:29:37 kjb01.dc01.example.com kojid[17529]: st = os.stat(path) Jan 25 14:29:37 kjb01.dc01.example.com kojid[17529]: TypeError: coercing to Unicode: need string or buffer, NoneType found Jan 25 14:29:37 kjb01.dc01.example.com systemd[1]: kojid.service: main process exited, code=exited, status=1/FAILURE Jan 25 14:29:37 kjb01.dc01.example.com systemd[1]: Unit kojid.service entered failed state. Jan 25 14:29:37 kjb01.dc01.example.com systemd[1]: kojid.service failed. --- diff --git a/builder/kojid b/builder/kojid index 78c707d..b0fe092 100755 --- a/builder/kojid +++ b/builder/kojid @@ -5117,7 +5117,7 @@ if __name__ == "__main__": #start a session and login session_opts = koji.grab_session_options(options) session = koji.ClientSession(options.server, session_opts) - if os.path.isfile(options.cert): + if options.cert and os.path.isfile(options.cert): try: # authenticate using SSL client certificates session.ssl_login(options.cert, None,