2025-12-21 22:32:09 -08:00
|
|
|
#!/usr/bin/env bash
|
|
|
|
|
# Run deployment on ml110
|
|
|
|
|
# This script provides instructions and can optionally run the deployment
|
|
|
|
|
|
|
|
|
|
set -euo pipefail
|
|
|
|
|
|
2026-02-12 15:46:57 -08:00
|
|
|
# Load IP configuration
|
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
|
|
|
PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
|
|
|
|
|
source "${PROJECT_ROOT}/config/ip-addresses.conf" 2>/dev/null || true
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
REMOTE_HOST="${PROXMOX_HOST_ML110}"
|
2025-12-21 22:32:09 -08:00
|
|
|
REMOTE_USER="root"
|
|
|
|
|
REMOTE_PASS="L@kers2010"
|
|
|
|
|
|
|
|
|
|
echo "=== Complete Validated Deployment on ml110 ==="
|
|
|
|
|
echo ""
|
|
|
|
|
echo "Target: ${REMOTE_USER}@${REMOTE_HOST}"
|
|
|
|
|
echo ""
|
|
|
|
|
|
|
|
|
|
# Test connection
|
|
|
|
|
if ! sshpass -p "$REMOTE_PASS" ssh -o StrictHostKeyChecking=no -o ConnectTimeout=5 \
|
|
|
|
|
"${REMOTE_USER}@${REMOTE_HOST}" "echo 'Connected'" 2>/dev/null; then
|
|
|
|
|
echo "ERROR: Cannot connect to ${REMOTE_HOST}"
|
|
|
|
|
exit 1
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
echo "✓ Connection successful"
|
|
|
|
|
echo ""
|
|
|
|
|
|
|
|
|
|
# Check if script exists on remote
|
|
|
|
|
if ! sshpass -p "$REMOTE_PASS" ssh -o StrictHostKeyChecking=no \
|
|
|
|
|
"${REMOTE_USER}@${REMOTE_HOST}" \
|
|
|
|
|
"test -f /opt/smom-dbis-138-proxmox/scripts/deployment/deploy-validated-set.sh" 2>/dev/null; then
|
|
|
|
|
echo "ERROR: deploy-validated-set.sh not found on ${REMOTE_HOST}"
|
|
|
|
|
exit 1
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
echo "✓ Deployment script found"
|
|
|
|
|
echo ""
|
|
|
|
|
|
|
|
|
|
# Check if source project exists
|
|
|
|
|
if ! sshpass -p "$REMOTE_PASS" ssh -o StrictHostKeyChecking=no \
|
|
|
|
|
"${REMOTE_USER}@${REMOTE_HOST}" \
|
|
|
|
|
"test -d /opt/smom-dbis-138" 2>/dev/null; then
|
|
|
|
|
echo "ERROR: Source project /opt/smom-dbis-138 not found on ${REMOTE_HOST}"
|
|
|
|
|
exit 1
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
echo "✓ Source project found"
|
|
|
|
|
echo ""
|
|
|
|
|
|
|
|
|
|
echo "Starting deployment..."
|
|
|
|
|
echo "This may take a while (up to 1 hour for full deployment)"
|
|
|
|
|
echo ""
|
|
|
|
|
|
|
|
|
|
# Run deployment with timeout (2 hours max)
|
|
|
|
|
sshpass -p "$REMOTE_PASS" ssh -o StrictHostKeyChecking=no \
|
|
|
|
|
"${REMOTE_USER}@${REMOTE_HOST}" \
|
|
|
|
|
"cd /opt/smom-dbis-138-proxmox && \
|
|
|
|
|
chmod +x ./scripts/deployment/deploy-validated-set.sh && \
|
|
|
|
|
timeout 7200 ./scripts/deployment/deploy-validated-set.sh \
|
|
|
|
|
--source-project /opt/smom-dbis-138" 2>&1
|
|
|
|
|
|
|
|
|
|
EXIT_CODE=$?
|
|
|
|
|
|
|
|
|
|
if [[ $EXIT_CODE -eq 0 ]]; then
|
|
|
|
|
echo ""
|
|
|
|
|
echo "✅ Deployment completed successfully!"
|
|
|
|
|
elif [[ $EXIT_CODE -eq 124 ]]; then
|
|
|
|
|
echo ""
|
|
|
|
|
echo "⚠ Deployment timed out (2 hours)"
|
|
|
|
|
echo "Check the deployment status manually"
|
|
|
|
|
else
|
|
|
|
|
echo ""
|
|
|
|
|
echo "❌ Deployment failed with exit code: $EXIT_CODE"
|
|
|
|
|
echo "Check the output above for errors"
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
exit $EXIT_CODE
|
|
|
|
|
|