Koji 1.23.0 Release notes¶
All changes can be found at pagure. Most important changes are listed here.
Migrating from Koji 1.22/1.22.1¶
For details on migrating see Migrating to Koji 1.23
Security Fixes¶
None
Client Changes¶
cli: clone-tag fails on failed multicalls
Previously some errors could have been hidden which could have led to missing content in target tag. Now we are failing on any error.
improved download_file
In the previous version we introduced unified download_file
method which also
checks downloaded content. There are minor updates improving this function
especially in reaction to errors.
cli: add –task and –source options to list-builds command
Builds now can be queried via task
or source
fields.
show log urls for failed tasks
When watching for task progress, failed tasks will also display links to relevant logs.
load plugins also from /usr/lib64
Fix of the bug which missed plugins in /usr/lib64 prefix.
clone-tag –config also clones extra info
Formerly cloning skipped extra values. Nevertheless, extra values are becoming an important part of config, so from now we are cloning them.
Library Changes¶
getRPMHeaders now fetch all headers by default
Simple change of library function default behaviour.
API Changes¶
lowercase sigkeys during import/query where needed
Case of signature hashes is properly ignored.
tagChangedSince reacts on changes in extra
It is probably mostly used by kojira, but it can be of some interest to automation scripts.
Because of this, kojira will now correctly regenerate repos when tag extra values change.
getAverageBuildDuration sliding window
The getAverageBuildDuration
hub call returned an average for all builds for
the given package.
However, old data could be irrelevant to new versions of packages.
Now the call offers an age
option to limit the query (specified as number
of months).
The koji builder daemon now uses this option with a value of 6 months when
adjusting the weight of buildArch
tasks.
getBuildConfig returns inheritance history
Additional option return inheritance chain for extra values and architectures. This behaviour is meant to be used with next change.
blocking inherited extra
Inherited tag extra fields could have been overridden but not removed. Now it can
be done via CLIs edit-tag
or editTag2
respectively which has a new
block_extra
option.
deprecate getGlobalInheritance
This call was never used in Koji.
Clients should instead use the readFullInheritance
call.
The getGlobalInheritance
call will be completely removed in Koji 1.25.
remove deprecated list-tag-history / tagHistory
Final removal.
Remove deprecated host.getTask call
Final removal.
Builder Changes¶
builder: configurable TTL for buildroots
Previously these times were hard coded.
The buildroot_basic_cleanup_delay
setting controls how long the builder will
wait before basic cleanup of the buildroot (removing most content but leaving
the directory). The default value is two minutes.
The buildroot_final_cleanup_delay
setting controls how long the build will
wait before final cleanup of the buildroot (removing the rest).
The default value is one day.
Both values are specified in seconds.
For historical context on why there are two separate delays, see this bug <https://bugzilla.redhat.com/show_bug.cgi?id=192153>.
livemedia-creator: pass –nomacboot on non-x86_64
Additional option was needed for booting on non-x86_64 archs.
builder: handle btrfs subvolumes in ApplianceTask
BTRFS needed special handling in ApplianceTask
to work.
kojid: fix extra-boot-args option
Bug which prevented proper usage of bootloader --append
in kickstarts.
kojid: waitrepo on deleted tag
Previously, if a tag was deleted while a waitrepo
task was watching it, the
task would not notice and wait until the timeout expired.
Now it will fail when it detects that the tag has been deleted.
System Changes¶
dropping python 2.6 / RHEL6 / yum support
One of the most significant changes in this release is dropping support for older python versions. Koji no longer supports python 2.6, and only supports python 2.7 for the builder and cli.
This effectively means ending support for RHEL/CentOS 6 builders. We are dropping yum support (it was used only with dist-repos) as RHEL7 and newer have full dnf stack.
report versions of components
There is a new hub API call named getVersion
(don’t confuse with
getAPIVersion
) which returns the version of Koji that the hub is running.
Similarly, the koji
library provides its version in koji.__version__
.
Plugins¶
proton: persistent message queue
As qpid (or other amqps broker) can be unreachable for long periods of time we’ve implemented a fallback queue in the database to avoid lost messages. This behaviour needs to be enabled - see the documentation.
Utilities Changes¶
Kojira¶
parallel rmtree
Deleting old repos is now done in parallel.
Documentation¶
PostgreSQL requirements for partitioning
release process
more info about permission system
setting rpm macros for build tags
livecd/livemedia updates