little update

This commit is contained in:
2026-08-12 21:11:39 +03:00
parent e3d5de12fe
commit 3af436d48a
37 changed files with 2299 additions and 9 deletions

View File

@@ -0,0 +1,57 @@
"""Live smoke test: list, create, verify, delete subnet on real Cloud.ru."""
import json
import sys
from pathlib import Path
sys.path.insert(0, str(Path(__file__).resolve().parent / "src"))
from dotenv import load_dotenv
load_dotenv(Path(__file__).resolve().parent / ".env")
import os
from cloud.vm_manager import VMManager, VMAPIError
from cloud.models import SubnetCreateRequest
token = os.environ["CLOUD_TOKEN"]
project_id = os.environ["CLOUD_PROJECT_ID"]
vpc_id = os.getenv("CLOUD_VPC_ID")
zone_id = "479a4ab3-3ff3-4972-95c5-7610bac5c0bb" # ru.AZ-2, from list_subnets
m = VMManager(token)
print("== list_subnets (before) ==")
try:
existing = m.list_subnets(project_id)
print(json.dumps(existing.model_dump(), indent=2)[:2000])
except VMAPIError as e:
print(f"LIST FAILED: status={e.status} msg={e} details={e.details}")
print("\n== create_subnet ==")
created = None
try:
created = m.create_subnet(SubnetCreateRequest(
name="kernel-live-test-subnet",
project_id=project_id,
availability_zone_id=zone_id,
subnet_address="10.250.0.0/20",
vpc_id=vpc_id,
description="kernel live test, safe to delete",
))
print(f"CREATED: id={created.id} name={created.name} addr={created.subnet_address} state={created.state}")
except VMAPIError as e:
print(f"CREATE FAILED: status={e.status} msg={e}")
print(f"details={json.dumps(e.details)[:2000]}")
sys.exit(1)
print("\n== get_subnet ==")
try:
got = m.get_subnet(created.id)
print(f"GET OK: id={got.id} addr={got.subnet_address} state={got.state}")
except VMAPIError as e:
print(f"GET FAILED: status={e.status} msg={e} details={json.dumps(e.details)[:1000]}")
print("\n== delete_subnet ==")
try:
m._request("DELETE", f"/api/v1/subnets/{created.id}")
print("DELETE OK")
except VMAPIError as e:
print(f"DELETE FAILED: status={e.status} msg={e} details={json.dumps(e.details)[:1000]}")