little update
This commit is contained in:
57
scripts_live_subnet_test.py
Normal file
57
scripts_live_subnet_test.py
Normal 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]}")
|
||||
Reference in New Issue
Block a user