bbd376f057
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>
47 lines
2.0 KiB
Markdown
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`)
|