64 lines
3.9 KiB
Text
64 lines
3.9 KiB
Text
Performing a (re)bootstrapping of symbols scraping process
|
|
==========================================================
|
|
|
|
Whenever for any reason the symbol scraping process might have been faulty long
|
|
enough, we can end up (currently) in a situation where the recorded status of
|
|
`SHA256SUMS.zip` on the TaskCluster index is inconsistent with what we really
|
|
processed.
|
|
|
|
This document aims at explaining what needs to be done and where to recover
|
|
from that state (this is based on the experience from bug 1893156).
|
|
|
|
First, you need to identify since how long the problem has been present. As of
|
|
now there is no really better tooling than processing manually the cron tasks
|
|
logs and see when it started to fail.
|
|
|
|
Once you have identified a date, the next step is to work on the bootstrapping
|
|
content. As visible in
|
|
https://searchfox.org/mozilla-central/rev/f6e3b81aac49e602f06c204f9278da30993cdc8a/taskcluster/docker/system-symbols-linux-scraper/run.sh#62,
|
|
the first source of truth is the gh-pages branch of the symbol-scrapers github
|
|
repository: https://github.com/mozilla/symbol-scrapers/tree/gh-pages. This
|
|
source of truth is evaluated ONLY if the TaskCluster index is NOT present. The
|
|
route is being computed from the running task's definition:
|
|
https://searchfox.org/mozilla-central/rev/f6e3b81aac49e602f06c204f9278da30993cdc8a/taskcluster/docker/system-symbols-linux-scraper/run.sh#14
|
|
from which we ONLY consider the `latest` alias.
|
|
|
|
As of today the index is for example for debian:
|
|
index.gecko.v2.mozilla-central.latest.system-symbols.debian and thus one can
|
|
explore the content at
|
|
https://firefox-ci-tc.services.mozilla.com/tasks/index/gecko.v2.mozilla-central.latest.system-symbols.debian,
|
|
other means of browsing including pushdate allows to find e.g.,
|
|
https://firefox-ci-tc.services.mozilla.com/tasks/index/gecko.v2.mozilla-central.pushdate.2024.04.20.20240420094034.system-symbols/debian
|
|
from which we can get a link to the sums file:
|
|
https://firefox-ci-tc.services.mozilla.com/api/index/v1/task/gecko.v2.mozilla-central.pushdate.2024.04.20.20240420094034.system-symbols.debian/artifacts/public%2Fbuild%2FSHA256SUMS.zip
|
|
|
|
Once you have identified WHEN the problem arose, you can take the above URL
|
|
(adapting with the correct date) and adapting to the various distributions.
|
|
|
|
Make sure you have an uptodate git clone of the mozilla/symbol-scrapers
|
|
repository, checkout a new branch out of the gh-pages tree, and you can proceed
|
|
to the data extraction following (example with a different date):
|
|
for distro in alpine archlinux debian fedora firefox-flatpak firefox-snap gnome-sdk-snap mint opensuse ubuntu; do
|
|
wget https://firefox-ci-tc.services.mozilla.com/api/index/v1/task/gecko.v2.mozilla-central.pushdate.2024.02.07.latest.system-symbols.$distro/artifacts/public%2Fbuild%2FSHA256SUMS.zip -O $distro/SHA256SUMS.zip;
|
|
done;
|
|
mv archlinux/SHA256SUMS.zip arch/
|
|
|
|
Please note that there's a slight difference in naming, archlinux vs arch.
|
|
Please note other distros might have been added since so you need to adapt.
|
|
|
|
Send a pull request once this is OK, make it reviewed or merge it.
|
|
|
|
As of now, the content of the boostrapping process is in the state we want, but
|
|
if you run a symbols scraping task, it will still pull data from the
|
|
TaskCluster index. This time, you need to use the index that refers to latest
|
|
and NOT the pushdate or another one, so the index used in the example SHOULD be
|
|
good. You just have to run deleteTask (with the appropriate credentials if you
|
|
have them, or ask releng for help in #firefox-ci):
|
|
for distro in alpine archlinux debian fedora firefox-flatpak firefox-snap gnome-sdk-snap mint opensuse ubuntu; do
|
|
taskcluster api index deleteTask gecko.v2.mozilla-central.latest.system-symbols.$distro
|
|
done;
|
|
|
|
From there, HTTP queries to (for the debian example)
|
|
https://firefox-ci-tc.services.mozilla.com/tasks/index/gecko.v2.mozilla-central.latest.system-symbols.debian
|
|
would return 404, which will make the symbol scraping tasks search its data on
|
|
GitHub.
|