mirror of
https://github.com/OVERLORD7F/SVMU.git
synced 2025-10-01 21:52:47 +03:00
49 lines
2.2 KiB
Python
49 lines
2.2 KiB
Python
#from main import base_url , api_key , requests
|
|
import requests
|
|
import os
|
|
from rich.prompt import Prompt
|
|
from rich.console import Console
|
|
from rich.panel import Panel
|
|
from rich.align import Align
|
|
|
|
def cluster_info(base_url, api_key): # output short clusters overview
|
|
url = f"http://{base_url}/api/clusters"
|
|
response = requests.get(url, headers={'Authorization': api_key})
|
|
console = Console()
|
|
if response.status_code == 200:
|
|
cluster_info = response.json()
|
|
results_cluster_info = cluster_info['results']
|
|
os.system('cls' if os.name == 'nt' else 'clear')
|
|
console.rule("[bold cyan]Short Clusters Overview")
|
|
console.print(f"[bold]Clusters total:[/] {cluster_info['count']}\n")
|
|
panels = []
|
|
for x in results_cluster_info:
|
|
panel_content = (
|
|
f"[bold]Nodes:[/] {x['nodes_count']}\n"
|
|
f"[bold]Total CPU:[/] {x['cpu_count']} Cores / [bold]CPU Usage:[/] {round(x['cpu_used_percent_user'], 2)}%\n"
|
|
f"[bold]Total RAM:[/] {int(x['memory_count']/1024)} GB / [bold]RAM Usage:[/] {round(x['mem_used_percent_user'], 2)}%"
|
|
)
|
|
panel = Panel(
|
|
Align.left(panel_content),
|
|
title=f"[bold gold3]{x['verbose_name']}[/] [red]({x['status']})[/]",
|
|
border_style="magenta",
|
|
expand=False
|
|
)
|
|
panels.append(panel)
|
|
console.print(*panels, sep="\n")
|
|
else:
|
|
console.print(f"[red]Failed to retrieve data {response.status_code}[/]")
|
|
Prompt.ask("[green_yellow bold]ENTER - return to Main Menu.. :right_arrow_curving_down:")
|
|
os.system('cls' if os.name == 'nt' else 'clear')
|
|
|
|
def check_api_key(base_url, api_key): # test api key and show spaceVM version
|
|
url = f"http://{base_url}/api/controllers/base-version/"
|
|
response = requests.get(url, headers={'Authorization': api_key})
|
|
console = Console()
|
|
if response.status_code == 200:
|
|
cluster_info = response.json()
|
|
version = cluster_info['version']
|
|
console.print(f"[bold green]Successfully conected to SpaceVM version {version}")
|
|
else:
|
|
console.print(f"[bold red]{response.status_code}[/]")
|
|
return response.status_code |