[FIX] script todo: redimension — résoudre le nom de VM AVANT extinction

Après un shrink, « Démarrer la VM » faisait « virsh start <id> » : une fois
la VM éteinte, l'ID numérique disparaît -> « failed to get domain 32 ».

On résout désormais le NOM canonique dès le début de _qemu_resize_disk
(VM encore allumée, ID résoluble) et on l'utilise partout, y compris pour
le redémarrage final. Plus de dépendance à l'ID une fois la VM arrêtée.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Mathieu Benoit 2026-07-30 03:25:54 +00:00
parent c140b418d5
commit 6ce56629f4

View file

@ -1569,6 +1569,10 @@ class TODO:
if not self._qemu_domain_exists(name):
print(f"{name}: {t('VM not found.')}")
return
# Résout tout de suite le NOM canonique (VM encore allumée -> l'ID est
# résoluble). Après extinction, un ID numérique disparaît : « virsh
# start 32 » échouerait. On travaille désormais avec le nom.
name = self._qemu_domname(name)
disk = self._qemu_main_disk(name)
if not disk:
print(t("Main disk not found for this VM."))
@ -1680,8 +1684,9 @@ class TODO:
if self._is_yes(
input(t("Start the VM now? (y/N): "))
):
real = self._qemu_domname(name)
cmd = f"sudo virsh start {shlex.quote(real)}"
# `name` est déjà le nom canonique (résolu au début) : un
# « virsh start <id> » échouerait car l'ID a disparu.
cmd = f"sudo virsh start {shlex.quote(name)}"
print(f"{t('Will execute:')} {cmd}")
self.execute.exec_command_live(cmd, source_erplibre=False)