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

47 lines
2.0 KiB
Markdown

# 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
- [x] Verificato assenza di `*.vmem`/`*.vmsn` di runtime sui template Windows
prima della copia (VM spente).
- [x] Trasferimento via `rsync` SSH da Windows → Linux per tutti e 3 i template:
- `WinBuild2025` (snapshot `BaseClean`)
- `WinBuild2022` (snapshot `BaseClean`)
- `LinuxBuild2404` (snapshot `BaseClean-Linux`)
- [x] Snapshot validati con `vmrun -T ws listSnapshots` su ciascun `.vmx`.
- [x] Ogni `.vmx` aperto in Workstation Linux GUI; risposto "**I copied it**"
al prompt di registrazione.
- [x] 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`.
- [x] 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`)