fix(nspawn-container): Retry 0-setup-system.sh on failure (#586)

Other system processes can acquire a dpkg frontend lock on startup that
will cause the downloaded package install to fail. The setup script
continues without exiting and machinectl is not found.

This change forces the script to exit early on error, and adds 5 retries
to the systemd unit at 30s intervals.

Signed-off-by: Micah Hausler <hausler.m@gmail.com>
This commit is contained in:
Micah Hausler 2024-01-11 10:05:01 -08:00 committed by GitHub
parent 2a5ca12790
commit 070ff2ade6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 5 additions and 1 deletions

View File

@ -2,6 +2,8 @@
# This script installs systemd-container if it's not installed.
# Also links any containers from /data/custom/machines to /var/lib/machines.
set -e
if ! dpkg -l systemd-container | grep ii >/dev/null; then
if ! apt -y install systemd-container debootstrap; then
yes | dpkg -i /data/custom/dpkg/*.deb

View File

@ -2,11 +2,13 @@
Description=Setup custom container service
Wants=network-online.target
After=network-online.target
StartLimitBurst=5
[Service]
Type=oneshot
ExecStart=/data/on_boot.d/0-setup-system.sh
RemainAfterExit=yes
RestartSec=30
[Install]
WantedBy=multi-user.target