"""`raser` : un VMID du plan portant un AUTRE nom doit faire REFUSER l'operation entiere. C'est le verrou le plus important de la seule commande destructive du moteur, et le seul qu'on ne peut pas eprouver sur le vrai cluster sans y fabriquer une collision. On isole donc la logique derriere un faux cluster. Le danger n'est pas theorique : le 2026-08-07, une VM heritee portait un VMID du plan sous le nom `web-frontal-01`, et `proxmox_kvm` avait rapporte `ok` sans rien faire. Rase sans ce controle, on detruisait la machine de quelqu'un d'autre. """ import sys, pathlib sys.path.insert(0, str(pathlib.Path(__file__).resolve().parent.parent)) import raser class FauxCluster: """Le cluster repond que 117603101 s'appelle « vm-heritee-de-2019 ».""" @classmethod def depuis_hebergeur(cls): return cls(), None def __call__(self, chemin, methode="GET", corps=None): return [{"type": "qemu", "vmid": 117603101, "name": "vm-heritee-de-2019", "node": "asgard"}, {"type": "qemu", "vmid": 117101101, "name": "infra-edge-01", "node": "asgard"}] def rate(self, rep): return None raser.Cluster = FauxCluster code = raser.main(["--instance", "chezlepro", "--confirmer"]) print(f"\n>>> code de sortie : {code} (2 = refus attendu)") assert code == 2, "LE VERROU N'A PAS TENU" print(">>> le verrou tient : aucune VM n'aurait ete touchee")