1539 Commits

Author SHA1 Message Date
Łukasz 'sil2100' Zemczak
9c09500d72 Handle more gracefully the lack of access to result containers. 2023-11-21 19:07:53 +01:00
Łukasz 'sil2100' Zemczak
ca29f24c23 Remove the unused old cloud_package_set set file. 2023-04-12 14:56:20 +02:00
Aleksa Svitlica
04dc74a8cf feat(cloud): Add new cloud package set
The new cloud package set is a JSON file which has proper mapping of
source packages that Britney has to the binary packages that
cloud-test-framework expects.
2023-04-05 09:25:09 -04:00
Aleksa Svitlica
b0a569d303 feat(cloud): Add reporting
Add optional reporting of cloud tests. Cloud reporting includes the
package name, version, series and whether the test result was
pass/fail/error.

Cloud reporting requested by partners to be able to determine the amount
of packages tested.
2023-03-24 08:56:22 -04:00
Aleksa Svitlica
22f865d7ae feat(cloud): Add verdict info for passed tests
Additional verdict info is being provided by the CloudPolicy to improve
clarity on the state of cloud tests. When tests pass this will be marked
in the verdict. Also when a package is skipped because it is not in the
cloud package set this will be made clear in the verdict.
2023-03-23 16:06:44 -04:00
Łukasz 'sil2100' Zemczak
19515cea13 Some additional debugging, additional compatibility changes. 2023-02-16 17:30:44 +01:00
Łukasz 'sil2100' Zemczak
a1c4b0a78b Merge branch 'feat/cloud-policy/handle-test-errors' of git+ssh://git.launchpad.net/~aleksa-svitlica/cloudware/+git/britney2-ubuntu into sil2100/security-britney 2023-02-16 09:59:50 +01:00
Aleksa Svitlica
9246a3d583 fix(cloud): Replace PurePath with os.path.join
In Python 3.5 open does not work correctly with PurePath. Switching to
os.path.join to resolve this.
2023-02-15 12:41:14 -05:00
Łukasz 'sil2100' Zemczak
721fff7918 cloud: Add some unit tests for testing verdict store and the re-runs when only errors encountered. 2023-02-15 13:35:21 +01:00
Aleksa Svitlica
bea7377396 feat(cloud): Handle cloud testing errors
Cloud test framework can run into errors (like SSH connection drops)
which cause it to error out and not report test results. To handle these
kinds of errors the policy now checks the return code and stores
std_err.

Also updates the test already run check to not count states of zero
failures and non-zero errors; since this means the test framework
encountered an error external to the tests.
2023-02-14 22:44:24 -05:00
Łukasz 'sil2100' Zemczak
85c6716af6 Set the verdict correctly too. 2023-02-14 14:49:46 +01:00
Łukasz 'sil2100' Zemczak
340b41afe1 Save state file in-between runs to mark which packages have already been tested on the given clouds. 2023-02-14 14:22:43 +01:00
Łukasz 'sil2100' Zemczak
dde56aa490 Actually, don't override the options-passed ADT_PPAs if no need. 2023-02-13 16:08:35 +01:00
Łukasz 'sil2100' Zemczak
b2b1da42fa The autopkgtest policy basically turns adt_ppas into a list, so let's handle the case where the autopkgtest policy runs first. 2023-02-13 14:40:38 +01:00
Łukasz 'sil2100' Zemczak
be55223a67 Merge branch 'feat/add-cloud-policy' of git+ssh://git.launchpad.net/~aleksa-svitlica/cloudware/+git/britney2-ubuntu into sil2100/private-runs 2023-02-13 11:13:40 +01:00
Łukasz 'sil2100' Zemczak
1848597433 Support PPAs which have fingerprint enabled in them. 2023-02-13 11:03:59 +01:00
Aleksa Svitlica
f21d94d3b2 CloudPolicy: Support public PPAs with fingerprints
Updates the _parse_ppas function to also allow public PPAs with
fingerprints to be provided (team/name:fingerprint).
2023-02-10 13:21:01 -05:00
Aleksa Svitlica
2bd1584c84 CloudPolicy: Refactor to use adt_ppas
Cloud policy now uses the ADT_PPAS field as the source but will only
take private PPAS due to requiring a fingerprint. If ADT_PPAS is empty
then the 'proposed' archive is used.

Adds logic to try and retrieve the install source of a package from the
logs. This is useful if multiple PPAs are defined since the policy won't
explicitly know when contains the package under test.
2023-02-01 21:23:59 -05:00
Aleksa Svitlica
1c6f56ab79 Cloud Policy: Remove xunitparser dependency
To avoid an external dependency the required xunit parsing has been
implemented directly in the policy.
2023-01-23 20:17:01 -05:00
Aleksa Svitlica
c6e4e18a23 CloudPolicy: Move hardcoded values to config
Changes made
- Multiple hardcoded fields moved to config
- Series is now retrieved from options
- Pocket is now called source and retrieved from config
- Adds source type config which can be either archive or ppa
- Returns REJECTED_PERMANENTLY policy verdict when test failures or
  errors occur. Adds verdict info the the excuse.
2023-01-23 17:02:12 -05:00
Aleksa Svitlica
25875e7a27 Add CLOUD_ENABLE option to config
Updated to match other optional policies in how they are enabled or set
to dry-run.
2023-01-08 11:10:48 -05:00
Aleksa Svitlica
436626145b Add Cloud Policy
The cloud policy is currently used to test whether the proposed
migration will break networking for an image in the Azure cloud. Cloud
testing will likely increase in scope in the future.
2023-01-08 10:48:53 -05:00
Steve Langasek
de19e280b2 More optimizations to not query unused baseline results 2022-08-23 15:05:50 -07:00
Steve Langasek
479662c63e Don't query for baseline results we won't use.
britney currently spends a majority of its runtime querying for baseline
test results that it won't find, and that it doesn't need.  Refactor to
eliminate many of these excess queries.
2022-08-23 14:03:41 -07:00
Brian Murray
0998eeaa1a We moved away from freenode a while ago 2022-06-29 10:52:13 -07:00
Steve Langasek
e25ce3df68 Revert "Temporarily disable use of sqlite db for autopkgtests"
This reverts commit d4dfa22ed167a4176132070627be3a17342c7ce7.
2022-05-02 22:07:53 +02:00
Steve Langasek
d4dfa22ed1 Temporarily disable use of sqlite db for autopkgtests
The initial db population for the series takes quite a while, so to not block
on this for the release opening process we can let britney talk directly to
swift in the short term.
2022-04-27 14:39:49 -07:00
Łukasz 'sil2100' Zemczak
1c32e3014b Re-add Bileto 4810 to the temporary exclude list. 2022-03-30 10:42:26 +02:00
Łukasz 'sil2100' Zemczak
d51e0be23a Fix typo in bileto ppa name. 2022-03-28 18:46:07 +02:00
Julian Andres Klode
f078aa28d0 do not group the ppc64el rebuilds by their bileto ppa 2022-03-28 10:54:21 +02:00
Haw Loeung
fd20237673
Update email address used for emails
@canonical.com is now DKIM signed and SPF published which means emails
from proposed-migration running on snakefruit sending direct would
likely be caught out. Since we're here, the project is Ubuntu related
so switch to using an @ubuntu.com address instead.
2022-03-22 10:58:40 +11:00
Michael Hudson-Doyle
53aaf8f8e9 allow retrying on "Reference test in progress, but real test failed already" 2022-02-11 09:21:28 +13:00
Julian Andres Klode
86618a1b1d Only set SMOOTH_UPDATES = libs oldlibs
Setting ALL has weird side effects with kernel upgrades and
other random binary packages being removed from source packages.
2022-01-27 18:54:38 +01:00
Steve Langasek
0374455b65 Revert "Temporarily disable autohinter due to a recursion problem"
This reverts commit 83e6102613b37f3e464ecd269b9dd9c621075021.
2021-12-13 18:31:03 -08:00
Steve Langasek
83e6102613 Temporarily disable autohinter due to a recursion problem 2021-12-12 14:37:37 -08:00
Steve Langasek
e2847293df Set SMOOTH_UPDATES = ALL, which is correct for how Ubuntu handles binaries 2021-12-06 13:06:10 -08:00
Steve Langasek
d9d6261b0c Merge remote-tracking branch 'juliank/no-testing-triggers' 2021-11-19 08:34:59 -08:00
Steve Langasek
8239fe9fd7 RIP Adam :/ 2021-11-09 13:59:12 -08:00
Steve Langasek
36459dcdb7 Fix fencepost error when fetching autopkgtest results from sqlite
When querying swift there is no way to take results only newer than a
specified point, you can only query newer than or equal to.  But for sqlite
we can absolutely use > instead of >= and avoid re-processing results we've
already seen.
2021-11-06 22:09:02 -07:00
Steve Langasek
bbdd8105b2 Split all triggers, not just the first one 2021-11-06 19:19:10 -07:00
Steve Langasek
e7eae446b6 Merge remote-tracking branch 'juliank/check-new-migration-reference' 2021-11-05 17:47:32 -07:00
Julian Andres Klode
11a023d133 Only log force-reset-test hints for matching packages
Logging all force-reset-test hints for every package causes
about 850 MB of logs in the last run of 880 MB of logs in total,
let's only log ones matching the package instead, as we do for
force-badtest.
2021-11-06 00:08:28 +01:00
Julian Andres Klode
e9576d55e2 Check for new baseline results if we don't have any yet
In Ubuntu, we only fetch results on demand, so we might not
have seen the results yet.

Debian always fetches results at the beginning so has all the
data ready.
2021-11-05 23:18:15 +01:00
Julian Andres Klode
b60734f118 Do not add autopkgtest triggers that are already in testing
If the version of the trigger in testing is the same, skip it.
2021-11-05 21:44:09 +01:00
Steve Langasek
ef29d8e2c2 Set ADT_BASELINE=reference to honor baseline retests 2021-11-05 13:33:41 -07:00
Steve Langasek
e3f9714dbf Turn on support for pulling autopkgtest results from sqlite instead of swift 2021-10-22 16:49:18 -07:00
Steve Langasek
d87dbf0db2 Merge branch 'adt-results-from-swift' 2021-10-22 16:16:06 -07:00
Steve Langasek
383887a8e3 bdmurray-linting 2021-10-22 16:12:26 -07:00
Steve Langasek
4784a4c99b Merge branch 'options-not-mutually-exclusive' 2021-10-07 14:32:52 -07:00
Steve Langasek
a7b58b76e6 --print-uninst and --nuninst-cache are not mutually-exclusive
This check has been present for a long time but there is no reason for it -
there is code elsewhere that explicitly checks for both options being set
together and DTRT.  And this saves a minute on each britney run to not
regenerate uninstallability information that was just generated.
2021-10-07 01:08:45 -07:00