[Git][qa/jenkins.debian.net][master] r.d.n.: do pkgsync via systemd service with timer for riscv64
Holger Levsen (@holger)
gitlab at salsa.debian.org
Sat Apr 5 22:39:09 BST 2025
Holger Levsen pushed to branch master at Debian QA / jenkins.debian.net
Commits:
adfa7fb1 by Holger Levsen at 2025-04-05T23:38:59+02:00
r.d.n.: do pkgsync via systemd service with timer for riscv64
Signed-off-by: Holger Levsen <holger at layer-acht.org>
- - - - -
5 changed files:
- TODO.rebuilderd-systemd-units
- bin/rebuilderd_pkgsync.sh
- + hosts/osuosl5-amd64/etc/systemd/system/rebuilderd-pkgsync at .service
- + hosts/osuosl5-amd64/etc/systemd/system/rebuilderd-pkgsync at .timer
- update_jdn.sh
Changes:
=====================================
TODO.rebuilderd-systemd-units
=====================================
@@ -1,9 +1,3 @@
-pkg sync timers
- run every 6h +- 30min, 2.5h after dinstall
- https://www.freedesktop.org/software/systemd/man/latest/systemd.timer.html#RandomizedDelaySec=
- + a big AccuracySec=
-
-
rebuilderd backup
unit or script which stops and disables the rebuilded service
and which woud be run by cron...
=====================================
bin/rebuilderd_pkgsync.sh
=====================================
@@ -6,11 +6,12 @@
set -e
set -o pipefail # see eg http://petereisentraut.blogspot.com/2010/11/pipefail.html
+ARCH=$1
JQQUERY='.[] | select(.architecture != "all")'
#
# choose correct port
#
-case $1 in
+case $ARCH in
all) PORT=8489
JQQUERY='.[] | select(.architecture = "all")'
;;
@@ -29,21 +30,10 @@ case $1 in
;;
esac
-ARCH=$1
-shift
-
-# REBUILDERD_COOKIE_PATH could be set by service
-export REBUILDERD_COOKIE_PATH=/srv/rebuilderd/$ARCH/.auth-cookie
-while true ; do
- /opt/usr/bin/rebuildctl -H http://127.0.0.1:$PORT pkgs sync-profile \
- --sync-config /opt/etc/rebuilderd-sync-${ARCH}.conf debian-main \
- --print-json \
- | jq "$JQQUERY" \
- | jq -s \
- | /opt/usr/bin/rebuildctl -H http://127.0.0.1:$PORT pkgs sync-stdin debian main
- ST=$(shuf -i 150-210 -n 1)
- echo sleeping ${ST}m now
- sleep ${ST}m
-done
-
-
+# REBUILDERD_COOKIE_PATH is be set by service
+/opt/usr/bin/rebuildctl -H http://127.0.0.1:$PORT pkgs sync-profile \
+ --sync-config /opt/etc/rebuilderd-sync-${ARCH}.conf debian-main \
+ --print-json \
+ | jq "$JQQUERY" \
+ | jq -s \
+ | /opt/usr/bin/rebuildctl -H http://127.0.0.1:$PORT pkgs sync-stdin debian main
=====================================
hosts/osuosl5-amd64/etc/systemd/system/rebuilderd-pkgsync at .service
=====================================
@@ -0,0 +1,9 @@
+[Unit]
+Description=Periodically import packages to be rebuild by rebuilderd
+
+[Service]
+Environment="REBUILDERD_COOKIE_PATH=/srv/rebuilderd/%i/.auth-cookie"
+ExecStart=/srv/jenkins/bin/rebuilderd_pkgsync.sh %i
+RemainAfterExit=no
+Type=oneshot
+
=====================================
hosts/osuosl5-amd64/etc/systemd/system/rebuilderd-pkgsync at .timer
=====================================
@@ -0,0 +1,10 @@
+[Unit]
+Description=Periodically import packages to be rebuild by rebuilderd
+
+[Timer]
+# dinstall runs 1|7|13|19:52 UTC - see https://salsa.debian.org/ftp-team/dak/blob/master/config/debian/crontab
+OnCalendar=3,9,15,21
+RandomizedDelaySec=1200
+
+[Install]
+WantedBy=timers.target
=====================================
update_jdn.sh
=====================================
@@ -776,10 +776,16 @@ deploy_rebuilderd_services() {
sudo systemctl enable rebuilderd-worker@${i}.service
done
elif [ "$1" = "rebuilderd" ] ; then
- for i in $2 ; do
+ for i in $2 ; do
sudo ln -sf rebuilderd at .service rebuilderd@${i}.service
sudo systemctl enable rebuilderd@${i}.service
- done
+ done
+ elif [ "$1" = "pkgsync" ] ; then
+ for i in $2 ; do
+ sudo ln -sf rebuilderd-pkgsync at .service rebuilderd-pkgsync@${i}.service
+ sudo ln -sf rebuilderd-pkgsync at .timer rebuilderd-pkgsync@${i}.timer
+ sudo systemctl enable rebuilderd-pkgsync@${i}.service
+ done
fi
cd -
}
@@ -798,6 +804,7 @@ case $HOSTNAME in
riscv64*) deploy_rebuilderd_services worker 3
;;
osuosl5*) deploy_rebuilderd_services rebuilderd "all amd64 arm64 armhf i386 riscv64"
+ deploy_rebuilderd_services pkgsync "riscv64"
;;
*) ;;
esac
View it on GitLab: https://salsa.debian.org/qa/jenkins.debian.net/-/commit/adfa7fb100837314bf0436ed637c5ef9a55b4697
--
View it on GitLab: https://salsa.debian.org/qa/jenkins.debian.net/-/commit/adfa7fb100837314bf0436ed637c5ef9a55b4697
You're receiving this email because of your account on salsa.debian.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/qa-jenkins-scm/attachments/20250405/30afad53/attachment-0001.htm>
More information about the Qa-jenkins-scm
mailing list