diff --git a/backend/patch_lxc.py b/backend/patch_lxc.py new file mode 100644 index 0000000..41c609c --- /dev/null +++ b/backend/patch_lxc.py @@ -0,0 +1,32 @@ +from pathlib import Path + +# Исправляет совместимость создания LXC с Proxmox VE 9. +path = Path("/app/app/proxmox_client.py") +text = path.read_text() + +# Диск контейнера создаётся сразу на SSD при POST /lxc. +text = text.replace('storage: str = "local",', 'storage: str = "SSD",', 1) +text = text.replace( + ' ostemplate=template_volid,\n cores=cores,', + ' ostemplate=template_volid,\n rootfs=f"{storage}:{disk_gb}",\n cores=cores,', + 1, +) + +# Proxmox VE 9 не поддерживает POST /lxc/{vmid}/passwd. +text = text.replace( + ' px.nodes(node).lxc(new_vmid).passwd.post(password=password)\n', + '', + 1, +) + +# Rootfs уже создаётся нужного размера в POST /lxc. +text = text.replace( + ' px.nodes(node).lxc(new_vmid).resize.put(\n' + ' disk="rootfs",\n' + ' size=f"{storage}:{disk_gb}",\n' + ' )\n', + '', + 1, +) + +path.write_text(text)