Исправлен delete_guest: добавлено ожидание завершения задачи Proxmox через _wait_task

This commit is contained in:
2026-07-25 10:50:46 +03:00
parent 86343c922a
commit 0c1b7a3cee
+8 -3
View File
@@ -266,13 +266,18 @@ def guest_action(guest_type: str, vmid: int, action: str, node: str = None) -> N
def delete_guest(guest_type: str, vmid: int, node: str = None) -> None:
"""Удаляет VM или LXC (синхронно — Proxmox дожидается завершения)."""
"""Удаляет VM или LXC, дожидаясь завершения задачи в Proxmox."""
node = node or settings.pve_node
px = _client()
if guest_type == "vm":
px.nodes(node).qemu(vmid).delete()
upid = px.nodes(node).qemu(vmid).delete()
else:
px.nodes(node).lxc(vmid).delete()
upid = px.nodes(node).lxc(vmid).delete()
# Proxmox API возвращает upid для отслеживания статуса задачи.
# Ждём завершения, чтобы инстанс действительно был удалён к моменту
# возврата ответа клиенту.
if upid:
_wait_task(px, node, upid)
def get_status(guest_type: str, vmid: int, node: str = None) -> dict: