Description of problem: When krb5 credentials have expired, beaker commandline tool fails with a python exception ##### $> bkr list-labcontrollers Traceback (most recent call last): File "/usr/bin/bkr", line 7, in ? sys.exit( File "/usr/lib/python2.4/site-packages/bkr/client/main.py", line 32, in main return parser.run() File "/usr/lib/python2.4/site-packages/kobo/cli.py", line 203, in run cmd.run(*cmd_args, **cmd_kwargs) File "/usr/lib/python2.4/site-packages/bkr/client/commands/cmd_list_labcontrollers.py", line 20, in run self.set_hub(username, password) File "/usr/lib/python2.4/site-packages/kobo/client/__init__.py", line 58, in set_hub self.hub = HubProxyClass(conf=conf) File "/usr/lib/python2.4/site-packages/kobo/client/__init__.py", line 124, in __init__ self._login(verbose=self._conf.get("DEBUG_XMLRPC")) File "/usr/lib/python2.4/site-packages/kobo/client/__init__.py", line 175, in _login login_method() File "/usr/lib/python2.4/site-packages/kobo/client/__init__.py", line 257, in _login_krbv (ac, req) = ctx.mk_req(server=sprinc, client=cprinc, auth_context=ac, ccache=ccache, options=krbV.AP_OPTS_MUTUAL_REQUIRED) krbV.Krb5Error: (-1765328352, 'Ticket expired') ##### This exception should be caught and a nicer non-python-exception-traceback should be printed to the screen. ie 'Your kerberos ticket has expired. Please update your credentials by running kinit' or something to that effect Version-Release number of selected component (if applicable): beaker.noarch 0:0.5.17-2.el5 Steps to Reproduce: setup ~/.beaker to use krb5. let your creditials expire. try to run bkr list-labcontrollers (for example). see the ugly traceback Expected results: nice, even helpful error message
Adding dmach to the cc list since I believe this comes from kobo. Daniel, Any thoughts?
Similar one comes from `bkr distros-list`. Do we have a fix?
(In reply to comment #1) > Adding dmach to the cc list since I believe this comes from kobo. > > Daniel, Any thoughts? Yes it comes from kobo. You should catch the exception in parser.run() (bkr/client/main.py) I think masking exceptions directly in kobo is a really bad thing.
Bulk reassignment of issues as Bill has moved to another team.
(In reply to Daniel Mach from comment #4) > You should catch the exception in parser.run() (bkr/client/main.py) Here is a patch to make Beaker do exactly that: http://gerrit.beaker-project.org/2356 > I think masking exceptions directly in kobo is a really bad thing. ... but (ironically) my patch has no effect because kobo now discards the Kerberos exception from login instead of raising it.
We can fix this within Beaker now that we aren't using kobo-client.
On Gerrit: http://gerrit.beaker-project.org/2356
Beaker 0.16.0 has been released.