Proposed pocket racing uninstallability and SRU verification around release time
Jason DeRose
jason at system76.com
Wed Oct 19 16:37:25 UTC 2016
On 10/17/2016 01:55 PM, Steve Langasek wrote:
> Hi Robie,
>
> [corrected the launchpad bug cc]
>
> On Mon, Oct 17, 2016 at 05:57:07PM +0100, Robie Basak wrote:
>> I just filed this bug: https://bugs.launchpad.net/ubuntu/+bug/1634201; I
>> Cc'd the bug so as to try and not fragment any discussion.
>
>> During development, we have packages in -proposed that fail to migrate,
>> as expected, for good reason.
>
>> At release time, these packages are still present. For example, Yakkety
>> released with libhcrypto4-heimdal:amd64 1.7~git20160703+dfsg-1 in
>> proposed, which is not in the release pocket because it is broken (see
>> bug 1617963).
>
>> I think we should be encouraging users to volunteer to risk testing
>> proposed in stable releases. This helps with SRU verification.
>
>> However, our current release process breaks these users when they
>> upgrade to a new release (which, given that they are testing the cutting
>> edge, they are likely to do early, before the proposed pocket has been
>> cleaned out).
>
>> This means that users, instead of being encouraged, are being
>> discouraged from testing the SRU proposed pocket since we are breaking
>> them with known bugs but delaying removal of those breakages.
>
>> Bug 1633653 is an example: a user with xenial-proposed enabled upgraded
>> to Yakkety one day after release, and this broke.
>
>> How can we adjust our release process to stop this happening?
>
> I have previously argued that -proposed should be treated the same way as
> -backports on end user systems, allowing users to have it enabled and select
> specific packages for installation without an apt upgrade pulling everything
> from that pocket. While the problem you describe is /worst/ right after a
> release has been marked stable, it's not unique to that time of the cycle;
> -proposed is always the place where packages sit *before* they are
> guaranteed to be coherently installable, so a wholesale upgrade is always
> risky. Just as an example, we have had various bug reports in the past
> about users who have enabled -proposed, then rendered their systems
> unbootable under Secure Boot because they upgraded at just the right moment
> for grub-efi-amd64-signed to come uninstalled. This is intrinsic to the
> core function of -proposed, and not something that we can shield users from
> except by discouraging them from dist-upgrading to -proposed.
>
> I don't think end users should be installing random packages from -proposed
> for purposes of fuzz testing of SRUs; it's just not worth the collateral
> damage nowadays.
Steve,
While I agree that *most* users shouldn't be bothering with -proposed,
there is still an important question: is the intent of -propsed to
reflect the likely soon-to-be state of a stable release via SRUs?
I think I have a good use-case for this: System76 would like to be much
more aggressive about testing -proposed to prevent regressions from
reaching our customers. In this case, it's not a matter of testing a
specific package in -proposed, it's a matter of testing *all* packages
in -proposed (and their interactions)... for the purpose of testing the
expected state of a stable release in the near future.
I think the concern that Robie Basak originally brought up (please
correct me if I'm wrong, Robbie) is that -proposed so often is littered
with packaging that will most likely *never* make their way into
-updates for a stable release. Yes, this tends to be worse during the
dev cycle for a new stable release and immediately after its release,
but it can also be quite bad during the lifetime of an LTS release.
For example, if you look at:
http://people.canonical.com/~ubuntu-archive/pending-sru.html
Xenial already has a package in -proposed that has been sitting there
for 138 days (librarian-puppet-simple). Grated, this package isn't
installed by default and so understandably is less critical in the grand
scheme of things. But previous experience watching this SRU page
suggests to me that this proposed `librarian-puppet-simple` package will
*never* make it to xenial-updates... so why is this package still there?
For a while I've thought that perhaps a reasonable solution would be to
automatically remove -proposed packages that fail to migrate to -updates
within a certain amount of time (one month, two months, whatever it may be).
I guess in summary, I see two important use cases for -proposed:
1) For stakeholders to test a single specific (source) package in
-proposed, especially for SRU verification when said stake holder either
filed a specific bug or is effected by a specific bug
2) For stakeholders to test, in total across all -proposed packages, the
soon-to-be expected state of the stable release, without awareness of
the details of any of these -proposed packages (especially without
needing to guess which specific ones are test-worthy)
I think making -proposed work like -backports can totally fix use case
(1), but I don't see how it really helps use case (2).
So is there any modest incremental step that can be taken to make
-proposed better reflect the likely total soon-to-be state of the stable
release, to eliminate the noise from packages that are already past the
point of likely ever reaching -updates?
My 2 cents :)
-Jason
More information about the Ubuntu-release
mailing list