Eine VM aus dem ProxDeploy-Template ausrollen, vollständig per API: Klonen, Hardware, cloud-init, Start, Guest-Agent und Provisionierung der Profile über den Agent – ohne SSH. Der Fortschritt kommt aus der Logdatei im Gast, je Profil eine Marke. Der Dry-Run läuft durch dieselben Phasen mit einem Trocken-Client und zeigt jeden geplanten Proxmox-Aufruf und den passenden CLI-Befehl. Der Assistent hat 9 Schritte, den Zustand in der URL und bietet an, ein fehlendes Template im selben Auftrag zu bauen. Auf pve-demo abgenommen: pd-test01 (base, docker) per API, pd-test02 (base, zabbix-agent) über den Assistenten, beide per SSH geprüft. Dabei gefunden: file-write scheitert an Umlauten – Skripte gehen jetzt base64-kodiert hinüber. Closes #008 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1.8 KiB
1.8 KiB
#007 Template-Bau für VMs
Status: erledigt Meilenstein: v0.2.0 Labels: feature, proxmox Geschätzt: 8 h Tatsächlich: 0 h 12 min
Ziel
Cloud-Image laden, Prüfsumme prüfen, VM anlegen, Disk importieren, Guest-Agent einbauen, als Template markieren.
Aufgaben
- Weg A (≥ 8.4):
download-url(content=import, checksum) +import-fromper Volume-ID - Weg B (SSH): Download + Prüfung auf dem Node, Import per
qm importdisk/import-from - VMID: nächste freie im Template-Bereich (Entscheidung 2026-10-12)
- Hardware: q35, OVMF+EFI-Disk (Standard) oder SeaBIOS, virtio-scsi-single, discard/ssd/iothread, CPU host, serielle Konsole, agent=1, cloud-init-Laufwerk
- Guest-Agent einbauen per Snippet (SSH); Weg über Bau-Adresse ohne SSH → #021
- Template-Übersicht je Server/Node, VMID-Bereich konfigurierbar
- Singleton je Server+Distribution
Akzeptanzkriterien
- Debian-13-Template auf pve-demo (PVE 9.2.2) gebaut, Auftrag t-8zca3, 5 min 26 s; 8.x folgt im Feldtest (#020)
Abhängigkeiten
#005, #006
Notizen / Entscheidungen
- Image-Dateiname mit Prüfsummen-Präfix (
proxdeploy-debian-13-f46f0671a6e5.qcow2): ein neues „latest“-Image wird neu geladen, ein gleiches wiederverwendet. - Proxmox prüft die Prüfsumme selbst (
download-urlmitchecksum); ProxDeploy holt sie vorher aus SHA512SUMS/SHA256SUMS. - Vorbereitungsstart mit vendor-data: qemu-guest-agent, Maschinen-ID leeren (sonst teilen sich Klone DHCP-Client-ID),
cloud-init clean, poweroff. Snippet undcicustomwerden auch nach einem Fehler entfernt. - UEFI mit
pre-enrolled-keys=1(Secure Boot an) – Debian 13 bootet damit; Proxmox setzt selbstms-cert=2023k. - Auf dem Testhost dauerte der Vorbereitungsstart ~70 s.