Local changes before sync: updated docs and startup scripts
This commit is contained in:
21
apps/coordinator-api/init_db.py
Normal file
21
apps/coordinator-api/init_db.py
Normal file
@@ -0,0 +1,21 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
Database initialization script for AITBC Coordinator API
|
||||
"""
|
||||
|
||||
import sys
|
||||
import os
|
||||
|
||||
# Add src to path
|
||||
sys.path.insert(0, os.path.join(os.path.dirname(__file__), 'src'))
|
||||
|
||||
from app.storage import init_db
|
||||
|
||||
if __name__ == "__main__":
|
||||
try:
|
||||
print("Initializing database...")
|
||||
init_db()
|
||||
print("Database initialized successfully!")
|
||||
except Exception as e:
|
||||
print(f"Database initialization failed: {e}")
|
||||
sys.exit(1)
|
||||
@@ -23,23 +23,25 @@ This guide provides comprehensive deployment instructions for the **aitbc server
|
||||
- **Database**: SQLite (default) or PostgreSQL (production)
|
||||
|
||||
### **Network Requirements**
|
||||
- **Core Services Ports**: 8000-8002 (must be available)
|
||||
- **Core Services Ports**: 8000-8003 (must be available)
|
||||
- Port 8000: Coordinator API
|
||||
- Port 8001: Exchange API
|
||||
- Port 8002: Wallet Service
|
||||
- **Blockchain Services Ports**: 8005-8006 (must be available)
|
||||
- Port 8005: Primary Blockchain Node
|
||||
- Port 8006: Primary Blockchain RPC
|
||||
- **Level 2 Services Ports**: 8010-8017 (optional - not required for CPU-only deployment)
|
||||
- Note: Enhanced services disabled for aitbc server (no GPU access)
|
||||
- Port 8010: Multimodal GPU (CPU-only mode) - DISABLED
|
||||
- Port 8011: GPU Multimodal (CPU-only mode) - DISABLED
|
||||
- Port 8012: Modality Optimization - DISABLED
|
||||
- Port 8013: Adaptive Learning - DISABLED
|
||||
- Port 8014: Marketplace Enhanced - DISABLED
|
||||
- Port 8015: OpenClaw Enhanced - DISABLED
|
||||
- Port 8016: Web UI - DISABLED
|
||||
- Port 8017: Geographic Load Balancer - DISABLED
|
||||
- Port 8002: Blockchain Node
|
||||
- Port 8003: Blockchain RPC
|
||||
- **Blockchain Services Ports**: 8005-8008 (must be available)
|
||||
- Port 8005: Primary Blockchain Node (legacy)
|
||||
- Port 8006: Primary Blockchain RPC (legacy)
|
||||
- Port 8007: Blockchain Service (Transaction processing and consensus)
|
||||
- Port 8008: Network Service (P2P block propagation)
|
||||
- **Enhanced Services Ports**: 8010-8017 (optional - CPU-only mode available)
|
||||
- Port 8010: Multimodal GPU (CPU-only mode)
|
||||
- Port 8011: GPU Multimodal (CPU-only mode)
|
||||
- Port 8012: Modality Optimization
|
||||
- Port 8013: Adaptive Learning
|
||||
- Port 8014: Marketplace Enhanced
|
||||
- Port 8015: OpenClaw Enhanced
|
||||
- Port 8016: Blockchain Explorer (Web UI)
|
||||
- Port 8017: Geographic Load Balancer
|
||||
- **Mock & Test Services Ports**: 8020-8029 (development and testing)
|
||||
- Port 8025: Development Blockchain Node
|
||||
- Port 8026: Development Blockchain RPC
|
||||
@@ -83,21 +85,31 @@ ssh aitbc-cascade 'sudo systemctl status aitbc-blockchain-node-dev'
|
||||
ssh aitbc-cascade 'sudo systemctl status aitbc-blockchain-rpc-dev'
|
||||
```
|
||||
|
||||
#### **Port Distribution Strategy (Updated March 6, 2026)**
|
||||
#### **Port Distribution Strategy (Updated March 7, 2026)**
|
||||
```bash
|
||||
# NEW SUSTAINABLE PORT LOGIC
|
||||
# NEW UNIFIED PORT LOGIC - MARCH 2026
|
||||
|
||||
# Core Services (8000-8002):
|
||||
# Core Services (8000-8003):
|
||||
- Port 8000: Coordinator API (localhost + containers)
|
||||
- Port 8001: Exchange API (localhost + containers)
|
||||
- Port 8002: Wallet Service (localhost + containers)
|
||||
- Port 8002: Blockchain Node (localhost + containers)
|
||||
- Port 8003: Blockchain RPC (localhost + containers)
|
||||
|
||||
# Blockchain Services (8005-8006):
|
||||
- Port 8005: Primary Blockchain Node (localhost + containers)
|
||||
- Port 8006: Primary Blockchain RPC (localhost + containers)
|
||||
# Multi-Chain Services (8005-8008):
|
||||
- Port 8005: Primary Blockchain Node (legacy)
|
||||
- Port 8006: Primary Blockchain RPC (legacy)
|
||||
- Port 8007: Blockchain Service (Transaction processing and consensus)
|
||||
- Port 8008: Network Service (P2P block propagation)
|
||||
|
||||
# Level 2 Services (8010-8017):
|
||||
- Port 8010-8017: Enhanced services (DISABLED for CPU-only deployment)
|
||||
# Enhanced Services (8010-8017):
|
||||
- Port 8010: Multimodal GPU (CPU-only mode)
|
||||
- Port 8011: GPU Multimodal (CPU-only mode)
|
||||
- Port 8012: Modality Optimization
|
||||
- Port 8013: Adaptive Learning
|
||||
- Port 8014: Marketplace Enhanced
|
||||
- Port 8015: OpenClaw Enhanced
|
||||
- Port 8016: Blockchain Explorer (Web UI)
|
||||
- Port 8017: Geographic Load Balancer
|
||||
|
||||
# Mock & Test Services (8020-8029):
|
||||
- Port 8025: Development Blockchain Node (localhost + containers)
|
||||
@@ -107,9 +119,13 @@ ssh aitbc-cascade 'sudo systemctl status aitbc-blockchain-rpc-dev'
|
||||
- Port 8080-8089: DEPRECATED - use new port ranges above
|
||||
|
||||
# Service Naming Convention:
|
||||
✅ aitbc-blockchain-node.service (port 8005)
|
||||
✅ aitbc-blockchain-rpc.service (port 8006)
|
||||
✅ aitbc-wallet.service (port 8002)
|
||||
✅ aitbc-coordinator-api.service (port 8000)
|
||||
✅ aitbc-exchange-api.service (port 8001)
|
||||
✅ aitbc-blockchain-node.service (port 8002)
|
||||
✅ aitbc-blockchain-rpc.service (port 8003)
|
||||
✅ aitbc-blockchain-service.service (port 8007)
|
||||
✅ aitbc-network-service.service (port 8008)
|
||||
✅ aitbc-explorer.service (port 8016)
|
||||
✅ aitbc-blockchain-node-dev.service (port 8025)
|
||||
✅ aitbc-blockchain-rpc-dev.service (port 8026)
|
||||
```
|
||||
@@ -117,21 +133,26 @@ ssh aitbc-cascade 'sudo systemctl status aitbc-blockchain-rpc-dev'
|
||||
## Architecture Overview
|
||||
|
||||
```
|
||||
AITBC Platform Architecture (Updated March 4, 2026)
|
||||
AITBC Platform Architecture (Updated March 7, 2026)
|
||||
├── Core Services (8000-8003) ✅ PRODUCTION READY
|
||||
│ ├── Coordinator API (Port 8000) ✅ PRODUCTION READY
|
||||
│ ├── Exchange API (Port 8001) ✅ PRODUCTION READY
|
||||
│ ├── Blockchain Node (Port 8002) ✅ PRODUCTION READY
|
||||
│ └── Blockchain RPC (Port 8003) ✅ PRODUCTION READY
|
||||
├── Enhanced Services (8010-8017) ❌ DISABLED (CPU-only deployment)
|
||||
│ ├── Multimodal GPU (Port 8010) ❌ DISABLED (no GPU access)
|
||||
│ ├── GPU Multimodal (Port 8011) ❌ DISABLED (no GPU access)
|
||||
│ ├── Modality Optimization (Port 8012) ❌ DISABLED (not essential)
|
||||
│ ├── Adaptive Learning (Port 8013) ❌ DISABLED (not essential)
|
||||
│ ├── Marketplace Enhanced (Port 8014) ❌ DISABLED (not essential)
|
||||
│ ├── OpenClaw Enhanced (Port 8015) ❌ DISABLED (not essential)
|
||||
│ ├── Web UI (Port 8016) ❌ DISABLED (not essential)
|
||||
│ └── Geographic Load Balancer (Port 8017) ❌ DISABLED (complex)
|
||||
├── Multi-Chain Services (8005-8008) ✅ PRODUCTION READY
|
||||
│ ├── Blockchain Node Legacy (Port 8005) ✅ PRODUCTION READY
|
||||
│ ├── Blockchain RPC Legacy (Port 8006) ✅ PRODUCTION READY
|
||||
│ ├── Blockchain Service (Port 8007) ✅ PRODUCTION READY
|
||||
│ └── Network Service (Port 8008) ✅ PRODUCTION READY
|
||||
├── Enhanced Services (8010-8017) ✅ PRODUCTION READY (CPU-only mode)
|
||||
│ ├── Multimodal GPU (Port 8010) ✅ PRODUCTION READY (CPU-only)
|
||||
│ ├── GPU Multimodal (Port 8011) ✅ PRODUCTION READY (CPU-only)
|
||||
│ ├── Modality Optimization (Port 8012) ✅ PRODUCTION READY
|
||||
│ ├── Adaptive Learning (Port 8013) ✅ PRODUCTION READY
|
||||
│ ├── Marketplace Enhanced (Port 8014) ✅ PRODUCTION READY
|
||||
│ ├── OpenClaw Enhanced (Port 8015) ✅ PRODUCTION READY
|
||||
│ ├── Blockchain Explorer (Port 8016) ✅ PRODUCTION READY
|
||||
│ └── Geographic Load Balancer (Port 8017) ✅ PRODUCTION READY
|
||||
└── Infrastructure
|
||||
├── Database (SQLite/PostgreSQL)
|
||||
├── Monitoring & Logging
|
||||
@@ -221,22 +242,23 @@ chown aitbc:aitbc .env
|
||||
sudo cp -r /opt/aitbc/systemd/* /etc/systemd/system/
|
||||
sudo systemctl daemon-reload
|
||||
|
||||
# Enable core services only (enhanced services disabled for CPU-only deployment)
|
||||
# Enable core services
|
||||
sudo systemctl enable aitbc-coordinator-api.service
|
||||
sudo systemctl enable aitbc-exchange-api.service
|
||||
sudo systemctl enable aitbc-blockchain-node.service
|
||||
sudo systemctl enable aitbc-blockchain-rpc.service
|
||||
sudo systemctl enable aitbc-exchange-api.service
|
||||
sudo systemctl enable aitbc-blockchain-service.service
|
||||
sudo systemctl enable aitbc-network-service.service
|
||||
sudo systemctl enable aitbc-explorer.service
|
||||
|
||||
# Note: Enhanced services disabled - no GPU access
|
||||
# sudo systemctl enable aitbc-multimodal-gpu.service # DISABLED
|
||||
# sudo systemctl enable aitbc-multimodal.service # DISABLED
|
||||
# sudo systemctl enable aitbc-modality-optimization.service # DISABLED
|
||||
# sudo systemctl enable aitbc-adaptive-learning.service # DISABLED
|
||||
# sudo systemctl enable aitbc-marketplace-enhanced.service # DISABLED
|
||||
# sudo systemctl enable aitbc-openclaw-enhanced.service # DISABLED
|
||||
# sudo systemctl enable aitbc-web-ui.service # DISABLED
|
||||
# sudo systemctl enable aitbc-loadbalancer-geo.service # DISABLED
|
||||
# Enable enhanced services (CPU-only mode)
|
||||
sudo systemctl enable aitbc-multimodal-gpu.service
|
||||
sudo systemctl enable aitbc-multimodal.service
|
||||
sudo systemctl enable aitbc-modality-optimization.service
|
||||
sudo systemctl enable aitbc-adaptive-learning.service
|
||||
sudo systemctl enable aitbc-marketplace-enhanced.service
|
||||
sudo systemctl enable aitbc-openclaw-enhanced.service
|
||||
sudo systemctl enable aitbc-loadbalancer-geo.service
|
||||
```
|
||||
|
||||
### **Phase 3: Service Deployment**
|
||||
@@ -244,29 +266,37 @@ sudo systemctl enable aitbc-explorer.service
|
||||
#### 3.1 Core Services Startup
|
||||
```bash
|
||||
# Start core services in order
|
||||
sudo systemctl start aitbc-blockchain-node.service
|
||||
sleep 5
|
||||
sudo systemctl start aitbc-blockchain-rpc.service
|
||||
sleep 3
|
||||
sudo systemctl start aitbc-coordinator-api.service
|
||||
sleep 3
|
||||
sudo systemctl start aitbc-exchange-api.service
|
||||
sleep 3
|
||||
sudo systemctl start aitbc-blockchain-node.service
|
||||
sleep 3
|
||||
sudo systemctl start aitbc-blockchain-rpc.service
|
||||
sleep 3
|
||||
sudo systemctl start aitbc-blockchain-service.service
|
||||
sleep 3
|
||||
sudo systemctl start aitbc-network-service.service
|
||||
sleep 3
|
||||
sudo systemctl start aitbc-explorer.service
|
||||
```
|
||||
|
||||
#### 3.2 Enhanced Services Startup
|
||||
```bash
|
||||
# Enhanced services DISABLED for CPU-only deployment (no GPU access)
|
||||
# Note: All enhanced services have been disabled for aitbc server
|
||||
# sudo systemctl start aitbc-multimodal-gpu.service # DISABLED (no GPU)
|
||||
# sudo systemctl start aitbc-multimodal.service # DISABLED (no GPU)
|
||||
# sudo systemctl start aitbc-modality-optimization.service # DISABLED (not essential)
|
||||
# sudo systemctl start aitbc-adaptive-learning.service # DISABLED (not essential)
|
||||
# sudo systemctl start aitbc-marketplace-enhanced.service # DISABLED (not essential)
|
||||
# sudo systemctl start aitbc-openclaw-enhanced.service # DISABLED (not essential)
|
||||
# sudo systemctl start aitbc-web-ui.service # DISABLED (not essential)
|
||||
# sudo systemctl start aitbc-loadbalancer-geo.service # DISABLED (complex)
|
||||
# Start enhanced services (CPU-only mode)
|
||||
sudo systemctl start aitbc-multimodal-gpu.service
|
||||
sleep 2
|
||||
sudo systemctl start aitbc-multimodal.service
|
||||
sleep 2
|
||||
sudo systemctl start aitbc-modality-optimization.service
|
||||
sleep 2
|
||||
sudo systemctl start aitbc-adaptive-learning.service
|
||||
sleep 2
|
||||
sudo systemctl start aitbc-marketplace-enhanced.service
|
||||
sleep 2
|
||||
sudo systemctl start aitbc-openclaw-enhanced.service
|
||||
sleep 2
|
||||
sudo systemctl start aitbc-loadbalancer-geo.service
|
||||
```
|
||||
|
||||
#### 3.3 Service Verification
|
||||
@@ -277,17 +307,20 @@ sudo systemctl list-units --type=service --state=running | grep aitbc
|
||||
# Test core endpoints
|
||||
curl -X GET "http://localhost:8000/health" # Coordinator API
|
||||
curl -X GET "http://localhost:8001/health" # Exchange API
|
||||
curl -X GET "http://localhost:8003/rpc/head" # Blockchain RPC
|
||||
curl -X GET "http://localhost:8002/health" # Blockchain Node
|
||||
curl -X GET "http://localhost:8003/health" # Blockchain RPC
|
||||
curl -X GET "http://localhost:8007/health" # Blockchain Service
|
||||
curl -X GET "http://localhost:8008/health" # Network Service
|
||||
|
||||
# Enhanced services DISABLED - not available for testing
|
||||
# curl -X GET "http://localhost:8010/health" # DISABLED (no GPU)
|
||||
# curl -X GET "http://localhost:8011/health" # DISABLED (no GPU)
|
||||
# curl -X GET "http://localhost:8012/health" # DISABLED (not essential)
|
||||
# curl -X GET "http://localhost:8013/health" # DISABLED (not essential)
|
||||
# curl -X GET "http://localhost:8014/health" # DISABLED (not essential)
|
||||
# curl -X GET "http://localhost:8015/health" # DISABLED (not essential)
|
||||
# curl -X GET "http://localhost:8016/health" # DISABLED (not essential)
|
||||
# curl -X GET "http://localhost:8017/health" # DISABLED (complex)
|
||||
# Test enhanced endpoints
|
||||
curl -X GET "http://localhost:8010/health" # Multimodal GPU (CPU-only)
|
||||
curl -X GET "http://localhost:8011/health" # GPU Multimodal (CPU-only)
|
||||
curl -X GET "http://localhost:8012/health" # Modality Optimization
|
||||
curl -X GET "http://localhost:8013/health" # Adaptive Learning
|
||||
curl -X GET "http://localhost:8014/health" # Marketplace Enhanced
|
||||
curl -X GET "http://localhost:8015/health" # OpenClaw Enhanced
|
||||
curl -X GET "http://localhost:8016/health" # Blockchain Explorer
|
||||
curl -X GET "http://localhost:8017/health" # Geographic Load Balancer
|
||||
```
|
||||
|
||||
### **Phase 4: Production Configuration**
|
||||
|
||||
217
scripts/fix-startup-issues.sh
Executable file
217
scripts/fix-startup-issues.sh
Executable file
@@ -0,0 +1,217 @@
|
||||
#!/bin/bash
|
||||
|
||||
# AITBC Startup Issues Fix Script
|
||||
# Addresses common startup problems with services and containers
|
||||
|
||||
set -e
|
||||
|
||||
# Colors for output
|
||||
RED='\033[0;31m'
|
||||
GREEN='\033[0;32m'
|
||||
YELLOW='\033[1;33m'
|
||||
BLUE='\033[0;34m'
|
||||
NC='\033[0m' # No Color
|
||||
|
||||
# Function to print colored output
|
||||
print_status() {
|
||||
echo -e "${BLUE}[INFO]${NC} $1"
|
||||
}
|
||||
|
||||
print_success() {
|
||||
echo -e "${GREEN}[SUCCESS]${NC} $1"
|
||||
}
|
||||
|
||||
print_warning() {
|
||||
echo -e "${YELLOW}[WARNING]${NC} $1"
|
||||
}
|
||||
|
||||
print_error() {
|
||||
echo -e "${RED}[ERROR]${NC} $1"
|
||||
}
|
||||
|
||||
print_status "Fixing AITBC startup issues..."
|
||||
|
||||
# Fix 1: Create missing environment files
|
||||
print_status "Creating missing environment files..."
|
||||
|
||||
if [ ! -f "/opt/aitbc/apps/coordinator-api/coordinator-api.env" ]; then
|
||||
print_status "Creating coordinator-api.env..."
|
||||
sudo cp /opt/aitbc/apps/coordinator-api/.env /opt/aitbc/apps/coordinator-api/coordinator-api.env
|
||||
print_success "Created coordinator-api.env"
|
||||
else
|
||||
print_success "coordinator-api.env already exists"
|
||||
fi
|
||||
|
||||
# Fix 2: Create init_db.py script
|
||||
if [ ! -f "/opt/aitbc/apps/coordinator-api/init_db.py" ]; then
|
||||
print_status "Creating init_db.py script..."
|
||||
sudo tee /opt/aitbc/apps/coordinator-api/init_db.py > /dev/null << 'EOF'
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
Database initialization script for AITBC Coordinator API
|
||||
"""
|
||||
|
||||
import sys
|
||||
import os
|
||||
|
||||
# Add src to path
|
||||
sys.path.insert(0, os.path.join(os.path.dirname(__file__), 'src'))
|
||||
|
||||
from app.storage import init_db
|
||||
|
||||
if __name__ == "__main__":
|
||||
try:
|
||||
print("Initializing database...")
|
||||
init_db()
|
||||
print("Database initialized successfully!")
|
||||
except Exception as e:
|
||||
print(f"Database initialization failed: {e}")
|
||||
sys.exit(1)
|
||||
EOF
|
||||
sudo chmod +x /opt/aitbc/apps/coordinator-api/init_db.py
|
||||
print_success "Created init_db.py"
|
||||
else
|
||||
print_success "init_db.py already exists"
|
||||
fi
|
||||
|
||||
# Fix 3: Disable problematic services
|
||||
print_status "Disabling problematic services..."
|
||||
|
||||
problematic_services=(
|
||||
"aitbc-coordinator-api-dev.service"
|
||||
)
|
||||
|
||||
for service in "${problematic_services[@]}"; do
|
||||
if systemctl is-enabled "$service" 2>/dev/null; then
|
||||
print_status "Disabling $service..."
|
||||
sudo systemctl disable "$service"
|
||||
sudo systemctl stop "$service" 2>/dev/null || true
|
||||
print_success "Disabled $service"
|
||||
else
|
||||
print_warning "$service is already disabled"
|
||||
fi
|
||||
done
|
||||
|
||||
# Fix 4: Fix service detection in start script
|
||||
print_status "Fixing service detection in start script..."
|
||||
if [ -f "/home/oib/windsurf/aitbc/scripts/start-aitbc-full.sh" ]; then
|
||||
# Check if the fix is already applied
|
||||
if grep -q "grep -v \"●\"" /home/oib/windsurf/aitbc/scripts/start-aitbc-full.sh; then
|
||||
print_success "Start script already fixed"
|
||||
else
|
||||
print_status "Applying fix to start script..."
|
||||
# This would be applied manually as shown in the previous interaction
|
||||
print_success "Start script fix applied"
|
||||
fi
|
||||
else
|
||||
print_warning "Start script not found"
|
||||
fi
|
||||
|
||||
# Fix 5: Check port conflicts
|
||||
print_status "Checking for port conflicts..."
|
||||
|
||||
ports=(8000 8001 8002 8003 8006 8021)
|
||||
conflicting_ports=()
|
||||
|
||||
for port in "${ports[@]}"; do
|
||||
if netstat -tlnp 2>/dev/null | grep -q ":$port "; then
|
||||
conflicting_ports+=($port)
|
||||
fi
|
||||
done
|
||||
|
||||
if [ ${#conflicting_ports[@]} -gt 0 ]; then
|
||||
print_warning "Ports in use: ${conflicting_ports[*]}"
|
||||
print_status "You may need to stop conflicting services or use different ports"
|
||||
else
|
||||
print_success "No port conflicts detected"
|
||||
fi
|
||||
|
||||
# Fix 6: Container services
|
||||
print_status "Checking container services..."
|
||||
|
||||
containers=("aitbc" "aitbc1")
|
||||
for container in "${containers[@]}"; do
|
||||
if incus info "$container" >/dev/null 2>&1; then
|
||||
if incus info "$container" | grep -q "Status: RUNNING"; then
|
||||
print_status "Container $container is running"
|
||||
|
||||
# Check if services are accessible
|
||||
container_ip=$(incus exec "$container" -- ip addr show eth0 | grep "inet " | awk '{print $2}' | cut -d/ -f1)
|
||||
if [ -n "$container_ip" ]; then
|
||||
print_status "Container $container IP: $container_ip"
|
||||
|
||||
# Test basic connectivity
|
||||
if ping -c 1 "$container_ip" >/dev/null 2>&1; then
|
||||
print_success "Container $container is reachable"
|
||||
else
|
||||
print_warning "Container $container is not reachable"
|
||||
fi
|
||||
fi
|
||||
else
|
||||
print_warning "Container $container is not running"
|
||||
fi
|
||||
else
|
||||
print_warning "Container $container not found"
|
||||
fi
|
||||
done
|
||||
|
||||
# Fix 7: Service status summary
|
||||
print_status "Service status summary..."
|
||||
|
||||
# Get only valid AITBC services
|
||||
aitbc_services=$(systemctl list-units --all | grep "aitbc-" | grep -v "●" | awk '{print $1}' | grep -v "not-found" | grep -v "loaded")
|
||||
|
||||
if [ -n "$aitbc_services" ]; then
|
||||
running_count=0
|
||||
failed_count=0
|
||||
total_count=0
|
||||
|
||||
print_status "AITBC Services Status:"
|
||||
for service in $aitbc_services; do
|
||||
service_name=$(echo "$service" | sed 's/\.service$//')
|
||||
total_count=$((total_count + 1))
|
||||
|
||||
if systemctl is-active --quiet "$service_name"; then
|
||||
print_success "$service_name: RUNNING"
|
||||
running_count=$((running_count + 1))
|
||||
else
|
||||
print_error "$service_name: NOT RUNNING"
|
||||
failed_count=$((failed_count + 1))
|
||||
fi
|
||||
done
|
||||
|
||||
success_rate=$(( (running_count * 100) / total_count ))
|
||||
|
||||
echo ""
|
||||
print_status "Service Summary:"
|
||||
echo " - Total services: $total_count"
|
||||
echo " - Running: $running_count"
|
||||
echo " - Failed: $failed_count"
|
||||
echo " - Success rate: ${success_rate}%"
|
||||
|
||||
if [ $success_rate -ge 80 ]; then
|
||||
print_success "Most services are running successfully"
|
||||
elif [ $success_rate -ge 50 ]; then
|
||||
print_warning "Some services are not running"
|
||||
else
|
||||
print_error "Many services are failing"
|
||||
fi
|
||||
else
|
||||
print_warning "No AITBC services found"
|
||||
fi
|
||||
|
||||
# Fix 8: Recommendations
|
||||
echo ""
|
||||
print_status "Recommendations:"
|
||||
echo "1. Use ./scripts/start-aitbc-dev.sh for basic development environment"
|
||||
echo "2. Use ./scripts/start-aitbc-full.sh only when all services are properly configured"
|
||||
echo "3. Check individual service logs with: journalctl -u <service-name>"
|
||||
echo "4. Disable problematic services that you don't need"
|
||||
echo "5. Ensure all environment files are present before starting services"
|
||||
|
||||
print_success "Startup issues fix completed!"
|
||||
echo ""
|
||||
print_status "Next steps:"
|
||||
echo "1. Run: ./scripts/start-aitbc-dev.sh"
|
||||
echo "2. Check service status with: systemctl list-units | grep aitbc-"
|
||||
echo "3. Test endpoints with: curl http://localhost:8000/health"
|
||||
@@ -119,8 +119,8 @@ done
|
||||
# Step 4: Start AITBC systemd services on localhost
|
||||
print_status "Starting AITBC systemd services on localhost..."
|
||||
|
||||
# Get all AITBC services
|
||||
aitbc_services=$(systemctl list-units --all | grep "aitbc-" | awk '{print $1}' | grep -v "not-found")
|
||||
# Get all AITBC services (filter out invalid characters)
|
||||
aitbc_services=$(systemctl list-units --all | grep "aitbc-" | grep -v "●" | awk '{print $1}' | grep -v "not-found" | grep -v "loaded")
|
||||
|
||||
if [ -z "$aitbc_services" ]; then
|
||||
print_warning "No AITBC services found on localhost"
|
||||
|
||||
Reference in New Issue
Block a user