From 17c5d7b8d9ed7d25c3327c7bdc8383505845149a Mon Sep 17 00:00:00 2001 From: Tomas Kopecek Date: May 10 2021 13:46:47 +0000 Subject: [PATCH 1/5] Release notes 1.25 Fixes: https://pagure.io/koji/issue/2845 --- diff --git a/docs/source/migrations/migrating_to_1.25.rst b/docs/source/migrations/migrating_to_1.25.rst new file mode 100644 index 0000000..d1ab2c3 --- /dev/null +++ b/docs/source/migrations/migrating_to_1.25.rst @@ -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 +`_)/ + + +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` diff --git a/docs/source/migrations/migrations.rst b/docs/source/migrations/migrations.rst index f539c47..3d8e959 100644 --- a/docs/source/migrations/migrations.rst +++ b/docs/source/migrations/migrations.rst @@ -5,6 +5,7 @@ Migrations .. toctree:: :maxdepth: 1 + migrating_to_1.25 migrating_to_1.24 migrating_to_1.23 migrating_to_1.22 diff --git a/docs/source/release_notes/release_notes.rst b/docs/source/release_notes/release_notes.rst index 8b502fd..47f0463 100644 --- a/docs/source/release_notes/release_notes.rst +++ b/docs/source/release_notes/release_notes.rst @@ -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 diff --git a/docs/source/release_notes/release_notes_1.25.rst b/docs/source/release_notes/release_notes_1.25.rst new file mode 100644 index 0000000..61c5ec3 --- /dev/null +++ b/docs/source/release_notes/release_notes_1.25.rst @@ -0,0 +1,308 @@ +Koji 1.25.0 Release notes +========================= + +All changes can be found at `pagure `_. +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 diff --git a/koji.spec b/koji.spec index ca821ba..20cd0ad 100644 --- a/koji.spec +++ b/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 - 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 - 1.24.0-1 - PR#2637: plugin hooks for repo modification - PR#2680: fix the mode of tarfile.open diff --git a/koji/_version.py b/koji/_version.py index 1ebfcbe..79e6222 100644 --- a/koji/_version.py +++ b/koji/_version.py @@ -1,2 +1,2 @@ -__version_info__ = (1, 24, 1) +__version_info__ = (1, 25, 0) __version__ = '.'.join([str(x) for x in __version_info__]) From 45d34cfa510eeb5fb7526c4d1382be1f8f817268 Mon Sep 17 00:00:00 2001 From: Tomas Kopecek Date: May 17 2021 07:03:03 +0000 Subject: [PATCH 2/5] update release notes --- diff --git a/docs/source/release_notes/release_notes_1.25.rst b/docs/source/release_notes/release_notes_1.25.rst index 61c5ec3..57b7204 100644 --- a/docs/source/release_notes/release_notes_1.25.rst +++ b/docs/source/release_notes/release_notes_1.25.rst @@ -280,6 +280,16 @@ delete more directories. External repositories sometimes can use float timestamp. We now correctly parse that. +**Fix fork-related issues** + +| PR: https://pagure.io/koji/pull-request/2853 +| PR: https://pagure.io/koji/pull-request/2855 +| PR: https://pagure.io/koji/pull-request/2856 + +Forking while deleting is causing some issues (mostly with loggign module) +especially with the latest python. These can result in kojira not deleting +repos at all. + Garbage Collector ................. **Allow specifying all CLI options in config** From 151ad9b48b6f2b82c058a194002be57ea56f13de Mon Sep 17 00:00:00 2001 From: Mike McLean Date: May 17 2021 07:10:43 +0000 Subject: [PATCH 3/5] misc fixes --- diff --git a/docs/source/migrations/migrating_to_1.25.rst b/docs/source/migrations/migrating_to_1.25.rst index d1ab2c3..1a1f0d4 100644 --- a/docs/source/migrations/migrating_to_1.25.rst +++ b/docs/source/migrations/migrating_to_1.25.rst @@ -8,8 +8,8 @@ DB Updates This release includes one schema change. -Each repo now contains link to task which was used to create it (`Issue #888 -`_)/ +Each repo now contains a link to the task which was used to create it (`Issue #888 +`_) As in previous releases, we provide a migration script that updates the database. diff --git a/docs/source/release_notes/release_notes_1.25.rst b/docs/source/release_notes/release_notes_1.25.rst index 57b7204..e4b6ee3 100644 --- a/docs/source/release_notes/release_notes_1.25.rst +++ b/docs/source/release_notes/release_notes_1.25.rst @@ -1,7 +1,7 @@ Koji 1.25.0 Release notes ========================= -All changes can be found at `pagure `_. +All changes can be found in `the roadmap `_. Most important changes are listed here. @@ -39,11 +39,12 @@ Client Changes | 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. +meaningful errors. For example, ``koji list-untagged package_x`` previously did +not distinguish between the case where ``package_x`` had no untagged builds +and the case where ``package_x`` did not exist. +Also, all warning and error messages were unified in their wording. -**Show connection exception for anynymous calls** +**Show connection exception for anonymous calls** | PR: https://pagure.io/koji/pull-request/2705 @@ -54,18 +55,22 @@ connection-related exceptions with ``--debug``. | 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. +Now you don't need to scroll through ``list-api`` output if you want a single +method signature. The ``koji list-api listBuilds`` command will 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 +consistent, so all eligible commands now contain both variants. +These options override waiting behavior for the command. + +If neither option is specified, the default depends on the runtime context. +If the client is running on a TTY, then it defaults to waiting. +If it is running in the background, then it defaults to not waiting. + +This is not new behaviour, just adding explicit options in cases where they were not present. **Use multicall for cancel, list-hosts and write-signed-rpm commands** @@ -74,92 +79,96 @@ where they were not present. | 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. +These commands are now much faster when acting on multiple items. -**--no-auth for 'call' command** +**Using 'call' command without authentication** | 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. +The ``call`` command authenticates by default, which is not always desired. +This authentication can be disabled with the the global ``--noauth`` option. +The help text now clarifies this. **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. +The ``download-build`` command now downloads all regular archives. Previously it +was limited to a 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 +| PR: https://pagure.io/koji/pull-request/2735 +| PR: https://pagure.io/koji/pull-request/2824 +| PR: https://pagure.io/koji/pull-request/2794 +| PR: https://pagure.io/koji/pull-request/2723 +| PR: https://pagure.io/koji/pull-request/2826 -All connection errors now should provide a bit more information for debugging. +Connection errors now 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. +information about these, and to help with debugging krbV/GSSAPI errors. We have +added a :doc:`documentation page <../kerberos_gssapi_debug>` for common GSSAPI +errors, which the CLI now refers to. **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. +Python 3 versions had some problems detecting expired keepalive connections. +We've made the 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) +mysterious behaviour. The configuration values in question were related to +retry behavior when making calls to the hub. -**lib: use parse_task_params for taskLabel** +**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. +The ``taskLabel`` function (used in various places to generate a short label +for a given task) has been updated to use the newer ``parse_task_params`` +function instead of parsing the parameters itself. +As a result, the function is simpler and more accurate. + +The ``parse_task_params`` function is currently the preferred way to interpret +task parameters. We recommend that developers use it rather than ad-hoc code. 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 +| PR: https://pagure.io/koji/pull-request/2721 +| PR: https://pagure.io/koji/pull-request/2732 +| PR: https://pagure.io/koji/pull-request/2736 -``createWinBuild``, ``createImageBuild``, ``createMavenBuild`` now will raise an -exception when some data in buildinfo are missing. Exception should be more -senseful than before. +The ``createWinBuild``, ``createImageBuild``, and ``createMavenBuild`` hub +calls will now raise an exception when some data in buildinfo are missing, +and their exception text should be clearer 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``. +This new option brings ``getVolume`` in line with other similar calls. +When the requested volume does not exist, the call will either return ``None`` +(when ``strict=False``, the default) or raise an exception (when +``strict=True``). **getLastHostUpdate ts option** | PR: https://pagure.io/koji/pull-request/2766 -Historically we've passed aroung dates as text strings. Almost everywhere we're +Historically we've passed around 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. +option in the ``getLastHostUpdate`` call allows you to get a timestamp instead +of a string value. **Be tolerant with duplicate parents in _writeInheritanceData** @@ -173,9 +182,9 @@ parents in inheritance chain. | 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. +information about the package owner. Dropping this data simplifies the +underlying query to a faster one. If you're using this call in your automation +give it a chance to lower your database load. System Changes -------------- @@ -184,14 +193,15 @@ System Changes | 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. +based on data about task/build. +See :doc:`../defining_hub_policies` 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 +have something compatible. So, now egginfo, etc. should be properly installed and usable in virtualenvs. **Task ID for repos** @@ -201,9 +211,10 @@ and usable in virtualenvs. 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. +logs, etc. It was not easy to find the task that created a given repo. +This information is now tracked in the database, and reported in the web and CLI +interfaces. +It is also recorded in the ``repo.json`` file for the repo. **Add squashfs-only and compress-arg options to livemedia** @@ -217,22 +228,27 @@ Web | PR: https://pagure.io/koji/pull-request/2756 +Previously these values were shown as plain text in the web interface. +Now they should appears as links. + **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. +The tasks list page can be quite slow in many cases. +The primary cause of this is pagination and the underlying ``count(*)`` +query. +As PostgreSQL is very slow for this type of query we've removed the page count +for the first page which is loaded most often. +Subsequent pages will continue to show the count (and therefore also the +performance penalty in some situations). **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. +We've added some simple example client code to the API page, to help users get +started without having to dig through the rest of the documentation. Plugins @@ -241,15 +257,16 @@ Plugins | 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, +The sidetag plugin now allows defining a set of allowed suffixes which can be used +when creating the sidetag. You can distinguish between different 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. +The persistent message queue option (see :ref:`protonmsg-config`) was +broken. Now it should work correctly. Utilities @@ -262,16 +279,17 @@ Kojira | 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. +startup time for larger 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. +Previously kojira refused to delete repositories if the path did not match +the name of the tag the repo was based on. +This kept kojira from cleaning up repos after a build tag was renamed. +Now kojira also consults the ``repo.json`` which records the name of the tag +at the time the repo was created. **Tolerate floats in metadata timestamps** @@ -296,16 +314,19 @@ Garbage Collector | 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. +Every option that can be specified on the 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. +The gc policy now offers a ``hastag`` test for builds, similar to the test +offered by hub policies. + +This can be used in numerous ways. +One example (a ``protected`` tag that protects builds from pruning) is +described in the `original request `_. Documentation ------------- @@ -316,3 +337,5 @@ Documentation | PR: https://pagure.io/koji/pull-request/2772 | PR: https://pagure.io/koji/pull-request/2843 | PR: https://pagure.io/koji/pull-request/2799 + +Numerous small updates. From 8fd8273aab4ae02c0abdedce7eb8b44c44bfc705 Mon Sep 17 00:00:00 2001 From: Mike McLean Date: May 17 2021 07:10:53 +0000 Subject: [PATCH 4/5] fix code block --- diff --git a/docs/source/configuring_jenkins.rst b/docs/source/configuring_jenkins.rst index f8f1002..36b36c3 100644 --- a/docs/source/configuring_jenkins.rst +++ b/docs/source/configuring_jenkins.rst @@ -85,6 +85,7 @@ Configuration .. code-block:: shell + # merge PR into main repository if [ -n "$REPO" -a -n "$BRANCH" ]; then git config --global user.email "test@example.com" From ce6ee846bec9fb3b46ac7bf0bce624c68e244a46 Mon Sep 17 00:00:00 2001 From: Tomas Kopecek Date: May 18 2021 08:25:23 +0000 Subject: [PATCH 5/5] add pr --- diff --git a/docs/source/release_notes/release_notes_1.25.rst b/docs/source/release_notes/release_notes_1.25.rst index e4b6ee3..e5e00e5 100644 --- a/docs/source/release_notes/release_notes_1.25.rst +++ b/docs/source/release_notes/release_notes_1.25.rst @@ -22,21 +22,22 @@ Client Changes **More verbose error/warning messages** | PR: https://pagure.io/koji/pull-request/2615 +| PR: https://pagure.io/koji/pull-request/2694 | PR: https://pagure.io/koji/pull-request/2702 | PR: https://pagure.io/koji/pull-request/2703 +| PR: https://pagure.io/koji/pull-request/2709 +| PR: https://pagure.io/koji/pull-request/2727 +| PR: https://pagure.io/koji/pull-request/2733 +| PR: https://pagure.io/koji/pull-request/2738 | 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/2773 | 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 +| PR: https://pagure.io/koji/pull-request/2803 +| PR: https://pagure.io/koji/pull-request/2829 +| PR: https://pagure.io/koji/pull-request/2850 We've revised many calls which previously returned empty results to raise more meaningful errors. For example, ``koji list-untagged package_x`` previously did @@ -101,10 +102,10 @@ Library Changes --------------- **Better failed authentication/connections** +| PR: https://pagure.io/koji/pull-request/2723 | PR: https://pagure.io/koji/pull-request/2735 -| PR: https://pagure.io/koji/pull-request/2824 | PR: https://pagure.io/koji/pull-request/2794 -| PR: https://pagure.io/koji/pull-request/2723 +| PR: https://pagure.io/koji/pull-request/2824 | PR: https://pagure.io/koji/pull-request/2826 Connection errors now provide a bit more information for debugging. @@ -335,7 +336,7 @@ Documentation | 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 +| PR: https://pagure.io/koji/pull-request/2843 Numerous small updates.