fix: IP → 192.168.1.20, tasks limit via slice, abort on failed clone

This commit is contained in:
host committed 2026-10-06 23:09:16 +03:00
1 parent 676b55edb2
commit 1fe5b65826
1 file changed
+13 -6
+13 -6
View File
@@ -1,8 +1,8 @@
"""
title: Proxmox Tools (Kybinka)
author: (your name)
description: Инструменты для управления Proxmox VE (сервер Kybinka, 192.168.1.10): LXC (создание, старт, стоп, удаление), VM (клонирование из шаблона, создание из ISO, управление), мониторинг (ноды, хранилище, ресурсы, задачи).
version: 1.0.0
description: Инструменты для управления Proxmox VE (сервер Kybinka, 192.168.1.20): LXC (создание, старт, стоп, удаление), VM (клонирование из шаблона, создание из ISO, управление), мониторинг (ноды, хранилище, ресурсы, задачи).
version: 1.0.1
"""
import time
import requests
@@ -14,8 +14,8 @@ from typing import Optional
class Tools:
class Valves(BaseModel):
proxmox_host: str = Field(
default="https://192.168.1.10:8006",
description="Базовый URL API Proxmox (например, https://192.168.1.10:8006)",
default="https://192.168.1.20:8006",
description="Базовый URL API Proxmox (например, https://192.168.1.20:8006)",
)
proxmox_user: str = Field(
default="root@pam",
@@ -293,12 +293,14 @@ class Tools:
def kybinka_tasks(self, limit: int = 10, node: Optional[str] = None) -> str:
"""Последние задачи на ноде.
Args:
limit: Максимум задач.
limit: Максимум задач (клиентский срез).
node: Имя ноды. По умолчанию — нода из настроек.
"""
node = node or self.valves.default_node
try:
items = self._api("GET", f"/nodes/{node}/tasks", params={"limit": limit})
items = self._api("GET", f"/nodes/{node}/tasks")
if limit:
items = items[:limit]
if not items:
return f"Нет задач на {node}"
out = [f"Задачи на {node}:"]
@@ -695,6 +697,11 @@ class Tools:
if ok
else f" WARN Клонирование могло не завершиться: {msg}"
)
# Критично: если клон не завершился — не продолжаем
if not ok:
out.append(" ABORT: клонирование не завершилось, пропускаем config/start")
return "\n".join(out)
config_params = {}
if memory is not None:
config_params["memory"] = memory