From 5b6da358e269f1042846e125e8a36e6e70dee833 Mon Sep 17 00:00:00 2001 From: Mike McLean Date: Wed, 12 May 2021 17:31:12 -0400 Subject: [PATCH] misc fixes --- docs/source/migrations/migrating_to_1.25.rst | 4 +- .../release_notes/release_notes_1.25.rst | 175 ++++++++++-------- 2 files changed, 101 insertions(+), 78 deletions(-) diff --git a/docs/source/migrations/migrating_to_1.25.rst b/docs/source/migrations/migrating_to_1.25.rst index d1ab2c33..1a1f0d4f 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 57b72046..e4b6ee38 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.