From e722070d401b532542432a9531c7c13937142773 Mon Sep 17 00:00:00 2001 From: host Date: Sun, 9 Aug 2026 23:44:42 +0300 Subject: [PATCH] =?UTF-8?q?fix(lxc):=20=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2?= =?UTF-8?q?=D0=B8=D1=82=D1=8C=20=D1=81=D0=BA=D1=80=D0=B8=D0=BF=D1=82=20?= =?UTF-8?q?=D1=81=D0=BE=D0=B2=D0=BC=D0=B5=D1=81=D1=82=D0=B8=D0=BC=D0=BE?= =?UTF-8?q?=D1=81=D1=82=D0=B8=20=D1=81=20Proxmox=20VE=209=20=D0=B8=20SSD?= =?UTF-8?q?=20rootfs?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/patch_lxc.py | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 backend/patch_lxc.py 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)