Bug 1714950

Summary: "bodhi updates query --builds gscan2pdf-2.5.3-1.fc30" dies with: KeyError: 'anonymous'
Product: [Fedora] Fedora Reporter: Petr Pisar <ppisar>
Component: bodhiAssignee: Randy Barlow <rbarlow>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 29CC: dwd, infra-sig, jeremy, jimtahu, mfabian, rbarlow
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: bodhi-4.0.2-1.fc30 bodhi-4.0.2-1.fc29 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-06-12 00:45:53 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Petr Pisar 2019-05-29 09:11:06 UTC
It seems Bodhi server changed a response format and bodhi client dies when formatting a response for an update query:

$ bodhi updates query --builds gscan2pdf-2.5.3-1.fc30
Traceback (most recent call last):
  File "/usr/bin/bodhi", line 11, in <module>
    load_entry_point('bodhi-client==3.12.0', 'console_scripts', 'bodhi')()
  File "/usr/lib/python3.7/site-packages/click/core.py", line 721, in __call__
    return self.main(*args, **kwargs)
  File "/usr/lib/python3.7/site-packages/click/core.py", line 696, in main
    rv = self.invoke(ctx)
  File "/usr/lib/python3.7/site-packages/click/core.py", line 1065, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/usr/lib/python3.7/site-packages/click/core.py", line 1065, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/usr/lib/python3.7/site-packages/click/core.py", line 894, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/usr/lib/python3.7/site-packages/click/core.py", line 534, in invoke
    return callback(*args, **kwargs)
  File "/usr/lib/python3.7/site-packages/bodhi/client/__init__.py", line 224, in wrapper
    method(*args, **kwargs)
  File "/usr/lib/python3.7/site-packages/bodhi/client/__init__.py", line 552, in query
    print_resp(resp, client)
  File "/usr/lib/python3.7/site-packages/bodhi/client/__init__.py", line 955, in print_resp
    click.echo(client.update_str(resp.updates[0]))
  File "/usr/lib/python3.7/site-packages/bodhi/client/bindings.py", line 867, in update_str
    anonymous = " (unauthenticated)" if comment['anonymous'] else ''
KeyError: 'anonymous'

$ rpm -qf /usr/lib/python3.7/site-packages/bodhi/client/bindings.py
python3-bodhi-client-3.12.0-1.fc29.noarch

Comment 1 Randy Barlow 2019-05-29 15:13:09 UTC
Yeah, this is because the Bodhi 3 client is not fully compatible with the Bodhi 4 server. There's a FESCo ticket about this here: https://pagure.io/fesco/issue/2137

Comment 2 Randy Barlow 2019-05-29 15:17:57 UTC
Users who are hitting this can work around it for now by using my Copr, if they wish: https://copr.fedorainfracloud.org/coprs/bowlofeggs/bodhi

Comment 3 Dave Dykstra 2019-05-30 15:21:58 UTC
Randy, I run bodhi out of epel7.  Could you please add a build for that on copr?

Comment 4 Randy Barlow 2019-05-30 15:27:40 UTC
Unfortunately, the Bodhi spec file does not currently build on EL 7 (and hasn't for about two years). I believe most of the issues, possibly all, are with the server code and not the client code, however. So a client-only spec could be made for EL 7 and I think that has a decent chance of working. I will add myself a todo to look into that, but I can't promise anything soon as there's a lot on my plate.

Once we figure out what to do about F29/30, I plan to work with the EPEL SG to see if we can come up with a solution for the proper EPEL 7 package (which might be just dropping the server code, switching to Python 3, and upgrading to Bodhi 4).

Comment 5 Randy Barlow 2019-05-31 19:37:08 UTC
I spent some time today looking at getting the client built for EL 7 in Copr. There seem to be three missing dependencies, as Bodhi 4 requires Python 3.6+:

koji
iniparse
python-fedora

Until those are in EPEL 7 with Python 3.6+, we won't be able to get Bodhi 4 into EPEL 7.

Comment 6 Fedora Update System 2019-06-03 21:47:50 UTC
FEDORA-2019-352078fd2b has been submitted as an update to Fedora 30. https://bodhi.fedoraproject.org/updates/FEDORA-2019-352078fd2b

Comment 7 Fedora Update System 2019-06-03 21:48:12 UTC
FEDORA-2019-5ce9adadc1 has been submitted as an update to Fedora 29. https://bodhi.fedoraproject.org/updates/FEDORA-2019-5ce9adadc1

Comment 8 Fedora Update System 2019-06-04 01:17:59 UTC
bodhi-4.0.2-1.fc30, bodhi3-3.14.0-1.fc30 has been pushed to the Fedora 30 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2019-352078fd2b

Comment 9 Fedora Update System 2019-06-04 03:27:48 UTC
bodhi-4.0.2-1.fc29, bodhi3-3.12.0-200.fc29 has been pushed to the Fedora 29 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2019-5ce9adadc1

Comment 10 Fedora Update System 2019-06-12 00:45:53 UTC
bodhi-4.0.2-1.fc30, bodhi3-3.14.0-1.fc30 has been pushed to the Fedora 30 stable repository. If problems still persist, please make note of it in this bug report.

Comment 11 Fedora Update System 2019-06-12 02:05:11 UTC
bodhi-4.0.2-1.fc29, bodhi3-3.12.0-200.fc29 has been pushed to the Fedora 29 stable repository. If problems still persist, please make note of it in this bug report.