Following Tim's user page[1] for autopkgtest.ubuntu.com and based on it,
I've created a /recent page[2] that Florent reviewed and contributed to.
Additionaly, after some discussions with Julian, I also added a JSON
output (I was initially hesitating to add an API which is why it's
versioned as "experimental").
Typically, one waits for britney to update the excuses page with the
tests they've triggered (either directly or through an upload). The user
page is useful but doesn't give insights on tests triggered by others.
However, britney can take two runs to pick up test results and runs
often take an hour or more. Moreover, britney gives a pretty limited
view of tests.
On the other hand, fetching and querying the database cannot be done
very frequently because it's a large file that cannot be efficiently
updated through HTTP: downloading every update of autopkgtest.db would
currently require almost 200Mbps.
With this new page, you can get results much more quickly than with
britney and find out what recently ran. I guess that
`retry-autopkgtest-regressions` could look at recent tests and not
re-trigger the ones that failed since the last britney run (NB: this
isn't currently implemented as it's probably good to wait a bit and see
if the API evolves; NB2: britney could also be made to look at queued
and running tests).
I'm sure you will find several other uses.
Currently, you can restrict the output with arch, release, user and
limit (the number of results). Others parameters could be added too
except triggers probably as it's likely an expensive database query.
I didn't try to add as many filters as possible upfront to avoid
over-engineering it and complicating the UI. The filters you see on the
/recent page and which are applied through the URL can be used the same
when fetching the JSON file.
By the way, it's possible this ends up being expensive for the server.
It currently takes around 1s to return up to 1000 results and it takes
around 2s to return 10 000 results. That's fine if requests are
infrequent but also probably too much if there are hundreds of hits
every minute. However, I think the user page has a similar cost and it
hasn't been an issue so far so that may be fine even without caching.
[1] e.g. https://autopkgtest.ubuntu.com/user/adrien/
[2] https://autopkgtest.ubuntu.com/recent
[3] https://autopkgtest.ubuntu.com/api/experimental/recent.json
--
Adrien
--
ubuntu-devel mailing list
ubuntu-devel@lists.ubuntu.com
Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel