Koji 1.20.0 Release notes¶
Announcement: We’re going to drop python 2 support for hub and web in koji 1.22. Please, prepare yourself for deploying python 3 versions of these. Both are already supported and this is the next step in retiring python 2 codebase.
All changes can be found at pagure. Most important changes are listed here.
Migrating from Koji 1.19¶
For details on migrating see Migrating to Koji 1.20
Add basic zchunk support for dist-repo
dist-repo supports new options
--zck, which enables createrepo’s
zchunk generation, and
--zck-dict-dir, which indicates the directory
the builder that contains zchunk dictionaries to use.
Add repo waiting options to the build command
--wait-repo for the
cause the build to wait for a repo regeneration.
This is similar to using
build in succession, except
that the repo monitoring is handled in the build task itself.
Remove title option for livemedia-creator
--title option, so we are.
Add –disabled option to list-hosts command
This option is simply an alias for the existing
Unify return values for permission denied
Some places were using
return 1, some parser.error calls.
Let’s unify it to
Raise error when we have not configuration
Previously, Koji would proceed with only the coded defaults, which is no longer sensible.
Sanity check on remotely opened RPMs
Sometimes RPMs are not downloaded correctly into buildroot and it results in weird errors. A simple check was added to detect corruption of downloaded files.
Include profile name in parsed config options
Fix behaviour to be in line with docs examples.
Make rpm import optional in koji/__init__.py
koji/__init__.py is being used more and more often in virtualenv. As rpm is
always the pain here and most users don’t need those specific functions, we can
make it optional (and require only on spec level). Distribution via PyPi will be
Default krb_princs value changed to True in getUser
This argument was added in PR #1648, with a default value of
False. It is
used to control whether the
krb_principals field is included in the result of
Drop buildMap API call
It was designed for GC, but it is not used anymore.
New addArchiveType API call
Adds a new hub method for inserting new archivetype records.
Raise GenericError on existing build reservation in in CGInitBuild
Previously a database exception was propagated. Now, it is raising a more informative exception.
Web UI Changes¶
The web ui now offers API introspection similar to the
koji list-api command.
Cluster health info page
New web page showing current usage of build cluster.
Show build link(s) on buildContainer task page
This is a temporary solution to the problem of connecting the builds and tasks generated by the containerbuild plugin <https://github.com/containerbuildsystem/koji-containerbuild>.
Human-friendly file sizes in taskinfo page
Provide for passing credentials to SRPMfromSCM
Builder’s conf can now contain
scm_credentials_dir option, where can be
stored authentication certificates or other data for use inside the mock when
building SRPMs for fetching data from authenticated SCMs.
Log kernel version used for buildroot
Use –update for dist-repos if possible
Improves speed of new distrepos.
Don’t send notifications in case of deleted tag
In some cases (sidetags) tag can be deleted before untag notifications are sent, so don’t send them if tag is already deleted.
Check existence of maven symlink
In recent Fedora’s maven is alternatives symlink. Original check now failed even if maven was installed.
QueryProcessor: fix countOnly for group sql
WebUI returned an error on Users tab after multiple kerberos realms per user were introduced.
Limit distRepo tasks per tag
distrepo.cancel_others extra flag for tags. If enabled, new
distRepo task will cancel previous non-finished ones leaving only new one.
Fix CGRefundBuild to release build properly | PR: https://pagure.io/koji/pull-request/1853
Fixes for refunding failed/cancelled build.
Use BulkInsertProcessor for hub mass inserts
Speed up mass inserts.
Use comma delimiter for allowed_methods
allowed_methods configuration option for the
now expects comma-separated values, as the example config indicates.
Fix issue with listing users and old versions of Postgres
Add koji-gc/kojira/koji-shadow to setup.py
Koji utilities are now installlable from PyPi.
Speedup untagging/moving to trashcan
Rewrite of how koji-gc handles untagging. Multicalls are used now and some speedup of related API calls is also included.
New options to clean database
Last release introduced new tool
koji-sweep-db which is used to clean the
database. Few new options were added now like cleaning scratch builds, CG
reservations, notification tasks or unused buildroots.
Note, that these new features are more technical preview. You need to use
--force flag to run them for a good reason. They can a) take insane time to
finish b) remove data you never wanted to delete. Always test these commands in
safe environment, before running them in production.
Cleaning sessions and reservations are still safe and they are primary goals of the script.
A few fixes for kojikamid
kojikamid (the daemon that runs in VMs) needs a few updates to be consistent with changes to the the Koji data model, and Python 3 compatibility.
Lot of documentation was added in last release in API and also in docs pages.