fix: restart HA daemons on install/remove; add regression test (#179)

pvedaemon/pveproxy picked up the patched PVE::Storage state, but
pve-ha-lrm/pve-ha-crm kept running against the pre-install state, so
HA-managed VMs on TrueNAS storage failed to start. They don't support
a `restart` subcommand (only start/stop/status), so they're restarted
via systemctl instead. Also switched every restart from `cmd && log
...` to bare statements — set -e does not fire on the left side of
&&, so a genuine restart failure was previously swallowed silently
instead of aborting the script.

Adds tests/test-restart-services.sh: sources the real postinst/postrm
against stub PVE binaries in CI to catch both classes of regression
(wrong subcommand, silently-swallowed failure) without needing a live
PVE cluster. Real HA-cluster validation is documented as a manual
runbook (RUNBOOK-001) since GitHub Actions can't run pve-ha-lrm/crm.

Bumps $VERSION to 3.2.4.

Fixes #179

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
Kevin Adams
2026-08-01 17:57:46 -04:00
co-authored by Claude Sonnet 5
parent 55c2663163
commit d60adfaaf7
14 changed files with 328 additions and 45 deletions
+5
View File
@@ -68,6 +68,11 @@ jobs:
packaging/DEBIAN-multipath/postrm
echo "Shell scripts OK"
- name: Test postinst/postrm service restarts
run: |
echo "==> Running tests/test-restart-services.sh..."
bash tests/test-restart-services.sh
# ── Job 2: Build .deb ────────────────────────────────────────────────────────
build:
name: Build Package