packages that are only in -proposed cause stalled "in progress" tests

Bug #1622846 reported by Martin Pitt
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Bileto
Invalid
Medium
Robert Bruce Park
britney
Fix Released
High
Martin Pitt

Bug Description

https://requests.ci-train.ubuntu.com/static/britney/landing-1931/yakkety/excuses.html currently shows:

qemu (1:2.6+dfsg-3ubuntu2 to 1:2.6.1+dfsg-0ubuntu1)
  autopkgtest for lava-dispatcher: amd64: Test in progress (always failed), armhf: Test in progress (always failed), i386: Test in progress (always failed), ppc64el: Test in progress (always failed), s390x: Test in progress (always failed)
  autopkgtest for lava-server: amd64: Test in progress, armhf: Test in progress (always failed), i386: Test in progress, ppc64el: Test in progress, s390x: Test in progress

These two packages got removed in xenial and now only exist in -proposed, where a silo test cannot see them.

These tests fail with code 12 "bad package":
W: Unable to locate package lava-server
autopkgtest [11:39:49]: ERROR: erroneous package: rules extract failed with exit code 1
blame: lava-server

https://objectstorage.prodstack4-5.canonical.com/v1/AUTH_77e2ada1e7a84929a74ba3b87153c0ac/autopkgtest-yakkety-ci-train-ppa-service-landing-1931/yakkety/i386/l/lava-server/20160912_113959@/log.gz

Revision history for this message
Martin Pitt (pitti) wrote :

Britney should not trigger tests which only exist in -proposed. We try to minimize what we look at in -proposed, so only tests in -release should be relevant.

Changed in britney:
status: New → Triaged
Changed in auto-package-testing:
status: New → Triaged
Changed in britney:
assignee: nobody → Martin Pitt (pitti)
Changed in auto-package-testing:
assignee: nobody → Martin Pitt (pitti)
Changed in britney:
importance: Undecided → High
Changed in auto-package-testing:
importance: Undecided → High
description: updated
Revision history for this message
Martin Pitt (pitti) wrote :
Changed in britney:
assignee: Martin Pitt (pitti) → nobody
status: Triaged → Fix Released
Changed in auto-package-testing:
status: Triaged → Fix Committed
Revision history for this message
Martin Pitt (pitti) wrote :

https://requests.ci-train.ubuntu.com/static/britney/landing-1931/yakkety/excuses.html still shows lava-server as bileto includes -proposed in the "testing" indexes for britney -- so britney has no chance of knowing that a package is only in -proposed.

IMHO bileto should not do that -- trying to land a silo into -release is cleaner and avoids breakage by unrelated packages in -proposed. There could theoretically be cases where a silo depends on a package which hasn't migrated to -release yet -- but then this is broken by definition and the silo must not/cannot land anyway.

affects: auto-package-testing → bileto
Changed in bileto:
status: Fix Committed → Triaged
assignee: Martin Pitt (pitti) → nobody
Changed in britney:
assignee: nobody → Martin Pitt (pitti)
Revision history for this message
Robert Bruce Park (robru) wrote :

I believe dobey has some strong opinions about this. How can it make sense to build against proposed but then not include proposed during testing? I was under the impression that you have to test against what you built against.

Revision history for this message
Martin Pitt (pitti) wrote : Re: [Bug 1622846] Re: packages that are only in -proposed cause stalled "in progress" tests

Robert Bruce Park [2016-09-14 5:54 -0000]:
> I believe dobey has some strong opinions about this. How can it make
> sense to build against proposed but then not include proposed during
> testing? I was under the impression that you have to test against what
> you built against.

If there are versioned dependencies to these build dependencies in
-proposed (like library shlibs), then of course the tests will run
against those as well. We minimize the set of packages we test against
in -proposed to what dependencies prescribe; we don't test against the
entirety of -proposed as that involves a whole lot more than just your
build deps and would lead to a lot more (unrelated) failures.

Revision history for this message
Robert Bruce Park (robru) wrote :

One thing to consider is that quite often a bileto ticket will contain a library and an app, the library introducing new API, and then the app begins using that API, and nobody bothers to version the dependencies.

Revision history for this message
Martin Pitt (pitti) wrote :

Robert Bruce Park [2016-09-14 22:59 -0000]:
> One thing to consider is that quite often a bileto ticket will contain a
> library and an app, the library introducing new API, and then the app
> begins using that API, and nobody bothers to version the dependencies.

That's normally done automatically via dpkg-shlibdeps. I. e. you add a
new symbol to a library, add it to debian/libfoo1.symbols, and dpkg
will check which symbol your program uses and create a dependency high
enough to satisfy all these symbols.

It's really good practice to build packages with "dh_makeshlibs --
-c4" so that the package FTBFS if you forgot to update the symbols
(otherwise it's just a warning and you get a diff in the build log
which is easy to ignore).

Otherwise you'd just get a linker failure in CI, which is then
pointing out an actual packaging error. And we already run packages in
isolation during actual tests, which tells us that our packages are
fine.

Revision history for this message
Robert Bruce Park (robru) wrote :

I'm still not convinced that it makes sense to not include -proposed in bileto britney. Can you comment on this, steve?

Changed in bileto:
status: Triaged → Incomplete
assignee: nobody → Robert Bruce Park (robru)
importance: High → Medium
Revision history for this message
Martin Pitt (pitti) wrote :

Let's keep the current "more strict than necessary" policy until we get too many complaints that this actually breaks things. If/once that happens, we can dial it down to run tests against release only (like we do for direct Ubuntu uploads).

Changed in bileto:
status: Incomplete → Invalid
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.