kernel-testing britney interlock

Andy Whitcroft apw at canonical.com
Tue Sep 29 14:52:25 UTC 2020


tl;dr -- kernel packages will commonly be reported blocked/unblocks by
kernel-testing.  This is a new mechanism to interlock validated
kernel-testing with britney migration.

The current incarnations of britney cannot as yet distinguish running
kernels when considering test results.  This leads its view of those test
results for a specific kernel to include all results for all kernels.
This typically leads those test results to flap.  As these testing results
are reported incorrectly in order to make it possible to ever migrate
a kernel britney always condsiders kernel tests as always-failed rather
than as regressions.

Kernel testing is augmented by a kernel-team run test analyser; their
adt-matrix which sieves the results by the running kernel version and
summarises those.  These now correctly attributed results are currently
then fed back to britney via a block-proposed tag via a launchpad
tracking bug.  This is extremely fragile as the default position in
the absence of an appropiate bug is to release the kernel essentially
untested.  Several times recently kernels have evaded these blocks into
the developement release pocket.

In discussions with Laney we fleshed out an alternative blocking
strategy based on formal "subordinate" britney block/unblock hints.
britney block/unblock hints have a very desirable property of stacking
block under unblock, so we can place blocks for all versions of a kernel
package and only unblock specific tested versions.  This prevents any
loose versions being released accidentally.

We implement this in a similar manner to the hints delegated to the
ubuntu-rtm team.  we would delegate limited hint capability to the
ubuntu-kernel-release team (a new launchpad team).  These hints are
formally maintained in a separate repository belonging to this new team;
one branch per series (mirroring the proposed for for post git migration of
the primary hints).  This hint file is only be permitted to contain block
and unblock hints for kernel packages.  This is enforced by a validation
step which elides any hints which are not permitted before exposing
those blocks as a new hint "user" kernel-testing.  These are subordinate
blocks/unblocks in the sense that they are overridden by any direct block
by a release-team member.  That is a block-all source or block linux-xxx
in the main hints will trigger any matching unblock in the kernel-testing
hints to be elided, ensuring the release-team freeze blocks are honoured.

-apw



More information about the Ubuntu-release mailing list