[FIX] qemu: installer qemu-guest-agent (apt update d'abord) — validé bout en bout

Sur les images cloud, /var/lib/apt/lists est vide (package_update désactivé)
-> « Unable to locate package qemu-guest-agent » et agent inactif. On
rafraîchit l'index (timeout 120, || true) AVANT l'install dans le runcmd
(après sshd, sans bloquer SSH). Idem pacman -Sy. Sous-shell ( ) et non
accolades { } (indicateur YAML).

Validé sur une VM de test Ubuntu 24.04 (redéployée) :
- cloud-init status: done ; user erplibre créé + mot de passe (login console
  erplibre/erplibre OK) ;
- qemu-guest-agent: active ;
- guest-ping OK ; guest-exec autorisé (echo -> code 0, tourne en root).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Mathieu Benoit 2026-07-29 12:35:39 +00:00
parent e2b940a3af
commit f7df2310b3

View file

@ -974,12 +974,15 @@ def build_cloud_config(
# disponible tout de suite, sans attendre le réseau). Tout est
# « || true » : si l'installation échoue (réseau lent/absent), le boot
# n'est pas bloqué. La plupart des images cloud l'incluent déjà.
# timeout 300 : un miroir lent/absent ne doit JAMAIS bloquer cloud-init
# (sinon la VM reste « en attente de démarrage »). Non fatal (|| true).
" - (command -v apt-get >/dev/null && timeout 300 apt-get install -y"
" qemu-guest-agent) || (command -v dnf >/dev/null && timeout 300 dnf"
" install -y qemu-guest-agent) || (command -v pacman >/dev/null &&"
" timeout 300 pacman -S --noconfirm qemu-guest-agent) || true",
# Rafraîchit d'abord l'index (les images cloud n'ont PAS de listes apt
# -> sinon « Unable to locate package »), puis installe. timeout : un
# miroir lent ne bloque JAMAIS cloud-init. Non fatal (|| true).
# Sous-shell ( ) et NON accolades { } : « { » est un indicateur YAML.
" - (command -v apt-get >/dev/null && (timeout 120 apt-get update -qq"
" || true; timeout 300 apt-get install -y qemu-guest-agent)) ||"
" (command -v dnf >/dev/null && timeout 300 dnf install -y"
" qemu-guest-agent) || (command -v pacman >/dev/null && timeout 300"
" pacman -Sy --noconfirm qemu-guest-agent) || true",
# Autorise guest-exec (bloqué par défaut sur certaines distros).
# On VIDE la liste de blocage (block-rpcs/blacklist) plutôt que
# d'utiliser allow-rpcs (liste BLANCHE : casserait les autres RPC).