Files
aitbc/scripts/utils/cleanup_fake_gpus_db.py
aitbc1 bfe6f94b75
Some checks failed
AITBC CI/CD Pipeline / lint-and-test (3.11) (push) Has been cancelled
AITBC CI/CD Pipeline / lint-and-test (3.12) (push) Has been cancelled
AITBC CI/CD Pipeline / lint-and-test (3.13) (push) Has been cancelled
AITBC CI/CD Pipeline / test-cli (push) Has been cancelled
AITBC CI/CD Pipeline / test-services (push) Has been cancelled
AITBC CI/CD Pipeline / test-production-services (push) Has been cancelled
AITBC CI/CD Pipeline / security-scan (push) Has been cancelled
AITBC CI/CD Pipeline / build (push) Has been cancelled
AITBC CI/CD Pipeline / deploy-staging (push) Has been cancelled
AITBC CI/CD Pipeline / deploy-production (push) Has been cancelled
AITBC CI/CD Pipeline / performance-test (push) Has been cancelled
AITBC CI/CD Pipeline / docs (push) Has been cancelled
AITBC CI/CD Pipeline / release (push) Has been cancelled
AITBC CI/CD Pipeline / notify (push) Has been cancelled
Security Scanning / Bandit Security Scan (apps/coordinator-api/src) (push) Has been cancelled
Security Scanning / Bandit Security Scan (cli/aitbc_cli) (push) Has been cancelled
Security Scanning / Bandit Security Scan (packages/py/aitbc-core/src) (push) Has been cancelled
Security Scanning / Bandit Security Scan (packages/py/aitbc-crypto/src) (push) Has been cancelled
Security Scanning / Bandit Security Scan (packages/py/aitbc-sdk/src) (push) Has been cancelled
Security Scanning / Bandit Security Scan (tests) (push) Has been cancelled
Security Scanning / CodeQL Security Analysis (javascript) (push) Has been cancelled
Security Scanning / CodeQL Security Analysis (python) (push) Has been cancelled
Security Scanning / Dependency Security Scan (push) Has been cancelled
Security Scanning / Container Security Scan (push) Has been cancelled
Security Scanning / OSSF Scorecard (push) Has been cancelled
Security Scanning / Security Summary Report (push) Has been cancelled
AITBC CLI Level 1 Commands Test / test-cli-level1 (3.11) (push) Has been cancelled
AITBC CLI Level 1 Commands Test / test-cli-level1 (3.12) (push) Has been cancelled
AITBC CLI Level 1 Commands Test / test-cli-level1 (3.13) (push) Has been cancelled
AITBC CLI Level 1 Commands Test / test-summary (push) Has been cancelled
chore: remove outdated documentation and reference files
- Remove debugging service documentation (DEBUgging_SERVICES.md)
- Remove development logs policy and quick reference guides
- Remove E2E test creation summary
- Remove gift certificate example file
- Remove GitHub pull summary documentation
2026-03-25 12:56:07 +01:00

79 lines
2.3 KiB
Python
Executable File

#!/usr/bin/env python3
"""
Direct database cleanup for fake GPU entries
"""
import sys
import os
sys.path.insert(0, '/home/oib/windsurf/aitbc/apps/coordinator-api/src')
from sqlmodel import Session, select
from sqlalchemy import create_engine
from app.domain.gpu_marketplace import GPURegistry
def cleanup_fake_gpus():
"""Clean up fake GPU entries from database"""
print("=== DIRECT DATABASE CLEANUP ===")
# Use the same database as coordinator
db_path = "/home/oib/windsurf/aitbc/apps/coordinator-api/data/coordinator.db"
engine = create_engine(f"sqlite:///{db_path}")
fake_gpus = [
"gpu_1bdf8e86",
"gpu_1b7da9e0",
"gpu_9cff5bc2",
"gpu_ebef80a5",
"gpu_979b24b8",
"gpu_e5ab817d"
]
with Session(engine) as session:
deleted_count = 0
for gpu_id in fake_gpus:
gpu = session.exec(select(GPURegistry).where(GPURegistry.id == gpu_id)).first()
if gpu:
print(f"🗑️ Deleting fake GPU: {gpu_id} - {gpu.model}")
session.delete(gpu)
deleted_count += 1
else:
print(f"❓ GPU not found: {gpu_id}")
try:
session.commit()
print(f"✅ Successfully deleted {deleted_count} fake GPUs")
except Exception as e:
print(f"❌ Error committing changes: {e}")
session.rollback()
return False
return True
def show_remaining_gpus():
"""Show remaining GPUs after cleanup"""
print("\n📋 Remaining GPUs in marketplace:")
# Use the same database as coordinator
db_path = "/home/oib/windsurf/aitbc/apps/coordinator-api/data/coordinator.db"
engine = create_engine(f"sqlite:///{db_path}")
with Session(engine) as session:
gpus = session.exec(select(GPURegistry)).all()
if gpus:
for gpu in gpus:
print(f" 🎮 {gpu.id}: {gpu.model} - {gpu.status} - {gpu.price_per_hour} AITBC/hr")
else:
print(" No GPUs found")
return len(gpus)
if __name__ == "__main__":
if cleanup_fake_gpus():
remaining = show_remaining_gpus()
print(f"\n🎉 Cleanup complete! {remaining} GPUs remaining in marketplace")
else:
print("\n❌ Cleanup failed!")
sys.exit(1)