9 Commits

Author SHA1 Message Date
Martin Pitt
8f1a646453 autopkgtest: Add "huge" AMQP queues
Add new "huge" AMQP queues

Whenever a package like glibc or perl gets uploaded, these trigger thousands of
tests that fill the queues for several days. This can't (solely) be addressed
by adding more capacity due to the sheer size. The main annoyance of this is
that this blocks propagation of every other package in -proposed during that
time.

AMQP has no concept of priorities within a queue (they are strictly FIFO), so
for packages that trigger a huge number of tests, send these to the new
debci-$release-huge-$arch queues instead.

LP: #1647948
2016-12-09 16:05:40 +01:00
Iain Lane
81d522ff29 sourceppa: Retry on timeouts
We're still seeing britney runs failing due to this exception. The
timeout has already been raised to 30 seconds - maybe retrying the
requests a few times will work better.
2016-12-09 10:45:14 +00:00
Robert Bruce Park
5c74268d75 Better debug logging for sourceppa problems. 2016-12-05 07:03:36 -07:00
Martin Pitt
18fd57e383 policies/sourceppa.py: Cache "no PPA" results as well
This accidentally got broken by 11705f4a7.
2016-11-17 18:39:38 +01:00
Martin Pitt
11705f4a7b Some PPA landing fixes
The original commit had an unreliable policy info (the peer PPA group), as
correct updating of friends' excuses depends on the processing order.

 - Also add the currently investigated package to the policy info.
 - Add a HTML excuse too, so that excuses.html actually shows the reason for
   blocking.
 - Don't invalidate other excuses multiple times.
 - Change the policy_info to always carry the friend information with it, as
   that's useful to know for accepted packages too. Adjust test_approve_ppa()
   accordingly.
 - Verify "reason" field in test_sourceppa_policy()
 - Add another integration test to ensure that this also applies to unbuilt
   packages, not just to rejection from other Policies.
 - Avoid FileNotFoundError, this does not yet exist in Python 3.2.
2016-11-17 17:37:49 +01:00
Robert Bruce Park
47f5f0da72 Reject packages if entire source ppa won't migrate 2016-11-17 11:56:12 +01:00
Martin Pitt
d7139521a8 Add "run-autopkgtest" tool to re-run tests 2016-11-17 11:28:53 +01:00
Martin Pitt
089ec5c27c Add autopkgtest policy
Add new autopkgtest policy: it determines the autopkgtests for a
source package (its own, direct reverse binary dependencies, and
Testsuite-Triggers), requests tests via AMQP, fetches results from swift, and
keeps track of pending tests between run. This also caches the downloaded
results from swift, as re-dowloading them all is very expensive.

This introduces two new hints:

 * force-badtest pkg/ver[/arch]: Failing results for that package will be
   ignored. This is useful to deal with broken tests that get imported from
   Debian or are from under-maintained packages, or broke due to some
   infrastructure changes. These are long-lived usually.

 * force-skiptest pkg/ver: Test results *triggered by* that package (i. e.
   reverse dependencies) will be ignored. This is mostly useful for landing
   packages that trigger a huge amount of tests (glibc, perl) where some tests
   are just too flaky to get them all passing, and one just wants to land it
   after the remaining failures have been checked. This should be used rarely
   and the hints should be removed immediately again.

Add integration tests that call britney in various scenarios on constructed
fake archives, with mocked AMQP and Swift results.
2016-11-17 11:28:53 +01:00
Dimitri John Ledkov
f8a1c5eb60 Teach excuse_unsat_deps() about components ogre model 2016-11-17 11:28:53 +01:00