Highlights from 2022-04-05 release¶
Updated client packages are shipped in Fedora 34, Fedora 35, Fedora 36, EPEL 7, EPEL 8, and EPEL 9 Bodhi updates.
Kerberos/GSSAPI authentication for API and copr-cli¶
Newly, when working with the Fedora Copr instance, users
don’t have to install the ~/.config/copr
token. It is enough
to take a Fedora Kerberos ticket, and copr-cli
starts working:
$ fkinit # optionally with "-u username"
Enter your password and OTP concatenated. (Ignore that the prompt is for only the token)
Enter OTP Token Value: <your password>
$ copr whoami
your_username
If you have Kerberos ticket, you can also use this authentication method in WebUI by clicking on the gssapi-login
link (negotiate needs to be allowed for the
.fedorainfracloud.org
domain in the browser).
For other Copr instances, a simplified configuration referring the Copr
frontpage is still needed. For more info see man copr-cli
, the
AUTHENTICATION
section.
Copr-cli re-tries connections with Copr Frontend¶
When there’s some temporary Copr Frontend server (Web-UI & API) issue, and thus copr-cli fails to communicate over API - it newly doesn’t give up immediately but re-tries (3x with several seconds delay between the attempts). The number of attempts can be specified using the python3-copr API, too (by default set to one attempt).
Large queue improvements¶
Lately, there have been multiple concurrent mass rebuilds pushing
Copr to its limits. When reaching tens of thousands builds in the queue,
several problems started to appear. Newly we significantly optimized
the backend part of the build system so it should handle large queues
promptly and thus successfully delegate the tasks to the builders. Also
the Backend <=> Frontend
protocol was optimized for large queues.
Smaller fixes¶
On several places in the web-UI we differentiated the background tasks from the normal tasks. Background jobs have lower priority and if they are being processed, it means there’s enough resources to handle normal jobs and still take some background jobs.
We fixed a bug in our DistGit cleanup script that garbage-collected some of the temporarily imported sources too early, this caused build failures before, PR#2078.