#746 Release 1.15.0
Merged 6 years ago by mikem. Opened 6 years ago by mikem.
mikem/koji release-1.15  into  master

@@ -0,0 +1,3 @@ 

+ -- Nothing to do

+ --

+ -- There were no schema changes between 1.14 and 1.15

file modified
+2 -2
@@ -54,9 +54,9 @@ 

  # built documents.

  #

  # The short X.Y version.

- version = '1.14'

+ version = '1.15'

  # The full version, including alpha/beta/rc tags.

- release = '1.14.0'

+ release = '1.15.0'

  

  # The language for content autogenerated by Sphinx. Refer to documentation

  # for a list of supported languages.

@@ -0,0 +1,20 @@ 

+ Migrating to Koji 1.15

+ ======================

+ 

+ ..

+   reStructured Text formatted

+ 

+ The update from to 1.15 is comparatively light from a migration perspective.

+ 

+ DB Updates

+ ----------

+ 

+ There are no schema updates in 1.15.

+ 

+ 

+ Other changes

+ -------------

+ 

+ There are numerous other changes in 1.15 that should not have a direct impact

+ on migration. For details see:

+ :doc:`release_notes_1.15`

@@ -5,6 +5,7 @@ 

  .. toctree::

      :maxdepth: 1

  

+     migrating_to_1.15

      migrating_to_1.14

      migrating_to_1.13

      migrating_to_1.12

@@ -5,6 +5,7 @@ 

  .. toctree::

      :maxdepth: 1

  

+     release_notes_1.15

      release_notes_1.14

      release_notes_1.13

  

@@ -0,0 +1,274 @@ 

+ Koji 1.15 Release Notes

+ =======================

+ 

+ Migrating from the previous release

+ -----------------------------------

+ 

+ For details on migrating see :doc:`migrating_to_1.15`

+ 

+ 

+ Client Changes

+ --------------

+ 

+ 

+ Display license Info

+ ^^^^^^^^^^^^^^^^^^^^

+ 

+ | PR: https://pagure.io/koji/pull-request/686

+ 

+ 

+ The ``rpminfo`` command now displays the ``License`` field from the rpm.

+ 

+ 

+ Keytabs for GSSAPI authentication

+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

+ 

+ | PR: https://pagure.io/koji/pull-request/708

+ 

+ Previously keytabs were only supported by the older kerberos auth method, which

+ is not available on Python 3. Now the gssapi method supports them as well.

+ 

+ 

+ Add krb_canon_host option

+ ^^^^^^^^^^^^^^^^^^^^^^^^^

+ 

+ | PR: https://pagure.io/koji/pull-request/653

+ 

+ This release adds a ``krb_canon_host`` option that tells Koji clients

+ to use the dns canonical hostname for kerberos auth.

+ 

+ This option allows kerberos authentication to work in situations where

+ the hub is accessed via a cname, but the hub's credentials are under

+ its canonical hostname.

+ 

+ If specified, this option takes precedence over the older

+ option named ``krb_rdns``. That option caused Koji clients to perform a

+ reverse name lookup for kerberos auth.

+ 

+ When configuring kojiweb (in web.conf), the option is named ``KrbCanonHost``.

+ 

+ Both options only affect the older kerberos authentication path, and not

+ gssapi.

+ 

+ 

+ Watch-task return code

+ ^^^^^^^^^^^^^^^^^^^^^^

+ 

+ | PR: https://pagure.io/koji/pull-request/703

+ 

+ Previously, the ``watch-task`` command would return a non-zero exit status

+ if any subtask failed, even if this did not cause the parent task to fail.

+ 

+ Now that we have cases where subtasks are optional, this no longer makes sense.

+ The exit code is now based solely on the results of

+ the top level tasks it is asked to watch.

+ 

+ 

+ New runroot options

+ ^^^^^^^^^^^^^^^^^^^

+ 

+ | PR: https://pagure.io/koji/pull-request/633

+ 

+ The ``runroot`` command now supports options similar to the various build commands. These new

+ options are:

+ 

+ 

+ .. code-block:: text

+ 

+   --nowait              Do not wait on task

+   --watch               Watch task instead of printing runroot.log

+   --quiet               Do not print the task information

+ 

+ 

+ New watch-logs options

+ ^^^^^^^^^^^^^^^^^^^^^^

+ 

+ | PR: https://pagure.io/koji/pull-request/625

+ 

+ The ``watch-logs`` command now supports the following new options:

+ 

+ .. code-block:: text

+ 

+   --mine      Watch logs for all your tasks

+   --follow    Follow spawned child tasks

+ 

+ 

+ Web UI changes

+ --------------

+ 

+ Archive component display

+ ^^^^^^^^^^^^^^^^^^^^^^^^^

+ 

+ | PR: https://pagure.io/koji/pull-request/610

+ 

+ Previously, the web UI only displayed component lists for image builds.

+ However, new build types can also have component lists.

+ 

+ Now the interface will display components for any archive that has them.

+ 

+ 

+ Display license Info

+ ^^^^^^^^^^^^^^^^^^^^

+ 

+ | PR: https://pagure.io/koji/pull-request/686

+ 

+ 

+ The ``rpminfo`` page now displays the ``License`` field from the rpm.

+ 

+ 

+ Show suid bit

+ ^^^^^^^^^^^^^

+ 

+ | PR: https://pagure.io/koji/pull-request/617

+ 

+ The web UI will now display the setuid bit when displaying rpm/archive file contents.

+ 

+ 

+ 

+ 

+ Builder changes

+ ---------------

+ 

+ 

+ Alternate tmpdir for mock chroots

+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

+ 

+ | PR: https://pagure.io/koji/pull-request/602

+ 

+ 

+ Recent versions of mock (1.4+) default to ``use_nspawn=True``, which results

+ in /tmp being a fresh tmpfs mount on every run. This means the /tmp

+ directory no longer persists outside of the mock invocation.

+ 

+ Now, the builder will use /builddir/tmp instead of /tmp for persistent data.

+ 

+ 

+ Store git commit hash

+ ^^^^^^^^^^^^^^^^^^^^^

+ 

+ | PR: https://pagure.io/koji/pull-request/674

+ 

+ In Koji, for builds from an SCM, the source is specified as an

+ scm url.

+ For git urls, the revision in that url can be anything that git

+ will recognize, including:

+ 

+     - a sha1 ref

+     - an abbreviated sha1 ref

+     - a branch name

+     - a tag

+     - HEAD

+ 

+ With this change:

+ 

+     * the revision is replaced with the full sha1 ref for git urls

+     * the scm url is stored in build.source

+     * the original scm url is saved in build.extra

+ 

+ Previously, this source url was not properly stored for rpm builds. It

+ appeared in the task parameters, but the build.source field remained blank.

+ If a symbolic git ref (e.g. HEAD) was given in the url, the underlying

+ sha1 value was only recorded in the task logs.

+ 

+ 

+ 

+ System changes

+ --------------

+ 

+ 

+ Volume policy support

+ ^^^^^^^^^^^^^^^^^^^^^

+ 

+ | PR: https://pagure.io/koji/pull-request/622

+ 

+ Koji has for many years had the ability to split its storage across multiple

+ volumes. However, there is no automatic process for placing builds onto

+ volumes other than the primary. To do so often requires a lot of manual work

+ from an admin.

+ 

+ This feature:

+ 

+     * adds a volume policy check to the key import pathways

+     * adds an applyVolumePolicy call to apply the policy to existing builds

+ 

+ The hub consults the volume policy at various points to

+ determine where a build should live. This allows admins to make rules like:

+ 

+     - all kernel builds go to the volume named kstore

+     - all builds built from the epel-7-build tag go to the volume named epel7

+     - all builds from the osbs content generator go to the volume named osbs

+ 

+ The default policy places all builds on the default volume.

+ 

+ See also: :doc:`volumes`

+ 

+ Messagebus plugin changes

+ ^^^^^^^^^^^^^^^^^^^^^^^^^

+ 

+ | PR: https://pagure.io/koji/pull-request/537

+ 

+ There are two notable changes to the messagebus plugin this release:

+ 

+ 

+ Deferred sending

+ """"""""""""""""

+ 

+ Similar to the current behavior of the protonmsg plugin, messages are queued

+ up during hub calls and only sent out during the ``postCommit`` callback.

+ 

+ This avoids sending messages about failed calls, which can be confusing to

+ message consumers (e.g. build state change messages about a build that does

+ not exist because it failed to import).

+ 

+ Test mode

+ """""""""

+ 

+ The plugin now looks for a boolean ``test_mode`` option. If it is true, then

+ the messages are still queued up, but not actually sent. This makes it

+ possible to enable the plugin in test environments without having to set up a

+ separate message bus.

+ 

+ 

+ Protonmsg plugin changes

+ ^^^^^^^^^^^^^^^^^^^^^^^^

+ 

+ | PR: https://pagure.io/koji/pull-request/657

+ | PR: https://pagure.io/koji/pull-request/651

+ 

+ There are two changes to how the protonmsg plugin handles rpmsign events:

+ 

+     1. The arch of the rpm is included in messages

+     2. The message are omitted when the sigkey is empty

+ 

+ 

+ 

+ No notifications for disabled users or hosts

+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

+ 

+ | PR: https://pagure.io/koji/pull-request/615

+ 

+ 

+ Koji will no longer send out email notifications to disabled users or

+ to users corresponding to a host.

+ 

+ 

+ Replace pycurl with requests

+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^

+ 

+ | PR: https://pagure.io/koji/pull-request/601

+ 

+ All uses of the pycurl library have been replaced with calls

+ to python-requests, so pycurl is no longer required.

+ 

+ 

+ Drop importBuildInPlace call

+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^

+ 

+ | PR: https://pagure.io/koji/pull-request/606

+ 

+ The deprecated ``importBuildInPlace`` call has been dropped.

+ 

+ This call was an artifact of a particular bootstrap event that happened a long

+ time ago. It was never really documented or recommended for use.

+ 

+ 

file modified
+67 -1
@@ -31,7 +31,7 @@ 

  %define release %{baserelease}

  %endif

  Name: koji

- Version: 1.14.0

+ Version: 1.15.0

  Release: %{release}%{?dist}

  License: LGPLv2 and GPLv2+

  # koji.ssl libs (from plague) are GPLv2+
@@ -478,6 +478,72 @@ 

  %endif

  

  %changelog

+ * Mon Dec 18 2017 Mike McLean <mikem at redhat.com> - 1.15.0-1

+ - PR#602: don't use /tmp in chroot

+ - PR#674: store git commit hash to build.source

+ - PR#492: Setuptools support

+ - PR#740: Check for login earlier

+ - PR#708: Implement support for keytab in gssapi codepaths

+ - PR#446: run checks earlier for cg_import

+ - PR#610: show components for all archives

+ - PR#578: cli: fix changelog encode for PY3

+ - PR#533: Treat canceled tasks as failed for optional_archs

+ - PR#686: Display license info in CLI's rpminfo and Web UI

+ - PR#718: convenience script to run py2 and py3 tests in parallel

+ - PR#722: docs: check external repos with taginfo

+ - PR#675: refactory cli unittests, move share code pieces to utilities library

+ - PR#714: Use task id as key to sort

+ - PR#707: add argument detection to prevent array out of index error.

+ - PR#717: Fix watch-tasks unit tests

+ - PR#615: don't send notifications to disabled users or hosts

+ - PR#698: set optional_arches to list

+ - PR#703: cli: make return code of watch_task to always ignore sub-task failure

+ - PR#704: cli: use strict with getTag call when appropriate

+ - PR#710: use `hasPerm` to check permission in save_failed_tree

+ - PR#699: Add documentation for storage volumes

+ - PR#693: Import koji.plugin explicitly

+ - PR#647: Don't check non-existing file

+ - PR#664: make grab_session_options to accept dict directly

+ - PR#673: functions for parsing task parameters

+ - PR#681: use six.StringIO everywhere

+ - PR#684: correct format and fix issue #682

+ - PR#646: Improve test coverage in koji/util

+ - PR#677: handle DateTime objects in encode_datetime

+ - PR#670: Create repo without --deltas if no old package dir is set

+ - PR#666: Few cheap python3 compatibilities

+ - PR#662: mock koji.commands._running_in_bg function to run unittest in background

+ - PR#645: don't fail on CLI plugins without docstrings

+ - PR#655: fix unreachable code

+ - PR#656: remove unused calls

+ - PR#652: add unittests for koji commands

+ - PR#658: consolidate safe_rmtree, rmtree and shutil.rmtree

+ - PR#660: more runroot tests

+ - PR#633: unify runroot CLI interface

+ - PR#649: delete build directory if cg_import fails

+ - PR#653: Add krb_canon_host option

+ - PR#657: protonmsg: include the arch in the headers of rpm sign messages

+ - PR#651: protonmsg: don't send rpm.sign messages when the sigkey is empty

+ - PR#654: Update links in docs to point to correct pages

+ - PR#631: cg_import fails immediately if build directory already exists

+ - PR#601: replace pycurl with requests

+ - PR#608: tests for handling user groups

+ - PR#637: set timezone to US/Eastern when test_build_notification executing

+ - PR#636: use urlparse.parse_qs instead of deprecated cgi.parse_qs

+ - PR#628: add a unit test for buildNotification task

+ - PR#620: some tests for koji.auth

+ - PR#625: watch-logs --mine --follow

+ - PR#629: fix wrong mock.patch target

+ - PR#598: kojira: speed up repo dist check

+ - PR#622: basic volume policy support

+ - PR#624: fix formatTime for DateTime

+ - PR#537: messagebus plugin: deferred sending and test mode

+ - PR#605: update docstring

+ - PR#611: the split_cli.py script is no longer needed

+ - PR#617: display suid bit in web ui

+ - PR#619: cleanup unnecessary subdir phony

+ - PR#606: drop importBuildInPlace call

+ - PR#609: move spin-livemedia to build section

+ 

  * Mon Sep 25 2017 Mike McLean <mikem at redhat.com> - 1.14.0-1

  - PR#597: use_old_ssl is deprecated

  - PR#591: Normalize paths for scms