Koji 1.24.0 Release notes¶
All changes can be found at pagure. Most important changes are listed here.
Migrating from Koji 1.23/1.23.1¶
For details on migrating see Migrating to Koji 1.24
Security Fixes¶
None
Client Changes¶
support download-build --type=remote-sources
This wasn’t possible via CLI before. The command has been extended for downloading this additional artifact type.
hide import-sig --write option
This option is not used anymore. We’re hiding it from the user.
return error if add/remove-tag-inheritance can’t be applied
Previously only a warning was printed but return code implied no problems. Now it is returning an error-code so it has better problem visibility in scripts.
raise NotImplementedError with btype name
More verbose error when downloading unsupported archives.
list-tasks --after/--before/--all
New options for list-tasks. Formerly only running tasks could be
displayed. Now closed tasks can also be displayed with --all
and
--after
/--before
options. Use it wisely – querying all tasks
can hurt the hub’s performance.
list-hosts can display description/comment
The new --comment
and --description
options can be used to display
additional info in host list.
allow removal of unused external repo even with --alltags
Fixed confusing behaviour for koji remove-external-repo --alltags
when the given external repo is not associated with any tags.
history query by extra key
The additional filter option --xkey
for list-history limits the results to
history records that affected the given extra key for some tag.
Library Changes¶
better print with debug_xmlrpc
This fixes an unfortunate display bug introduced by the python3 migration.
The --debug-xmlrpc
feature shows details of the xmlrpc calls to the hub,
but most of the data was shown base64-encoded, regardless of whether it was
printable. Now the client will only result to base64 when it is necessary.
API Changes¶
readFullInheritance stops/jumps deprecation
Deprecation of unused options.
fix nightly getNextRelease format
Additional format allowed for getNextRelease
- {str}.{str}.{id}
.
[listBuilds] add nvr glob pattern support
The list-builds
command now accepts a --pattern
option that
filters the NVRs using the given glob pattern.
The underlying listBuilds
api call on the hub now accepts a pattern
argument that applies the filtration.
Builder Changes¶
Add option to use repos from kickstart for livemedia builds
The new --ksrepo
option tells the builder to not override the repos
given in the kickstart files for livemedia builds.
Add nomacboot option for spin-livemedia
The new --nomacboot
option is passed through to livemedia-creator.
System Changes¶
make policy test thread safe
spec: pythonic provides
Spec file now provides python3dist(koji) provides.
requires python[23]-requests-gssapi for rhel[78]
explicit encoding for text file operations
In some mod_wsgi configurations, the hub can raise an error because of non-default encoding when opening text files. The code has been modified to force UTF-8 everywhere.
Lower default multicall batch values
In high-load environments long-running transactions can lead even to db deadlocks. We suggest using lower batches for multicalls and have lowered the default batch sizes we currently have in the code.
If individual multicalls are running longer than a minute or two, we recommend splitting them into smaller batches.
require gssapi-requests 1.22
Older versions of library have a bug which breaks the gsaapi login for builders. Upgrading to this version solves the problem.
limit CGImport to allow only one CG per import
We’ve found that nobody is using the option to include multiple CGs output in one CG import. It makes things easier if we limit it directly to one CG per import. In such case we know which CG generated which build and policies can work with this value, etc.
external repos can have specified arch list
Some external repositories can have split architectures (e.g. primary
architectures in one repo and secondary in the second). On the other hand tags
expect that external repo has all the architectures as the tag has.
We’ve added a new option to tell Koji that an external repo only contains a
subset of tag’s architectures.
Multiple external repos with different architectures can then be attached to the
tag. This behaviour can be tuned by --arches
option in add-external-repo
and edit-external-repo
commands.
remove deprecated --ca option
Formerly deprecated --ca
option is finally removed for all executables.
Web¶
return correct content-length
Regressions for py3 code - Content-Length
header was erroneously computed so
some browsers fetched incomplete page. It is not visible in most cases (as final
html tags are corrupted and added by the browser) but in some cases it could
led to broken web page.
order methods by name in select box
With growing number of task types it makes more sense to order them alphabetically these days compared to previous importance ordering.
more accessible task colors/icons
For higher accessibility we’ve slightly changed the colors corresponding to task and build states. We’ve also added more informative icons to the taskinfo page.
display VCS/DistURL rpm tags
The buildinfo and rpminfo pages now display also VCS and DistURL tags if they are present in rpm (srpm for buildinfo page).
Plugins¶
handle plugins and generator results in count and countAndFilterResults
These functions couldn’t be used for methods provided by plugins or methods which returned generators. This is now fixed.
plugin hooks for repo modification
New postCreateRepo
and postCreateDistRepo
plugin hooks were introduced
on builder. They can be used to modify repodata with intent to allow sign the
repodata by plugins but it can be used for additional repodata modification.
Utilities¶
Kojira¶
move checkTasks near its usage
We’ve moved checking running newRepo
tasks to different place. Now, the number
of running tasks should be closer to set capacity as kojira will check
finished tasks just before spawning new ones.
Documentation¶
mention the final destination for new dist-repos
link to tag2distrepo hub plugin
types param for content generators
remove global SSLVerifyClient option