parent
8ecfc53119
commit
3598562883
6 changed files with 420 additions and 2 deletions
26
docs/source/migrations/migrating_to_1.25.rst
Normal file
26
docs/source/migrations/migrating_to_1.25.rst
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
Migrating to Koji 1.25
|
||||
======================
|
||||
|
||||
You should consider the following changes when migrating to 1.25:
|
||||
|
||||
DB Updates
|
||||
----------
|
||||
|
||||
This release includes one schema change.
|
||||
|
||||
Each repo now contains link to task which was used to create it (`Issue #888
|
||||
<https://pagure.io/koji/issue/888>`_)/
|
||||
|
||||
|
||||
As in previous releases, we provide a migration script that updates the database.
|
||||
|
||||
::
|
||||
|
||||
# psql koji koji < /usr/share/doc/koji/docs/schema-upgrade-1.24-1.25.sql
|
||||
|
||||
|
||||
Other changes
|
||||
-------------
|
||||
|
||||
There are numerous other changes in 1.25 that should not have a direct impact on migration. For
|
||||
details see: :doc:`../release_notes/release_notes_1.25`
|
||||
|
|
@ -5,6 +5,7 @@ Migrations
|
|||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
migrating_to_1.25
|
||||
migrating_to_1.24
|
||||
migrating_to_1.23
|
||||
migrating_to_1.22
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ Release Notes
|
|||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
release_notes_1.25
|
||||
release_notes_1.24.1
|
||||
release_notes_1.24
|
||||
release_notes_1.23.1
|
||||
|
|
|
|||
308
docs/source/release_notes/release_notes_1.25.rst
Normal file
308
docs/source/release_notes/release_notes_1.25.rst
Normal file
|
|
@ -0,0 +1,308 @@
|
|||
Koji 1.25.0 Release notes
|
||||
=========================
|
||||
|
||||
All changes can be found at `pagure <https://pagure.io/koji/roadmap/1.25/>`_.
|
||||
Most important changes are listed here.
|
||||
|
||||
|
||||
Migrating from Koji 1.24/1.24.1
|
||||
-------------------------------
|
||||
|
||||
For details on migrating see :doc:`../migrations/migrating_to_1.25`
|
||||
|
||||
|
||||
Security Fixes
|
||||
--------------
|
||||
|
||||
None
|
||||
|
||||
|
||||
Client Changes
|
||||
--------------
|
||||
**More verbose error/warning messages**
|
||||
|
||||
| PR: https://pagure.io/koji/pull-request/2615
|
||||
| PR: https://pagure.io/koji/pull-request/2702
|
||||
| PR: https://pagure.io/koji/pull-request/2703
|
||||
| PR: https://pagure.io/koji/pull-request/2761
|
||||
| PR: https://pagure.io/koji/pull-request/2769
|
||||
| PR: https://pagure.io/koji/pull-request/2770
|
||||
| PR: https://pagure.io/koji/pull-request/2733
|
||||
| PR: https://pagure.io/koji/pull-request/2803
|
||||
| PR: https://pagure.io/koji/pull-request/2694
|
||||
| PR: https://pagure.io/koji/pull-request/2709
|
||||
| PR: https://pagure.io/koji/pull-request/2829
|
||||
| PR: https://pagure.io/koji/pull-request/2738
|
||||
| PR: https://pagure.io/koji/pull-request/2790
|
||||
| PR: https://pagure.io/koji/pull-request/2792
|
||||
| PR: https://pagure.io/koji/pull-request/2727
|
||||
| PR: https://pagure.io/koji/pull-request/2773
|
||||
|
||||
We've revised many calls which previously returned empty results to raise more
|
||||
meaningful errors. Typically ``koji list-untagged xyz`` returned same result if
|
||||
package never existed and also in case when package was really never untagged.
|
||||
Also all warning and error messages were unified in their wording.
|
||||
|
||||
**Show connection exception for anynymous calls**
|
||||
|
||||
| PR: https://pagure.io/koji/pull-request/2705
|
||||
|
||||
Calls which don't need authentication were not properly propagating
|
||||
connection-related exceptions with ``--debug``.
|
||||
|
||||
**list-api option for one method**
|
||||
|
||||
| PR: https://pagure.io/koji/pull-request/2688
|
||||
|
||||
Now you don't need to scroll through ``list-api`` output if you want single
|
||||
method signature. ``koji list-api listBuilds`` show just one.
|
||||
|
||||
**Add wait/nowait to all calls**
|
||||
|
||||
| PR: https://pagure.io/koji/pull-request/2831
|
||||
|
||||
Some commands had ``--wait`` and/or ``--nowait`` options. We've made it
|
||||
consistent, so all eligible commands now contain both variants. If option is
|
||||
specified it is the ultimate override. If none of these is specified, behaviour
|
||||
differs if client is running on TTY (then it waits) or on background (then it
|
||||
will not wait). This is no new behaviour, just adding explicit options in cases
|
||||
where they were not present.
|
||||
|
||||
**Use multicall for cancel, list-hosts and write-signed-rpm commands**
|
||||
|
||||
| PR: https://pagure.io/koji/pull-request/2722
|
||||
| PR: https://pagure.io/koji/pull-request/2808
|
||||
| PR: https://pagure.io/koji/pull-request/2810
|
||||
|
||||
Making cancel command much faster if you're cancelling many tasks/builds,
|
||||
listing many hosts or writing multiple rpm signed copies.
|
||||
|
||||
**--no-auth for 'call' command**
|
||||
|
||||
| PR: https://pagure.io/koji/pull-request/2734
|
||||
|
||||
``call`` command was authenticating for any method. Now you can specify this
|
||||
option to skip authentication phase.
|
||||
|
||||
**Support modules and other btypes in download-build**
|
||||
|
||||
| PR: https://pagure.io/koji/pull-request/2678
|
||||
|
||||
``download-build`` now downloads all regular archives. Previusly it was limited
|
||||
to subset of file types.
|
||||
|
||||
|
||||
Library Changes
|
||||
---------------
|
||||
**Better failed authentication/connections**
|
||||
|
||||
PR#2735: lib: more verbose conn AuthError for ssl/gssapi
|
||||
PR#2824: lib: is_conn_error catch more exceptions
|
||||
PR#2794: lib: set sinfo=None for failed ssl_login
|
||||
PR#2723: better ssl_login() error message when cert is None
|
||||
PR#2826: Add kerberos debug message
|
||||
|
||||
All connection errors now should provide a bit more information for debugging.
|
||||
Some errors were masked by more generic ones. We're now trying to display more
|
||||
info about these. Same for debugging krbV/GSSAPI errors. Also added a `doc
|
||||
(https://docs.pagure.org/koji/content_generator_metadata/)`_ page (and link to
|
||||
CLI) for typical GSSAPI errors.
|
||||
|
||||
**More portable BadStatusLine checking**
|
||||
|
||||
| PR: https://pagure.io/koji/pull-request/2819
|
||||
|
||||
Python 3 versions had some problems with detecting `keepalive race
|
||||
(https://github.com/mikem23/keepalive-race)`_ conditions on apache side. We've
|
||||
made code a bit more portable so you shouldn't see these errors now.
|
||||
|
||||
**Missing default values in read_config**
|
||||
|
||||
| PR: https://pagure.io/koji/pull-request/2689
|
||||
|
||||
Some default values were missing in the config parsing which could have led to
|
||||
mysterious behaviour (everything related to retry logic in case there is some
|
||||
connection error)
|
||||
|
||||
**lib: use parse_task_params for taskLabel**
|
||||
|
||||
| PR: https://pagure.io/koji/pull-request/2771
|
||||
|
||||
It is internal only change, but could be used as a promotion place for
|
||||
developers. Anywhere where you've parsed task options ad hoc (e.g. in your
|
||||
plugin or in some scripts) you can use ``parse_task_params`` function which
|
||||
should do this more consistently.
|
||||
|
||||
API Changes
|
||||
-----------
|
||||
**Fail early on wrong info in create*Build methods**
|
||||
|
||||
PR#2721: API: createWinBuild with wrong win/build info
|
||||
PR#2732: api: createImageBuild non-existing build wrong buildinfo
|
||||
PR#2736: api: createMavenBuild wrong buildinfo/maveninfo
|
||||
|
||||
``createWinBuild``, ``createImageBuild``, ``createMavenBuild`` now will raise an
|
||||
exception when some data in buildinfo are missing. Exception should be more
|
||||
senseful than before.
|
||||
|
||||
**getVolume with strict option**
|
||||
|
||||
| PR: https://pagure.io/koji/pull-request/2796
|
||||
|
||||
New option to be in line with other calls. You can check either ``None`` return
|
||||
or use ``strict=True`` and wrap it in ``try/except``.
|
||||
|
||||
**getLastHostUpdate ts option**
|
||||
|
||||
| PR: https://pagure.io/koji/pull-request/2766
|
||||
|
||||
Historically we've passed aroung dates as text strings. Almost everywhere we're
|
||||
now also sending GMT timestamps to better handle timezone problems. This new
|
||||
option in the ``getLastHostUpdate`` call allows you to get timestamp instead of
|
||||
default date.
|
||||
|
||||
**Be tolerant with duplicate parents in _writeInheritanceData**
|
||||
|
||||
| PR: https://pagure.io/koji/pull-request/2782
|
||||
|
||||
Regression fix - call will now not raise an exception if there are duplicated
|
||||
parents in inheritance chain.
|
||||
|
||||
**with_owners options for readPackageList and listPackages**
|
||||
|
||||
| PR: https://pagure.io/koji/pull-request/2791
|
||||
|
||||
Performance improvement. Most of the calls to these functions don't need
|
||||
information about the package owner. Dropping this data simplifies underlying
|
||||
query to faster one. If you're using this call in your automation give it a
|
||||
chance to lower your database load.
|
||||
|
||||
System Changes
|
||||
--------------
|
||||
**Task priority policy**
|
||||
|
||||
| PR: https://pagure.io/koji/pull-request/2711
|
||||
|
||||
There is a new ``priority`` policy which can be used to alter task priorities
|
||||
based on data about task/build. See documentation for details.
|
||||
|
||||
**Python egginfo**
|
||||
|
||||
| PR: https://pagure.io/koji/pull-request/2821
|
||||
|
||||
After years of struggling with pip/setuptools/rpm packaging we should finally
|
||||
have something compatible. So, now egginfo, etc. should be properly installed
|
||||
and usable in virtualenvs.
|
||||
|
||||
**Task ID for repos**
|
||||
|
||||
| PR: https://pagure.io/koji/pull-request/2802
|
||||
| PR: https://pagure.io/koji/pull-request/2823
|
||||
|
||||
When debugging buildroot content issues it is often important to find out which
|
||||
repo was used and when it was created, investigate createrepo and mergerepo
|
||||
logs, etc. It was not easiest to find corresponding task to given repodata.
|
||||
We've added this information to database (so you can see it in web and CLI) and
|
||||
also to ``repo.json`` file in repodata directory.
|
||||
|
||||
**Add squashfs-only and compress-arg options to livemedia**
|
||||
|
||||
| PR: https://pagure.io/koji/pull-request/2833
|
||||
|
||||
Livemedia tasks can now use these options for passing to ImageFactory.
|
||||
|
||||
Web
|
||||
---
|
||||
**Show VCS and DistURL tags as links when appropriate**
|
||||
|
||||
| PR: https://pagure.io/koji/pull-request/2756
|
||||
|
||||
**Don't use count(*) on first tasks page**
|
||||
|
||||
| PR: https://pagure.io/koji/pull-request/2827
|
||||
|
||||
Tasks list page was quite slow in many cases. Reason was pagination and
|
||||
underlying ``count(*)`` for given filter. As PostgreSQL is very slow for this
|
||||
type of query we've removed number of total results and listing of all pages on
|
||||
first page which is loaded most often. If you use link to next page you'll see
|
||||
everything as before this change.
|
||||
|
||||
**Additional info on API page**
|
||||
|
||||
| PR: https://pagure.io/koji/pull-request/2828
|
||||
|
||||
We've added simple client code to API page, so users can start with something
|
||||
and don't need to dig through the rest of documentation.
|
||||
|
||||
|
||||
Plugins
|
||||
-------
|
||||
**Configurable sidetags suffixes**
|
||||
|
||||
| PR: https://pagure.io/koji/pull-request/2730
|
||||
|
||||
Sidetag plugin now allows to define set of allowed suffixed which can be used
|
||||
when creating the sidetag. You can distunguish between diffent types (private,
|
||||
gating, ...)
|
||||
|
||||
**Protonmsg: fixes for persistent queue**
|
||||
|
||||
| PR: https://pagure.io/koji/pull-request/2844
|
||||
|
||||
Persistent message storage was broken. Now it should work correctly.
|
||||
|
||||
|
||||
Utilities
|
||||
---------
|
||||
|
||||
Kojira
|
||||
......
|
||||
**Faster startup**
|
||||
|
||||
| PR: https://pagure.io/koji/pull-request/2764
|
||||
|
||||
Multicall is used to prefetch tag data from hub. It significantly improves
|
||||
startup time for bigger installations.
|
||||
|
||||
**Check repo.json before deleting**
|
||||
|
||||
| PR: https://pagure.io/koji/pull-request/2765
|
||||
|
||||
Previusly kojira refused to delete repositories which used different name than
|
||||
actual tag. It could have happened when tag was renamed from some reason. Now we
|
||||
consult also ``repo.json`` which limits this insecurity and allows kojira to
|
||||
delete more directories.
|
||||
|
||||
**Tolerate floats in metadata timestamps**
|
||||
|
||||
| PR: https://pagure.io/koji/pull-request/2784
|
||||
|
||||
External repositories sometimes can use float timestamp. We now correctly parse
|
||||
that.
|
||||
|
||||
Garbage Collector
|
||||
.................
|
||||
**Allow specifying all CLI options in config**
|
||||
|
||||
| PR: https://pagure.io/koji/pull-request/2816
|
||||
|
||||
Everything what can be specified on command-line can now be also put into the
|
||||
configuration file.
|
||||
|
||||
**Implement hastag policy for koji-gc**
|
||||
|
||||
| PR: https://pagure.io/koji/pull-request/2817
|
||||
|
||||
There was no way to mark some builds which shouldn't be deleted from tag. Now
|
||||
you can tag it with some additional special 'dont-delete-me' tag and make
|
||||
``hastag`` policy for that.
|
||||
|
||||
Documentation
|
||||
-------------
|
||||
**Updated docs and devtools**
|
||||
|
||||
| PR: https://pagure.io/koji/pull-request/2724
|
||||
| PR: https://pagure.io/koji/pull-request/2725
|
||||
| PR: https://pagure.io/koji/pull-request/2772
|
||||
| PR: https://pagure.io/koji/pull-request/2843
|
||||
| PR: https://pagure.io/koji/pull-request/2799
|
||||
84
koji.spec
84
koji.spec
|
|
@ -78,7 +78,7 @@
|
|||
%define release %{baserelease}
|
||||
%endif
|
||||
Name: koji
|
||||
Version: 1.24.1
|
||||
Version: 1.25.0
|
||||
Release: %{release}%{?dist}
|
||||
License: LGPLv2 and GPLv2+
|
||||
# the included arch lib from yum's rpmUtils is GPLv2+
|
||||
|
|
@ -616,6 +616,88 @@ rm -rf $RPM_BUILD_ROOT
|
|||
%systemd_postun kojira.service
|
||||
|
||||
%changelog
|
||||
* Mon May 10 2021 Tomas Kopecek <tkopecek at redhat.com> - 1.25.0-1
|
||||
- PR#2844: protonmsg: use consistent data format for messages
|
||||
- PR#2764: kojira: faster startup
|
||||
- PR#2831: Add wait/nowait to tag-build, image-build-indirection
|
||||
- PR#2827: web: don't use count(*) on first tasks page
|
||||
- PR#2833: Add squashfs-only and compress-arg options to livemedia
|
||||
- PR#2828: web: additional info on API page
|
||||
- PR#2826: Add kerberos debug message
|
||||
- PR#2821: Python egginfo
|
||||
- PR#2843: update dockerfiles for f34
|
||||
- PR#2824: lib: is_conn_error catch more exceptions
|
||||
- PR#2823: Add default task ID to prep_repo_init/done
|
||||
- PR#2816: koji-gc: Allow specifying all CLI options in config
|
||||
- PR#2817: koji-gc: Implement hastag policy for koji-gc
|
||||
- PR#2771: lib: use parse_task_params for taskLabel
|
||||
- PR#2829: fix tests for changed helpstring
|
||||
- PR#2688: cli: list-api method
|
||||
- PR#2791: with_owners options for readPackageList and readTaggedBuilds
|
||||
- PR#2802: Repo info with task id
|
||||
- PR#2803: unify warn messages
|
||||
- PR#2808: cli: multicalls for write-signed-rpm
|
||||
- PR#2796: api: getVolume with strict
|
||||
- PR#2792: cli: mock-config check arch
|
||||
- PR#2790: cli: list-builds sort-key warning
|
||||
- PR#2756: Show VCS and DistURL tags as links when appropriate
|
||||
- PR#2819: lib: more portable BadStatusLine checking
|
||||
- PR#2818: hub: Fix typo in postRepoInit callback from distRepo
|
||||
- PR#2779: 1.24.1 release notes
|
||||
- PR#2810: cli: fix multicall usage in list_hosts
|
||||
- PR#2798: Fix list-hosts and hostinfo for older hub
|
||||
- PR#2773: unify error messages for web
|
||||
- PR#2799: kojid.conf: fix linewrapped comment
|
||||
- PR#2794: lib: set sinfo=None for failed ssl_login
|
||||
- PR#2689: lib: missing default values in read_config
|
||||
- PR#2784: Tolerate floats in metadata timestamps
|
||||
- PR#2787: Revert "requests exception"
|
||||
- PR#2770: cli: buildinfo returns error for non exist build
|
||||
- PR#2766: api getLastHostUpdate returns timestamp
|
||||
- PR#2735: lib: more verbose conn AuthError for ssl/gssapi
|
||||
- PR#2782: Be tolerant with duplicate parents in _writeInheritanceData
|
||||
- PR#2615: cli: catch koji.ParameterError in list_task_output_all_volumes
|
||||
- PR#2749: web: optional KojiHubCA usage
|
||||
- PR#2753: drop PyOpenSSL usage
|
||||
- PR#2765: kojira: check repo.json before deleting
|
||||
- PR#2777: docs: fix Fedora's koji URL
|
||||
- PR#2722: cli: use multicall for cancel command
|
||||
- PR#2772: Fix small documentation typo
|
||||
- PR#2699: Fix race handling in rmtree
|
||||
- PR#2755: kojira: check rm queue before adding new path
|
||||
- PR#2769: cli: hostinfo with non-exist host
|
||||
- PR#2768: tests: fix locale setting
|
||||
- PR#2721: API: createWinBuild with wrong win/build info
|
||||
- PR#2761: cli: rpminfo with non-exist rpm
|
||||
- PR#2736: api: createMavenBuild wrong buildinfo/maveninfo
|
||||
- PR#2732: api: createImageBuild non-existing build wrong buildinfo
|
||||
- PR#2733: Unify error messages
|
||||
- PR#2759: tests: stop mock in DBQueryTest
|
||||
- PR#2754: doc: jenkins fedora -> centos migration
|
||||
- PR#2744: devtools: updated Dockerfiles
|
||||
- PR#2715: acquire logging locks before forking
|
||||
- PR#2747: Escape vcs and disturl
|
||||
- PR#2705: cli: show connection exception
|
||||
- PR#2703: cli: list-untagged returns error non-exist package
|
||||
- PR#2738: cli: fix help message formatting
|
||||
- PR#2737: plugins: fix typo
|
||||
- PR#2734: cli: --no-auth for 'call' command
|
||||
- PR#2711: Task priority policy
|
||||
- PR#2730: configurable sidetags suffixes
|
||||
- PR#2678: support modules and other btypes in download-build
|
||||
- PR#2731: web: set WSGIProcessGroup inside Directory
|
||||
- PR#2727: Fix progname
|
||||
- PR#2717: doc: Additional docs for CVE-CVE-2020-15856
|
||||
- PR#2723: better ssl_login() error message when cert is None
|
||||
- PR#2725: doc: remove "ca" option from server howto
|
||||
- PR#2724: doc: update kojid steps in server howto
|
||||
- PR#2692: adding check for the license header key
|
||||
- PR#2702: cli: list-history error non-exist channel, host
|
||||
- PR#2706: hub: document getNextRelease method
|
||||
- PR#2709: cli: mock-config error for non existing buildroot
|
||||
- PR#2694: adding invalid target name error message
|
||||
- PR#2713: set correct import_type for volume policy in completeImageBuild
|
||||
|
||||
* Thu Feb 4 2021 Tomas Kopecek <tkopecek at redhat.com> - 1.24.0-1
|
||||
- PR#2637: plugin hooks for repo modification
|
||||
- PR#2680: fix the mode of tarfile.open
|
||||
|
|
|
|||
|
|
@ -1,2 +1,2 @@
|
|||
__version_info__ = (1, 24, 1)
|
||||
__version_info__ = (1, 25, 0)
|
||||
__version__ = '.'.join([str(x) for x in __version_info__])
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue