PR#489 1.13 release

Merges #489
https://pagure.io/koji/pull-request/489
This commit is contained in:
Mike McLean 2017-06-30 15:00:26 -04:00
commit 47ae542b42
10 changed files with 301 additions and 1 deletions

View file

@ -26,11 +26,13 @@ Contents
external_repo_server_bootstrap
image_build
misc
release_notes
migrations
runs_here
server_bootstrap
server_howto
using_the_koji_build_system
profiles
plugins
writing_a_plugin
writing_koji_code

View file

@ -0,0 +1,49 @@
Migrating to Koji 1.13
======================
..
reStructured Text formatted
The 1.13 release of Koji includes a several changes that you should consider when
migrating.
DB Updates
----------
We have increased the length limit for tag names and there is a minor schema
change to support this.
As in previous releases, we provide a migration script that updates the
database.
::
# psql koji koji </usr/share/doc/koji/docs/schema-upgrade-1.12-1.13.sql
Packaging changes
-----------------
Because the CLI and base library now support both python2 and python3, the core
libs and most of the cli code have moved to separate packages for each major
Python version:
* python2-koji
* python3-koji
The main koji package still contains the (now much smaller) koji script, and
requires either python2-koji or python3-koji, depending on whether python3
support is enabled.
The CLI now also supports plugins, and two commands (runroot and
save-failed-tree) have moved to the `python[23]-koji-cli-plugins`
subpackages. If you need these subcommands, you may need to explicitly install
the appropriate koji-cli-plugins package.
Other changes
-------------
There are numerous other changes in 1.13 that should not have a direct impact
on migration. For details see:
:doc:`release_notes_1.13`

View file

@ -5,6 +5,7 @@ Migrations
.. toctree::
:maxdepth: 1
migrating_to_1.13
migrating_to_1.12
migrating_to_1.11
migrating_to_1.10

View file

@ -0,0 +1,12 @@
=============
Release Notes
=============
.. toctree::
:maxdepth: 1
release_notes_1.13
For releases before 1.13, see the migration guides:
:doc:`migrations`

View file

@ -0,0 +1,173 @@
Koji 1.13 Release Notes
=======================
Migrating from Koji 1.12
------------------------
For details on migrating see :doc:`migrating_to_1.13`
Client Changes
--------------
Python 3 client support
^^^^^^^^^^^^^^^^^^^^^^^
| PR: https://pagure.io/koji/pull-request/417
The koji command and core library now support Python 3 (as well as 2). The
default spec now produces both `python2-koji` and `python3-koji`
subpackages. The `koji` package still contains the (now much smaller)
``/usr/bin/koji`` file.
Some older features are not supported by the Python 3 client
* the `use_old_ssl` option is not supported, python-requests must be used
* the old kerberos auth mechanism is not supported, use gssapi instead
CLI Plugins
^^^^^^^^^^^
| PR: https://pagure.io/koji/pull-request/199
The command line interface now has basic plugin support. The primary use case
is for plugins to be able to add new subcommands.
For details see: :ref:`plugin-cli-command`
list-channels CLI command
^^^^^^^^^^^^^^^^^^^^^^^^^
| PR: https://pagure.io/koji/pull-request/442
The new `list-channels` command lists the known channels for the system.
.. code-block:: text
Usage: koji list-channels
(Specify the --help global option for a list of other help options)
Options:
-h, --help show this help message and exit
--quiet Do not print header information
hostinfo CLI command
^^^^^^^^^^^^^^^^^^^^
| PR: https://pagure.io/koji/pull-request/399
| Issue: https://pagure.io/koji/issue/364
The new ``hostinfo`` command shows basic information about a build host,
similar to the web interface.
.. code-block:: text
Usage: lkoji hostinfo [options] <hostname> [<hostname> ...]
(Specify the --help global option for a list of other help options)
Options:
-h, --help show this help message and exit
Enhancements to restart-hosts
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| PR: https://pagure.io/koji/pull-request/472
The `restart-hosts` command is used by admins to safely restart the build hosts
after a configuration change.
Because multiple restarts can confict, the command will now exit with a error
if a restart is already underway (can be overridden with --force).
There are now options to limit the restart to a given channel or arch.
The command now has a timeout option, which defaults to 24hrs.
User-Agent header
^^^^^^^^^^^^^^^^^
| PR: https://pagure.io/koji/pull-request/393
| Issue: https://pagure.io/koji/issue/392
Previously the Koji client library reported a confusingly out-of-date value
in the ``User-Agent`` header. Now it simply reports the major version.
raise error on non-existing profile
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| PR: https://pagure.io/koji/pull-request/375
| Issue: https://pagure.io/koji/issue/370
If the requested client profile is not configured, the library will raise an
error, rather than proceeding with default values.
See also: :doc:`profiles`
Changes to the Web interface
----------------------------
Build Log Display
^^^^^^^^^^^^^^^^^
| PR: https://pagure.io/koji/pull-request/471
The build info pages now display the log files for a build (instead of linking
directly to the directory on the download server). This works for all builds,
including those imported by content generators.
Builder changes
---------------
Configuring mock chroot behavior
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| PR: https://pagure.io/koji/pull-request/400
| Issue: https://pagure.io/koji/issue/398
Koji now supports using mock's --new-chroot option on a per-tag basis.
For details see: :ref:`tuning-mock-per-tag`
pre/postSCMCheckout callbacks
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
The callback interface is used by plugins to hook into various Koji operations.
With this release we have added callbacks in the builder daemon for before and
after source checkout: ``preSCMCheckout`` and ``postSCMCheckout``.
Extended allowed_scms format
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| PR: https://pagure.io/koji/pull-request/421
The allowed_scms option now accepts entries like:
::
!host:repository
to explicitly block a host:repository pattern.
See also: :ref:`scm-config`
System changes
--------------
mod_auth_gssapi required
^^^^^^^^^^^^^^^^^^^^^^^^
| PR: https://pagure.io/koji/pull-request/444
On modern platforms, both koji-hub and koji-web now require
mod_auth_gssapi instead of mod_auth_kerb.
Longer tag names
^^^^^^^^^^^^^^^^
| PR: https://pagure.io/koji/pull-request/388
| Issue: https://pagure.io/koji/issue/369
Previously, tag names were limited to 50 characters. They are now limited
to 256 characters.

View file

@ -1104,6 +1104,8 @@ By default it will look for the Kerberos keytab in ``/etc/kojid/kojid.keytab``
Kojid will not attempt kerberos authentication to the koji-hub unless the
username field is commented out
.. _scm-config:
Source Control Configuration
----------------------------

View file

@ -403,6 +403,9 @@ for example to get the latest buildroot for dist-f12-build run
you will need to pass in --topurl=https://kojipkgs.fedoraproject.org/ to
any mock-config command to get a working mock-config from fedoras koji.
.. _tuning-mock-per-tag:
Tuning mock's behaviour per tag
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

View file

@ -189,6 +189,9 @@ tagging a build:
$ koji tag-build mytag mypkg-1.0-1
.. _plugin-cli-command:
New command for CLI
-------------------

View file

@ -31,7 +31,7 @@
%define release %{baserelease}
%endif
Name: koji
Version: 1.12.0
Version: 1.13.0
Release: %{release}%{?dist}
License: LGPLv2 and GPLv2+
# koji.ssl libs (from plague) are GPLv2+
@ -472,6 +472,61 @@ fi
%endif
%changelog
* Fri Jun 30 2017 Mike McLean <mikem at redhat.com> - 1.13.0-1
- PR#496 Makefile/spec fixes for building on el6
- PR#491 epel-compatible macro in spec
- PR#487 alter specfile for rhel6/7
- PR#488 python2.5 doesn't know named components
- PR#400 per-tag configuration of chroot mock behaviour
- PR#480 koji_cli name interferes with new library
- PR#475 fix StringType and itervalues in plugin and cli
- PR#476 provide a temporary workdir for restart task unit tests
- PR#477 update .gitignore
- PR#465 Don't allow not-null empty arch/userID in listHosts
- PR#471 Rework build log display in web ui
- PR#472 New features for restart-hosts command
- PR#474 propagate task.assign return value
- PR#353 add pre/postSCMCheckout plugin_callbacks
- PR#199 CLI plugins
- PR#449 Make sure to fix encoding all RPM Headers
- PR#442 list-channels CLI command
- PR#445 log failed plugin
- PR#441 document easier bootstrap for groups
- PR#438 Fix traceback for missing update
- PR#453 honor --quiet in list-tagged
- PR#448 Fix python3 deps
- PR#450 epel-compatible python3 macros
- PR#444 require mod_auth_gssapi instead of mod_auth_kerb where applicable
- PR#434 devtools: fakehub and fakeweb
- PR#447 python3 docs update
- PR#417 Python3 support for CLI + XMLRPC client
- PR#421 Extend allowed_scms format to allow explicit blocks
- PR#424 handle task fault results in download-logs
- PR#431 don't inspect results for failed createImage tasks
- PR#430 note about where API docs are found
- PR#403 fixEncoding for changelogs
- PR#402 parse deleted mountpoints
- PR#418 use old tarfile arguments
- PR#422 doc: use `tag-build` instead of alias cmd `tag-pkg`
- PR#404 XZ threads are very bad about memory, so use only two threads.
- PR#408 Support proxyuser=username in krbLogin
- PR#411 Replace references to cvs with modern git examples
- PR#381 use /etc/ in the spec file
- PR#380 Make raw-xz faster by using xz threads
- PR#397 missing argument
- PR#399 Added hostinfo command to cli
- PR#401 add default_md to docs (ssl.cnf)
- PR#394 link to kojiji (Koji Java Interface)
- PR#388 Increase 50 character limit of tag names
- PR#352 Optional JSON output for 'koji call'
- PR#393 remove minor version from User-Agent header
- PR#372 update jenkins config
- PR#375 raise error on non-existing profile
- PR#382 update the 1.11 to 1.12 upgrade schema for BDR
- PR#384 Pull in some get_header_fields enhancements from Kobo
- PR#378 Couple of small fixes to the koji documentation
- PR#385 allow kojid to start when not using ssl cert auth
* Tue Apr 18 2017 Mike McLean <mikem at redhat.com> - 1.12.0-1
- PR#373 backward-compatible try/except
- PR#365 handle buildroots with state=None