From 60f5256a764b457b05b4b5f35d26f31815553c8b Mon Sep 17 00:00:00 2001 From: Tomas Kopecek Date: Jan 15 2020 15:17:25 +0000 Subject: [PATCH 1/6] koji 1.20 release Fixes: https://pagure.io/koji/issue/1898 --- diff --git a/docs/source/conf.py b/docs/source/conf.py index 2b8808f..9fc789d 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -54,9 +54,9 @@ copyright = u'2017, Mike McLean, Mike B, Dennis Gilmore, Mathieu Bridon, Ian McL # built documents. # # The short X.Y version. -version = '1.19' +version = '1.20' # The full version, including alpha/beta/rc tags. -release = '1.19.1' +release = '1.20.0' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. diff --git a/docs/source/migrations/migrating_to_1.20.rst b/docs/source/migrations/migrating_to_1.20.rst new file mode 100644 index 0000000..4109c84 --- /dev/null +++ b/docs/source/migrations/migrating_to_1.20.rst @@ -0,0 +1,24 @@ +Migrating to Koji 1.20 +====================== + +You should consider the following changes when migrating to 1.20: + +DB Updates +---------- + +There are no big database schema changes in this release. There is only cleanup +of potentially not `dropped old constraint `_. + +As in previous releases, we provide a migration script that updates the +database. + +:: + + # psql koji koji < /usr/share/doc/koji/docs/schema-upgrade-1.19-1.20.sql + + +Other changes +------------- + +There are numerous other changes in 1.20 that should not have a direct impact on +migration. For details see: :doc:`../release_notes/release_notes_1.20` diff --git a/docs/source/migrations/migrations.rst b/docs/source/migrations/migrations.rst index 71857c5..9af81f0 100644 --- a/docs/source/migrations/migrations.rst +++ b/docs/source/migrations/migrations.rst @@ -5,6 +5,7 @@ Migrations .. toctree:: :maxdepth: 1 + migrating_to_1.20 migrating_to_1.19 migrating_to_1.18 migrating_to_1.17 diff --git a/docs/source/release_notes/release_notes.rst b/docs/source/release_notes/release_notes.rst index 04dfba5..17befc5 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.20 release_notes_1.19.1 release_notes_1.19 release_notes_1.18.1 diff --git a/docs/source/release_notes/release_notes_1.20.rst b/docs/source/release_notes/release_notes_1.20.rst new file mode 100644 index 0000000..c1fdfee --- /dev/null +++ b/docs/source/release_notes/release_notes_1.20.rst @@ -0,0 +1,468 @@ +Koji 1.20.0 Release notes +========================= + +Announcement: We're going to drop python 2 support for hub and web in +koji 1.22. Please, prepare yourself for deploying python 3 versions of +these. Both are already supported and this is the next step in +retiring python 2 codebase. + +Migrating from Koji 1.19 +------------------------ + +For details on migrating see :doc:`../migrations/migrating_to_1.20` + +Security Fixes +-------------- +None + +Client Changes +-------------- +**basic zchunk support for dist-repo** + +| PR: https://pagure.io/koji/pull-request/1743 + +Fixes: https://pagure.io/koji/issue/1198 + +From now on ``dist-repo`` supports new options ``--zck`` which enables +createrepo's zchunk generation and ``--zck-dict-dir`` which points to directory +on builder which contains zchunk dictionaries to use. + +**build can wait for actual repo** + +| PR: https://pagure.io/koji/pull-request/1626 +| PR: https://pagure.io/koji/pull-request/1889 + +New options ``--wait-build`` and ``--wait-repo`` for ``build`` command are +simplification of using ``wait-repo`` + ``build`` commands in succession. + +**Remove title option for livemedia-creator** + +| PR: https://pagure.io/koji/pull-request/1781 + +livemedia-creator dropped ``--title`` option, so we are. + +**--disabled alias for --not-enabled in list-hosts** + +| PR: https://pagure.io/koji/pull-request/1738 + +**unify return values for permission denied** + +| PR: https://pagure.io/koji/pull-request/1785 + +Some places were using ``print`` + ``return 1``, some `parser.error` calls. +Let's unify it to ``parser.error``. + +**list-pkgs: fix opts check** + +| PR: https://pagure.io/koji/pull-request/1848 +| PR: https://pagure.io/koji/pull-request/1814 + +Warn, if non-compatible options are used. + +**fix downloads w/o content-length** + +| PR: https://pagure.io/koji/pull-request/983 + +When content-length is not specified, whole file is read to memory. Use chunks instead. + +**refine output of list-signed** + +| PR: https://pagure.io/koji/pull-request/1828 + +Removed debug info. + +Library Changes +--------------- +**check ConfigParser object rather than config path list** + +| PR: https://pagure.io/koji/pull-request/1767 +| PR: https://pagure.io/koji/pull-request/1787 + +**sanity check on remotely opened RPMs** + +| PR: https://pagure.io/koji/pull-request/1829 + +Sometimes RPMs are not downloaded correctly into buildroot and it results in +weird errors. Simple check was added to detect corruption of downloaded files. + +**Replace urllib.request with requests library** + +| PR: https://pagure.io/koji/pull-request/1542 + +**util: rename "dict" arg** + +| PR: https://pagure.io/koji/pull-request/1807 + +dict is a built-in Python type. Don't use it as a variable name. + +**include profile name in parsed config options** + +| PR: https://pagure.io/koji/pull-request/1525 + +Fix behaviour to be in line with docs examples. + +**make rpm import optional in koji/__init__.py** + +| PR: https://pagure.io/koji/pull-request/1773 +| PR: https://pagure.io/koji/pull-request/1795 + +koji/__init__.py is being used more and more often in virtualenv. As rpm is +always the pain here and most users don't need those specific functions, we can +make it optional (and require only on spec level). Distribution via PyPi will be +less painful. + +API Changes +----------- +**getUser: default krb_princs value is changed to True** + +| PR: https://pagure.io/koji/pull-request/1872 + +This argument was added in PR #1648, whose default value is ``False``. It is +used to control if to show the ``krb_principals`` list in the result of +``getUser``. It is better to be shown by default, as it may confuse people that +Kerberos principal was deleted. + +**drop buildMap API call** + +| PR: https://pagure.io/koji/pull-request/1755 + +It was designed for GC, but it is not used anymore. + +**hub: new addArchiveType RPC** + +| PR: https://pagure.io/koji/pull-request/1149 + +Adds a new hub method for inserting new archivetype records. + +**raise ``GenericError`` on existing build reservation. + +| PR: https://pagure.io/koji/pull-request/1893 + +Previously database exception was propagated. Now, it is raising proper koji +exception. + +Web UI Changes +-------------- +**browsable api** + +| PR: https://pagure.io/koji/pull-request/1821 + +``koji list-api`` output browsable via web. + +**cluster health info page** + +| PR: https://pagure.io/koji/pull-request/1551 + +New web page showing current usage of build cluster. + +**fix closing table tag** + +| PR: https://pagure.io/koji/pull-request/1839 + +Fixed corrupted table. + +**Show build link(s) on buildContainer task page** + +| PR: https://pagure.io/koji/pull-request/284 + +Workaround before we have a proper web plugin API + +**human-friendly file sizes in taskinfo page** + +| PR: https://pagure.io/koji/pull-request/1820 + +Builder Changes +--------------- +**kojid: use binary msg for python3 in notification tasks** + +| PR: https://pagure.io/koji/pull-request/1892 + +Fix encoding problems in notification + +**split admin_emails option for kojid** + +| PR: https://pagure.io/koji/pull-request/1246 + +Fix for multiple addresses in kojid error handler. + +**Provide for passing credentials to SRPMfromSCM** + +| PR: https://pagure.io/koji/pull-request/1640 + +Builder's conf can now contain ``scm_credentials_dir`` option, where can be +stored authentication certificates or other data for use inside the mock when +building SRPMs for fetching data from authenticated SCMs. + +**Log kernel version used for buildroot** + +| PR: https://pagure.io/koji/pull-request/821 +| PR: https://pagure.io/koji/pull-request/1850 + +**use --update for dist-repos if possible** + +| PR: https://pagure.io/koji/pull-request/1037 + +Improves speed of new distrepos. + +**fix time type for restartHosts** + +| PR: https://pagure.io/koji/pull-request/1826 + +**no notifications in case of deleted tag** + +| PR: https://pagure.io/koji/pull-request/1380 + +In some cases (sidetags) tag can be deleted before untag notifications are sent, +so don't send them if tag is already deleted. + +**add _remote.repositories to ignored maven files** + +| PR: https://pagure.io/koji/pull-request/1732 + +Maven3 file type added to ignored. + +**check existence of maven symlink** + +| PR: https://pagure.io/koji/pull-request/1742 + +In recent Fedora's maven is alternatives symlink. Original check now failed even +if maven was installed. + +System Changes +-------------- +**QueryProcessor: fix countOnly for group sql** + +| PR: https://pagure.io/koji/pull-request/1845 + +WebUI returned an error on Users tab after multiple kerberos realms per user +were introduced. + +**limit distRepo tasks per tag** + +| PR: https://pagure.io/koji/pull-request/1869 +| PR: https://pagure.io/koji/pull-request/1912 + +Introduces ``distrepo.cancel_others`` extra flag for tags. If enabled, new +distRepo task will cancel previous non-finished ones leaving only new one. + +**do not use with statement with requests.get** + +| PR: https://pagure.io/koji/pull-request/1854 + +Older python-requests doesn't handle correctly ``with`` statement, so we've +avoided it for now. + +**clean all unused `import` and reorder imports** + +| PR: https://pagure.io/koji/pull-request/763 + +Making our code PEP-8 compliant. + +**fix CGRefundBuild to release build properly** +| PR: https://pagure.io/koji/pull-request/1853 + +Fixes for refunding failed/cancelled build. + +**gitignore: exclude .vscode folder** + +| PR: https://pagure.io/koji/pull-request/1862 + +trivial change in `.gitignore` + +**improve test and clean targets in Makefiles** + +| PR: https://pagure.io/koji/pull-request/723 + +**remove old db constraint** + +| PR: https://pagure.io/koji/pull-request/1790 + +**use BulkInsertProcessor for hub mass inserts** + +| PR: https://pagure.io/koji/pull-request/1714 +| PR: https://pagure.io/koji/pull-request/1847 + +Speed up mass inserts. + +**rm old test code** + +| PR: https://pagure.io/koji/pull-request/1798 + +Some files in the tree had bits of code that you could run if you executed the +files directly as scripts. Now that we have unit tests and the "fakehub" tool, +we do not need this code. + +**hub: build for policy check should be build_id in host.tagBuild** + +| PR: https://pagure.io/koji/pull-request/1797 + +**rpm: remove %defattr** + +| PR: https://pagure.io/koji/pull-request/1800 + +RHEL 5 and later do not require %defattr. + +**allow comma delimiter for allowed_methods** + +| PR: https://pagure.io/koji/pull-request/1745 + +Example config says, that comma is allowed, but it was not true. + +**hub: Fix issue with listing users and old versions of Postgres** + +| PR: https://pagure.io/koji/pull-request/1751 + +**Fix hub reporting of bogus ownership data** + +| PR: https://pagure.io/koji/pull-request/1753 + +**clean python compiled binaries for non *.py code** + +| PR: https://pagure.io/koji/pull-request/1695 + +**allow tag or target permissions as appropriate (on master)** + +| PR: https://pagure.io/koji/pull-request/1733 + +**More default values in example kojihub.conf** + +| PR: https://pagure.io/koji/pull-request/1739 + +Utilities Changes +----------------- +**Add koji-gc/kojira/koji-shadow to setup.py** + +| PR: https://pagure.io/koji/pull-request/1428 + +Koji utilities are now installlable from PyPi. + +Garbage Collector +................. +**untagging/moving to trashcan is very slow** + +| PR: https://pagure.io/koji/pull-request/1873 + +Rewrite of how koji-gc handles untagging. Multicalls are used now and some +speedup of related API calls is also included. + +**human-readable timestamp in koji-gc log** + +| PR: https://pagure.io/koji/pull-request/1691 + +**koji-gc: Fix up usage of default configuration file** + +| PR: https://pagure.io/koji/pull-request/1769 + +Previously, koji-gc would fail if run without a configuration file +being specified on the command line. + +**don't expect all buildReferences fields (koji-gc)** + +| PR: https://pagure.io/koji/pull-request/1724 + +Bug fix + +**koji-gc: fix typo in --ignore-tags** + +| PR: https://pagure.io/koji/pull-request/1726 + +DB Sweeper +.......... +**additional options to clean database** + +| PR: https://pagure.io/koji/pull-request/1824 + +Last release introduced new tool ``koji-sweep-db`` which is used to clean the +database. Few new options were added now like cleaning scratch builds, CG +reservations, notification tasks or unused buildroots. + +Note, that these new features are more technical preview. You need to use +``--force`` flag to run them for a good reason. They can a) take insane time to +finish b) remove data you never wanted to delete. Always test these commands in +safe environment, before running them in production. + +Cleaning sessions and reservations are still safe and they are primary goals of +the script. + +**turn on autocommit to eliminate VACUUMing errors** + +| PR: https://pagure.io/koji/pull-request/1771 + +**remove accuracy from koji-sweep-db timer** + +| PR: https://pagure.io/koji/pull-request/1761 + +**fix typo in table column name** + +| PR: https://pagure.io/koji/pull-request/1760 + +Kojikamid +......... +**A few fixes for kojikamid** + +| PR: https://pagure.io/koji/pull-request/1837 + +kojikamid (the daemon that runs in VMs) needs a few updates to be consistent +with changes to the the Koji data model, and Python 3 compatibility. + +Documentation Changes +--------------------- +**reorder docs** + +| PR: https://pagure.io/koji/pull-request/1716 +| PR: https://pagure.io/koji/pull-request/1794 + +**docstrings for API** + +| PR: https://pagure.io/koji/pull-request/1832 +| PR: https://pagure.io/koji/pull-request/1868 +| PR: https://pagure.io/koji/pull-request/1799 + +**document noarch rpmdiff behaviour** + +| PR: https://pagure.io/koji/pull-request/1875 + +**MaxRequestsPerChild -> MaxConnectionsPerChild** + +| PR: https://pagure.io/koji/pull-request/1804 + +**explain "compile/builder1" user principal** + +| PR: https://pagure.io/koji/pull-request/1806 + +**recommend 2048 bit keys** + +| PR: https://pagure.io/koji/pull-request/1805 + +**fix indent for reloading postgres settings** + +| PR: https://pagure.io/koji/pull-request/1801 + +**simplify admin bootstrapping intro** + +| PR: https://pagure.io/koji/pull-request/1802 + +**fix rST syntax for DB listening section** + +| PR: https://pagure.io/koji/pull-request/1803 + +**docs for partitioning buildroot_listings** + +| PR: https://pagure.io/koji/pull-request/1823 + +**document tag inheritance** + +| PR: https://pagure.io/koji/pull-request/1817 + +**clarify --ts usage** + +| PR: https://pagure.io/koji/pull-request/1775 + +**Update typeinfo metadata documentation + +| PR: https://pagure.io/koji/pull-request/1917 + +** add "--new" option in "grant-permission" help summary + +| PR: https://pagure.io/koji/pull-request/1918 +| PR: https://pagure.io/koji/pull-request/1921 diff --git a/koji.spec b/koji.spec index ccc77a1..9fd04a7 100644 --- a/koji.spec +++ b/koji.spec @@ -81,7 +81,7 @@ %define release %{baserelease} %endif Name: koji -Version: 1.19.1 +Version: 1.20.0 Release: %{release}%{?dist} License: LGPLv2 and GPLv2+ # the included arch lib from yum's rpmUtils is GPLv2+ diff --git a/setup.py b/setup.py index ea8b81b..bbb7bcc 100644 --- a/setup.py +++ b/setup.py @@ -35,7 +35,7 @@ def get_install_requires(): setup( name="koji", - version="1.19.1", + version="1.20.0", description=("Koji is a system for building and tracking RPMS. The base" " package contains shared libraries and the command-line" " interface."), From e7b70da3fc0b1e7b2b8a885ac14f4872698e64bf Mon Sep 17 00:00:00 2001 From: Mike McLean Date: Jan 20 2020 08:34:02 +0000 Subject: [PATCH 2/6] fix whitespace --- diff --git a/docs/source/release_notes/release_notes_1.20.rst b/docs/source/release_notes/release_notes_1.20.rst index c1fdfee..11de8fd 100644 --- a/docs/source/release_notes/release_notes_1.20.rst +++ b/docs/source/release_notes/release_notes_1.20.rst @@ -134,7 +134,7 @@ It was designed for GC, but it is not used anymore. Adds a new hub method for inserting new archivetype records. -**raise ``GenericError`` on existing build reservation. +**raise ``GenericError`` on existing build reservation. | PR: https://pagure.io/koji/pull-request/1893 From 56fdedbcae368d97f48c93c8486dadc299b8b52a Mon Sep 17 00:00:00 2001 From: Mike McLean Date: Jan 20 2020 08:34:02 +0000 Subject: [PATCH 3/6] missing closing markup --- diff --git a/docs/source/release_notes/release_notes_1.20.rst b/docs/source/release_notes/release_notes_1.20.rst index 11de8fd..42e2640 100644 --- a/docs/source/release_notes/release_notes_1.20.rst +++ b/docs/source/release_notes/release_notes_1.20.rst @@ -134,7 +134,7 @@ It was designed for GC, but it is not used anymore. Adds a new hub method for inserting new archivetype records. -**raise ``GenericError`` on existing build reservation. +**raise ``GenericError`` on existing build reservation.** | PR: https://pagure.io/koji/pull-request/1893 @@ -458,7 +458,7 @@ Documentation Changes | PR: https://pagure.io/koji/pull-request/1775 -**Update typeinfo metadata documentation +**Update typeinfo metadata documentation** | PR: https://pagure.io/koji/pull-request/1917 From 573d5bedc8606a787b8c25c8b232513c7832e7df Mon Sep 17 00:00:00 2001 From: Mike McLean Date: Jan 20 2020 08:34:02 +0000 Subject: [PATCH 4/6] a little cleanup --- diff --git a/docs/source/release_notes/release_notes_1.20.rst b/docs/source/release_notes/release_notes_1.20.rst index 42e2640..4c22b4a 100644 --- a/docs/source/release_notes/release_notes_1.20.rst +++ b/docs/source/release_notes/release_notes_1.20.rst @@ -17,23 +17,25 @@ None Client Changes -------------- -**basic zchunk support for dist-repo** +**Add basic zchunk support for dist-repo** | PR: https://pagure.io/koji/pull-request/1743 Fixes: https://pagure.io/koji/issue/1198 -From now on ``dist-repo`` supports new options ``--zck`` which enables -createrepo's zchunk generation and ``--zck-dict-dir`` which points to directory -on builder which contains zchunk dictionaries to use. +The ``dist-repo`` supports new options ``--zck``, which enables createrepo's +zchunk generation, and ``--zck-dict-dir``, which indicates the directory +the builder that contains zchunk dictionaries to use. -**build can wait for actual repo** +**Add repo waiting options to the build command** | PR: https://pagure.io/koji/pull-request/1626 | PR: https://pagure.io/koji/pull-request/1889 -New options ``--wait-build`` and ``--wait-repo`` for ``build`` command are -simplification of using ``wait-repo`` + ``build`` commands in succession. +New options ``--wait-build`` and ``--wait-repo`` for the ``build`` command +cause the build to wait for a repo regeneration. +This is similar to using ``wait-repo`` + ``build`` in succession, except +that the repo monitoring is handled in the build task itself. **Remove title option for livemedia-creator** @@ -41,76 +43,85 @@ simplification of using ``wait-repo`` + ``build`` commands in succession. livemedia-creator dropped ``--title`` option, so we are. -**--disabled alias for --not-enabled in list-hosts** +**Add --disabled option to list-hosts command** | PR: https://pagure.io/koji/pull-request/1738 -**unify return values for permission denied** +This option is simply an alias for the existing ``--not-enabled`` option. + +**Unify return values for permission denied** | PR: https://pagure.io/koji/pull-request/1785 Some places were using ``print`` + ``return 1``, some `parser.error` calls. Let's unify it to ``parser.error``. -**list-pkgs: fix opts check** +**list-pkgs: Fix opts check** | PR: https://pagure.io/koji/pull-request/1848 | PR: https://pagure.io/koji/pull-request/1814 -Warn, if non-compatible options are used. +Warn if non-compatible options are used. -**fix downloads w/o content-length** +**Fix downloads w/o content-length** | PR: https://pagure.io/koji/pull-request/983 When content-length is not specified, whole file is read to memory. Use chunks instead. -**refine output of list-signed** +**Refine output of list-signed** | PR: https://pagure.io/koji/pull-request/1828 Removed debug info. + Library Changes --------------- -**check ConfigParser object rather than config path list** +**Raise error when we have not configuration** | PR: https://pagure.io/koji/pull-request/1767 | PR: https://pagure.io/koji/pull-request/1787 -**sanity check on remotely opened RPMs** +Previously, Koji would proceed with only the coded defaults, +which is no longer sensible. + +**Sanity check on remotely opened RPMs** | PR: https://pagure.io/koji/pull-request/1829 Sometimes RPMs are not downloaded correctly into buildroot and it results in -weird errors. Simple check was added to detect corruption of downloaded files. +weird errors. A simple check was added to detect corruption of downloaded files. **Replace urllib.request with requests library** | PR: https://pagure.io/koji/pull-request/1542 -**util: rename "dict" arg** +**util: Rename "dict" arg** | PR: https://pagure.io/koji/pull-request/1807 -dict is a built-in Python type. Don't use it as a variable name. +The ``dslice`` and ``dslice_ex`` functions accepted an argument named ``dict``, +which conflicts with a built-in Python type. +These arguments have been renamed to ``dict_`` -**include profile name in parsed config options** +**Include profile name in parsed config options** | PR: https://pagure.io/koji/pull-request/1525 Fix behaviour to be in line with docs examples. -**make rpm import optional in koji/__init__.py** +**Make rpm import optional in koji/__init__.py** | PR: https://pagure.io/koji/pull-request/1773 | PR: https://pagure.io/koji/pull-request/1795 -koji/__init__.py is being used more and more often in virtualenv. As rpm is +``koji/__init__.py`` is being used more and more often in virtualenv. As rpm is always the pain here and most users don't need those specific functions, we can make it optional (and require only on spec level). Distribution via PyPi will be less painful. + API Changes ----------- **getUser: default krb_princs value is changed to True** From 611df947b081c6edfaca1312e63adf95d02ff639 Mon Sep 17 00:00:00 2001 From: Mike McLean Date: Jan 20 2020 08:34:02 +0000 Subject: [PATCH 5/6] partial edits --- diff --git a/docs/source/release_notes/release_notes_1.20.rst b/docs/source/release_notes/release_notes_1.20.rst index 4c22b4a..383a5e1 100644 --- a/docs/source/release_notes/release_notes_1.20.rst +++ b/docs/source/release_notes/release_notes_1.20.rst @@ -124,22 +124,22 @@ less painful. API Changes ----------- -**getUser: default krb_princs value is changed to True** + +**getUser: Default krb_princs value changed to True** | PR: https://pagure.io/koji/pull-request/1872 -This argument was added in PR #1648, whose default value is ``False``. It is -used to control if to show the ``krb_principals`` list in the result of -``getUser``. It is better to be shown by default, as it may confuse people that -Kerberos principal was deleted. +This argument was added in PR #1648, with a default value of ``False``. It is +used to control whether the ``krb_principals`` field is included in the result of +``getUser``. -**drop buildMap API call** +**Drop buildMap API call** | PR: https://pagure.io/koji/pull-request/1755 It was designed for GC, but it is not used anymore. -**hub: new addArchiveType RPC** +**hub: New addArchiveType RPC** | PR: https://pagure.io/koji/pull-request/1149 @@ -149,24 +149,25 @@ Adds a new hub method for inserting new archivetype records. | PR: https://pagure.io/koji/pull-request/1893 -Previously database exception was propagated. Now, it is raising proper koji +Previously a database exception was propagated. Now, it is raising a more informative exception. + Web UI Changes -------------- -**browsable api** +**Browsable api** | PR: https://pagure.io/koji/pull-request/1821 -``koji list-api`` output browsable via web. +The web ui now offers API introspection similar to the ``koji list-api`` command. -**cluster health info page** +**Cluster health info page** | PR: https://pagure.io/koji/pull-request/1551 New web page showing current usage of build cluster. -**fix closing table tag** +**Fix closing table tag** | PR: https://pagure.io/koji/pull-request/1839 @@ -176,21 +177,25 @@ Fixed corrupted table. | PR: https://pagure.io/koji/pull-request/284 -Workaround before we have a proper web plugin API +This is a temporary solution to the problem of connecting the builds and tasks +generated by the +`containerbuild plugin `. -**human-friendly file sizes in taskinfo page** +**Human-friendly file sizes in taskinfo page** | PR: https://pagure.io/koji/pull-request/1820 + Builder Changes --------------- -**kojid: use binary msg for python3 in notification tasks** + +**kojid: Use binary msg for python3 in notification tasks** | PR: https://pagure.io/koji/pull-request/1892 -Fix encoding problems in notification +Fix encoding problems in notification tasks -**split admin_emails option for kojid** +**Split admin_emails option for kojid** | PR: https://pagure.io/koji/pull-request/1246 @@ -209,13 +214,13 @@ building SRPMs for fetching data from authenticated SCMs. | PR: https://pagure.io/koji/pull-request/821 | PR: https://pagure.io/koji/pull-request/1850 -**use --update for dist-repos if possible** +**Use --update for dist-repos if possible** | PR: https://pagure.io/koji/pull-request/1037 Improves speed of new distrepos. -**fix time type for restartHosts** +**Fix time type for restartHosts** | PR: https://pagure.io/koji/pull-request/1826 @@ -239,8 +244,10 @@ Maven3 file type added to ignored. In recent Fedora's maven is alternatives symlink. Original check now failed even if maven was installed. + System Changes -------------- + **QueryProcessor: fix countOnly for group sql** | PR: https://pagure.io/koji/pull-request/1845 @@ -248,7 +255,7 @@ System Changes WebUI returned an error on Users tab after multiple kerberos realms per user were introduced. -**limit distRepo tasks per tag** +**Limit distRepo tasks per tag** | PR: https://pagure.io/koji/pull-request/1869 | PR: https://pagure.io/koji/pull-request/1912 @@ -256,38 +263,42 @@ were introduced. Introduces ``distrepo.cancel_others`` extra flag for tags. If enabled, new distRepo task will cancel previous non-finished ones leaving only new one. -**do not use with statement with requests.get** +**Do not use with statement with requests.get** | PR: https://pagure.io/koji/pull-request/1854 Older python-requests doesn't handle correctly ``with`` statement, so we've avoided it for now. -**clean all unused `import` and reorder imports** +**Clean all unused `import` and reorder imports** | PR: https://pagure.io/koji/pull-request/763 Making our code PEP-8 compliant. -**fix CGRefundBuild to release build properly** +**Fix CGRefundBuild to release build properly** | PR: https://pagure.io/koji/pull-request/1853 Fixes for refunding failed/cancelled build. -**gitignore: exclude .vscode folder** +**gitignore: Exclude .vscode folder** | PR: https://pagure.io/koji/pull-request/1862 trivial change in `.gitignore` -**improve test and clean targets in Makefiles** +**Improve test and clean targets in Makefiles** | PR: https://pagure.io/koji/pull-request/723 -**remove old db constraint** +**Remove old db constraint** | PR: https://pagure.io/koji/pull-request/1790 +In some cases, an old and now invalid db constraint may have persisted after +older schema updates, due to naming variation. +This change ensures the constraint is removed. + **use BulkInsertProcessor for hub mass inserts** | PR: https://pagure.io/koji/pull-request/1714 @@ -295,7 +306,7 @@ trivial change in `.gitignore` Speed up mass inserts. -**rm old test code** +**Remove old test code** | PR: https://pagure.io/koji/pull-request/1798 @@ -303,21 +314,23 @@ Some files in the tree had bits of code that you could run if you executed the files directly as scripts. Now that we have unit tests and the "fakehub" tool, we do not need this code. -**hub: build for policy check should be build_id in host.tagBuild** +**hub: Build for policy check should be build_id in host.tagBuild** | PR: https://pagure.io/koji/pull-request/1797 -**rpm: remove %defattr** +**rpm: Remove %defattr** | PR: https://pagure.io/koji/pull-request/1800 -RHEL 5 and later do not require %defattr. +Remove the %defattr line from the rpm spec file, as this has not been needed +since RHEL 5. -**allow comma delimiter for allowed_methods** +**Use comma delimiter for allowed_methods** | PR: https://pagure.io/koji/pull-request/1745 -Example config says, that comma is allowed, but it was not true. +The ``allowed_methods`` configuration option for the ``save_failed_tree`` plugin +now expects comma-separated values, as the example config indicates. **hub: Fix issue with listing users and old versions of Postgres** @@ -327,7 +340,7 @@ Example config says, that comma is allowed, but it was not true. | PR: https://pagure.io/koji/pull-request/1753 -**clean python compiled binaries for non *.py code** +**Clean python compiled binaries for non *.py code** | PR: https://pagure.io/koji/pull-request/1695 From 62527979ad7ea5b753b2233fcbf9733991c597ee Mon Sep 17 00:00:00 2001 From: Tomas Kopecek Date: Jan 20 2020 08:34:02 +0000 Subject: [PATCH 6/6] prune less important changes --- diff --git a/docs/source/release_notes/release_notes_1.20.rst b/docs/source/release_notes/release_notes_1.20.rst index 383a5e1..8a941cb 100644 --- a/docs/source/release_notes/release_notes_1.20.rst +++ b/docs/source/release_notes/release_notes_1.20.rst @@ -6,6 +6,9 @@ koji 1.22. Please, prepare yourself for deploying python 3 versions of these. Both are already supported and this is the next step in retiring python 2 codebase. +All changes can be found at `pagure `_. +Most important changes are listed here. + Migrating from Koji 1.19 ------------------------ @@ -56,26 +59,6 @@ This option is simply an alias for the existing ``--not-enabled`` option. Some places were using ``print`` + ``return 1``, some `parser.error` calls. Let's unify it to ``parser.error``. -**list-pkgs: Fix opts check** - -| PR: https://pagure.io/koji/pull-request/1848 -| PR: https://pagure.io/koji/pull-request/1814 - -Warn if non-compatible options are used. - -**Fix downloads w/o content-length** - -| PR: https://pagure.io/koji/pull-request/983 - -When content-length is not specified, whole file is read to memory. Use chunks instead. - -**Refine output of list-signed** - -| PR: https://pagure.io/koji/pull-request/1828 - -Removed debug info. - - Library Changes --------------- **Raise error when we have not configuration** @@ -93,18 +76,6 @@ which is no longer sensible. Sometimes RPMs are not downloaded correctly into buildroot and it results in weird errors. A simple check was added to detect corruption of downloaded files. -**Replace urllib.request with requests library** - -| PR: https://pagure.io/koji/pull-request/1542 - -**util: Rename "dict" arg** - -| PR: https://pagure.io/koji/pull-request/1807 - -The ``dslice`` and ``dslice_ex`` functions accepted an argument named ``dict``, -which conflicts with a built-in Python type. -These arguments have been renamed to ``dict_`` - **Include profile name in parsed config options** | PR: https://pagure.io/koji/pull-request/1525 @@ -125,7 +96,7 @@ less painful. API Changes ----------- -**getUser: Default krb_princs value changed to True** +**Default krb_princs value changed to True in getUser** | PR: https://pagure.io/koji/pull-request/1872 @@ -139,13 +110,13 @@ used to control whether the ``krb_principals`` field is included in the result o It was designed for GC, but it is not used anymore. -**hub: New addArchiveType RPC** +**New addArchiveType API call** | PR: https://pagure.io/koji/pull-request/1149 Adds a new hub method for inserting new archivetype records. -**raise ``GenericError`` on existing build reservation.** +**Raise GenericError on existing build reservation in in CGInitBuild** | PR: https://pagure.io/koji/pull-request/1893 @@ -167,12 +138,6 @@ The web ui now offers API introspection similar to the ``koji list-api`` command New web page showing current usage of build cluster. -**Fix closing table tag** - -| PR: https://pagure.io/koji/pull-request/1839 - -Fixed corrupted table. - **Show build link(s) on buildContainer task page** | PR: https://pagure.io/koji/pull-request/284 @@ -189,18 +154,6 @@ generated by the Builder Changes --------------- -**kojid: Use binary msg for python3 in notification tasks** - -| PR: https://pagure.io/koji/pull-request/1892 - -Fix encoding problems in notification tasks - -**Split admin_emails option for kojid** - -| PR: https://pagure.io/koji/pull-request/1246 - -Fix for multiple addresses in kojid error handler. - **Provide for passing credentials to SRPMfromSCM** | PR: https://pagure.io/koji/pull-request/1640 @@ -220,24 +173,14 @@ building SRPMs for fetching data from authenticated SCMs. Improves speed of new distrepos. -**Fix time type for restartHosts** - -| PR: https://pagure.io/koji/pull-request/1826 - -**no notifications in case of deleted tag** +**Don't send notifications in case of deleted tag** | PR: https://pagure.io/koji/pull-request/1380 In some cases (sidetags) tag can be deleted before untag notifications are sent, so don't send them if tag is already deleted. -**add _remote.repositories to ignored maven files** - -| PR: https://pagure.io/koji/pull-request/1732 - -Maven3 file type added to ignored. - -**check existence of maven symlink** +**Check existence of maven symlink** | PR: https://pagure.io/koji/pull-request/1742 @@ -263,68 +206,18 @@ were introduced. Introduces ``distrepo.cancel_others`` extra flag for tags. If enabled, new distRepo task will cancel previous non-finished ones leaving only new one. -**Do not use with statement with requests.get** - -| PR: https://pagure.io/koji/pull-request/1854 - -Older python-requests doesn't handle correctly ``with`` statement, so we've -avoided it for now. - -**Clean all unused `import` and reorder imports** - -| PR: https://pagure.io/koji/pull-request/763 - -Making our code PEP-8 compliant. - **Fix CGRefundBuild to release build properly** | PR: https://pagure.io/koji/pull-request/1853 Fixes for refunding failed/cancelled build. -**gitignore: Exclude .vscode folder** - -| PR: https://pagure.io/koji/pull-request/1862 - -trivial change in `.gitignore` - -**Improve test and clean targets in Makefiles** - -| PR: https://pagure.io/koji/pull-request/723 - -**Remove old db constraint** - -| PR: https://pagure.io/koji/pull-request/1790 - -In some cases, an old and now invalid db constraint may have persisted after -older schema updates, due to naming variation. -This change ensures the constraint is removed. - -**use BulkInsertProcessor for hub mass inserts** +**Use BulkInsertProcessor for hub mass inserts** | PR: https://pagure.io/koji/pull-request/1714 | PR: https://pagure.io/koji/pull-request/1847 Speed up mass inserts. -**Remove old test code** - -| PR: https://pagure.io/koji/pull-request/1798 - -Some files in the tree had bits of code that you could run if you executed the -files directly as scripts. Now that we have unit tests and the "fakehub" tool, -we do not need this code. - -**hub: Build for policy check should be build_id in host.tagBuild** - -| PR: https://pagure.io/koji/pull-request/1797 - -**rpm: Remove %defattr** - -| PR: https://pagure.io/koji/pull-request/1800 - -Remove the %defattr line from the rpm spec file, as this has not been needed -since RHEL 5. - **Use comma delimiter for allowed_methods** | PR: https://pagure.io/koji/pull-request/1745 @@ -332,26 +225,10 @@ since RHEL 5. The ``allowed_methods`` configuration option for the ``save_failed_tree`` plugin now expects comma-separated values, as the example config indicates. -**hub: Fix issue with listing users and old versions of Postgres** +**Fix issue with listing users and old versions of Postgres** | PR: https://pagure.io/koji/pull-request/1751 -**Fix hub reporting of bogus ownership data** - -| PR: https://pagure.io/koji/pull-request/1753 - -**Clean python compiled binaries for non *.py code** - -| PR: https://pagure.io/koji/pull-request/1695 - -**allow tag or target permissions as appropriate (on master)** - -| PR: https://pagure.io/koji/pull-request/1733 - -**More default values in example kojihub.conf** - -| PR: https://pagure.io/koji/pull-request/1739 - Utilities Changes ----------------- **Add koji-gc/kojira/koji-shadow to setup.py** @@ -362,37 +239,16 @@ Koji utilities are now installlable from PyPi. Garbage Collector ................. -**untagging/moving to trashcan is very slow** +**Speedup untagging/moving to trashcan** | PR: https://pagure.io/koji/pull-request/1873 Rewrite of how koji-gc handles untagging. Multicalls are used now and some speedup of related API calls is also included. -**human-readable timestamp in koji-gc log** - -| PR: https://pagure.io/koji/pull-request/1691 - -**koji-gc: Fix up usage of default configuration file** - -| PR: https://pagure.io/koji/pull-request/1769 - -Previously, koji-gc would fail if run without a configuration file -being specified on the command line. - -**don't expect all buildReferences fields (koji-gc)** - -| PR: https://pagure.io/koji/pull-request/1724 - -Bug fix - -**koji-gc: fix typo in --ignore-tags** - -| PR: https://pagure.io/koji/pull-request/1726 - DB Sweeper .......... -**additional options to clean database** +**New options to clean database** | PR: https://pagure.io/koji/pull-request/1824 @@ -408,18 +264,6 @@ safe environment, before running them in production. Cleaning sessions and reservations are still safe and they are primary goals of the script. -**turn on autocommit to eliminate VACUUMing errors** - -| PR: https://pagure.io/koji/pull-request/1771 - -**remove accuracy from koji-sweep-db timer** - -| PR: https://pagure.io/koji/pull-request/1761 - -**fix typo in table column name** - -| PR: https://pagure.io/koji/pull-request/1760 - Kojikamid ......... **A few fixes for kojikamid** @@ -431,62 +275,31 @@ with changes to the the Koji data model, and Python 3 compatibility. Documentation Changes --------------------- -**reorder docs** - -| PR: https://pagure.io/koji/pull-request/1716 -| PR: https://pagure.io/koji/pull-request/1794 - -**docstrings for API** +Lot of documentation was added in last release in API and also in docs pages. -| PR: https://pagure.io/koji/pull-request/1832 -| PR: https://pagure.io/koji/pull-request/1868 -| PR: https://pagure.io/koji/pull-request/1799 - -**document noarch rpmdiff behaviour** - -| PR: https://pagure.io/koji/pull-request/1875 - -**MaxRequestsPerChild -> MaxConnectionsPerChild** - -| PR: https://pagure.io/koji/pull-request/1804 -**explain "compile/builder1" user principal** - -| PR: https://pagure.io/koji/pull-request/1806 - -**recommend 2048 bit keys** - -| PR: https://pagure.io/koji/pull-request/1805 - -**fix indent for reloading postgres settings** +**Documentation** +| PR: https://pagure.io/koji/pull-request/1716 +| PR: https://pagure.io/koji/pull-request/1794 | PR: https://pagure.io/koji/pull-request/1801 - -**simplify admin bootstrapping intro** - | PR: https://pagure.io/koji/pull-request/1802 - -**fix rST syntax for DB listening section** - | PR: https://pagure.io/koji/pull-request/1803 - -**docs for partitioning buildroot_listings** - +| PR: https://pagure.io/koji/pull-request/1804 +| PR: https://pagure.io/koji/pull-request/1805 +| PR: https://pagure.io/koji/pull-request/1806 +| PR: https://pagure.io/koji/pull-request/1817 | PR: https://pagure.io/koji/pull-request/1823 +| PR: https://pagure.io/koji/pull-request/1875 +| PR: https://pagure.io/koji/pull-request/1917 -**document tag inheritance** +**API** -| PR: https://pagure.io/koji/pull-request/1817 +| PR: https://pagure.io/koji/pull-request/1799 +| PR: https://pagure.io/koji/pull-request/1832 +| PR: https://pagure.io/koji/pull-request/1868 -**clarify --ts usage** +**CLI** | PR: https://pagure.io/koji/pull-request/1775 - -**Update typeinfo metadata documentation** - -| PR: https://pagure.io/koji/pull-request/1917 - -** add "--new" option in "grant-permission" help summary - | PR: https://pagure.io/koji/pull-request/1918 -| PR: https://pagure.io/koji/pull-request/1921