Files
local-ci-cd-system/plans/B2-closeout.md
T
Simone bbd376f057 docs: add B1–B4 closeout docs and rewrite B5-closeout as completed
B1: Linux Mint + VMware Workstation + setup-host-linux.sh (Python 3.12 note)
B2: rsync template transfer, VMX registration, smoke tests; keyrings.alt choice
B3: SSH key perms, BuildVMGuest + GiteaPAT via PlaintextKeyring (D-Bus-free)
B4: act-runner.service, config.yaml labels/envs fix, smoke job PASS
B5: rewritten — Python-only timers (no pwsh), 7z compression, --service-name
    act-runner fix, prerequisite dirs, root service for backup

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-05-21 20:57:19 +02:00

2.0 KiB

B2 — Closeout

Passo B2 di plans/PhaseB-user-checklist.md: trasferimento template VM da F:\CI\Templates\ a /var/lib/ci/templates/ con integrità snapshot.

Stato

COMPLETATO — 3 template trasferiti, snapshot validati, smoke test PASS.

Cosa è stato fatto

  • Verificato assenza di *.vmem/*.vmsn di runtime sui template Windows prima della copia (VM spente).
  • Trasferimento via rsync SSH da Windows → Linux per tutti e 3 i template:
    • WinBuild2025 (snapshot BaseClean)
    • WinBuild2022 (snapshot BaseClean)
    • LinuxBuild2404 (snapshot BaseClean-Linux)
  • Snapshot validati con vmrun -T ws listSnapshots su ciascun .vmx.
  • Ogni .vmx aperto in Workstation Linux GUI; risposto "I copied it" al prompt di registrazione.
  • Keyring file-based configurato anticipatamente per ci-runner (prerequisito del smoke test Windows; il setup completo è in B3):
    • keyrings.alt.file.PlaintextKeyring scelto al posto di secret-tool (vedi Deviazioni).
    • Credenziale BuildVMGuest salvata con tools/ci-cred-set.py.
  • Smoke test vm new + wait-ready + vm remove PASS su:
    • WinBuild2025 (WinRM HTTPS/5986)
    • LinuxBuild2404 (SSH/22)

Deviazioni / gotcha

  • secret-tool scartato: il piano originale usava secret-tool (GNOME Secret Service) per le credenziali headless. Non funziona senza una D-Bus session attiva, che non è disponibile quando il processo gira come servizio systemd (act-runner.service). Soluzione adottata: keyrings.alt con PlaintextKeyring (file ~/.local/share/python_keyring/keyring_pass.cfg), che non dipende da D-Bus e funziona correttamente in contesto headless. Questa scelta è documentata in B3-closeout.md.
  • AGENTS.md errore #9 (machine-id): lo snapshot BaseClean-Linux era già stato preso con machine-id troncato — nessuna collisione DHCP rilevata durante lo smoke test.

Riferimenti commit

  • 3921758 — feat: add credential management scripts (tools/ci-cred-set.py, tools/ci-cred-check.py)