import json,subprocess,pathlib,shutil,os
def q(args):return subprocess.check_output(args,text=True,timeout=15).strip()
print('UID',os.geteuid())
for path in ('/','/training','/backup'):
 print(path,shutil.disk_usage(path).free,q(['findmnt','-n','-o','UUID,FSTYPE','-T',path]))
print('containers',q(['docker','ps','-a','--format','{{.Names}} {{.Status}}']))
print('ports',q(['ss','-lnt','( sport = :16379 or sport = :38443 or sport = :35000 )']))
print('gpu',q(['nvidia-smi','--query-gpu=name,memory.used','--format=csv,noheader']))
for x in ('/opt/contextra','/data/contextra/site'):
 print('exists',x,pathlib.Path(x).exists())
m=json.loads(pathlib.Path('/training/contextra/models/candidates/medium-b4-r02/manifest.json').read_text())
print('medium',m['engine_sha256'],m['smoke'])
print('firewall_tools',shutil.which('iptables'),shutil.which('nft'))
print('docker_user',subprocess.run(['iptables','-S','DOCKER-USER'],capture_output=True,text=True).stdout)
