From f7df2310b3ae2420d7b4aac456ca2dfb7cc246f6 Mon Sep 17 00:00:00 2001 From: Mathieu Benoit Date: Wed, 29 Jul 2026 12:35:39 +0000 Subject: [PATCH] =?UTF-8?q?[FIX]=20qemu:=20installer=20qemu-guest-agent=20?= =?UTF-8?q?(apt=20update=20d'abord)=20=E2=80=94=20valid=C3=A9=20bout=20en?= =?UTF-8?q?=20bout?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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) --- script/qemu/deploy_qemu.py | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/script/qemu/deploy_qemu.py b/script/qemu/deploy_qemu.py index b4645c4..474b8e3 100755 --- a/script/qemu/deploy_qemu.py +++ b/script/qemu/deploy_qemu.py @@ -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).