Highlights from 2021-10-01 release¶
API entrypoint for regenerating repos¶
We have now support for regenerating repositories in APIv3, in the python-copr package and in the copr-cli package. You can use regenerate-repos command as:
copr-cli regenerate-repos copr
The command can regenerate all repository metadata for a given project.
All APIv1 code removed¶
According to the deprecation schedule EOL Copr APIv1 and APIv2 we removed APIv1 code from the frontend. I.e., Copr service does not understand APIv1 calls. Note that APIv1 code was removed from copr-cli and python3-copr months ago.
APIv2 code removed from python3-copr library¶
If you cannot migrate to APIv3 yet, you can still send requests to APIv2 endpoints directly, without using the python3-copr library, or you can temporarily freeze on python-copr-1.112.
Please don’t put aside the migration of your code for much longer. In April 2022 the APIv2 is going to be dropped from the frontend and the Copr service will no longer understand APIv2 calls.
#54 - Previously, the Web-UI pages listing project packages and project builds (including “monitor” page) were always loading everything. For very large projects the pages were either way too slow, or the request even timeouted. Newly, when the list of packages (or the list of builds) is too large, we provide a server-side pagination feature.
We fixed list-builds command in the copr-cli package. Printing of json is now continuous compared to the original approach, when everything was printed at once. We also fixed that we didn’t print a valid json output for large projects that required paginating over more than just one page.
When a user tries to display a repo file for a non-existent chroot, we return a more appropriate message that the chroot was not found.
#1423 - Createrepo locking was not “fair”. We worked-around the absence of python fair locking mechanism by timeout polling, and this should bring about 2x more throughput for mass rebuilds.