feat: add homelab deployment configs, documentation, and automation scripts
This commit is contained in:
25
scripts/check_harvester_capacity.py
Normal file
25
scripts/check_harvester_capacity.py
Normal file
@@ -0,0 +1,25 @@
|
||||
import paramiko, json
|
||||
|
||||
c = paramiko.SSHClient()
|
||||
c.set_missing_host_key_policy(paramiko.AutoAddPolicy())
|
||||
c.connect('140.44.4.90', username='rancher', key_filename=r'C:\Users\Snarf\.ssh\id_ed25519_snarfnet', timeout=10)
|
||||
|
||||
cmd = "echo Katzir476! | sudo -S sh -c 'export KUBECONFIG=/etc/rancher/rke2/rke2.yaml; PATH=$PATH:/var/lib/rancher/rke2/bin; kubectl get nodes -o json'"
|
||||
stdin, stdout, stderr = c.exec_command(cmd)
|
||||
out = stdout.read().decode()
|
||||
data = json.loads(out)
|
||||
|
||||
total_cpu = 0
|
||||
total_mem_kb = 0
|
||||
for n in data['items']:
|
||||
cpu = int(n['status']['capacity']['cpu'])
|
||||
mem_str = n['status']['capacity']['memory']
|
||||
if mem_str.endswith('Ki'):
|
||||
mem_kb = int(mem_str[:-2])
|
||||
total_cpu += cpu
|
||||
total_mem_kb += mem_kb
|
||||
|
||||
ram_gib = total_mem_kb / (1024 * 1024)
|
||||
print(f"Spacedock Harvester: nodes = {len(data['items'])}, cpu = {total_cpu}, ram = {ram_gib:.1f} GiB")
|
||||
c.close()
|
||||
|
||||
Reference in New Issue
Block a user