#!/bin/bash
# Sequential queue: SANTE-WINT-ACESSOS (wait+cleanup) → CICLO-APP01 (full) → SANTE-APP01 → SANTE-APP-IAAS-TARGIT → SANTE-DB
# Each VM: ovftool → v2v/qemu-img → upload POST → wait Ready → delete local → next
LOG=/NFS01/migrate/logs/master-queue-$(date +%Y%m%d-%H%M%S).log
exec > >(tee -a "$LOG") 2>&1
echo "=== $(date) MASTER QUEUE START ==="

# Stage 0: SANTE-WINT-ACESSOS already uploaded — just wait+cleanup
echo "=== $(date) [1/5] SANTE-WINT-ACESSOS — wait+cleanup ==="
bash /NFS01/migrate/wait-and-cleanup.sh SANTE-WINT-ACESSOS
df -h /NFS01/migrate

QUEUE=(
  "CICLO-APP01:CICLO-APP01-MIGRATE"
  "SANTE-APP01:SANTE-APP01-MIGRATE"
  "SANTE-APP-IAAS-TARGIT:SANTE-APP-IAAS-TARGIT-MIGRATE"
  "SANTE-DB:SANTE-DB-MIGRATE"
)

I=2
for ENTRY in "${QUEUE[@]}"; do
  VM_NAME="${ENTRY%%:*}"
  VAPP="${ENTRY##*:}"
  echo "=== $(date) [$I/5] START $VM_NAME ==="
  bash /NFS01/migrate/run-pipeline.sh "$VM_NAME" "$VAPP"
  PIPELINE_RC=$?
  echo "=== $(date) [$I/5] pipeline exit=$PIPELINE_RC ==="
  if [ "$PIPELINE_RC" -ne 0 ]; then
    echo "=== $(date) [$I/5] $VM_NAME PIPELINE FAILED — skipping wait+cleanup ==="
  else
    bash /NFS01/migrate/wait-and-cleanup.sh "$VM_NAME"
  fi
  df -h /NFS01/migrate
  I=$((I+1))
done

echo "=== $(date) MASTER QUEUE END ==="
df -h /NFS01/migrate
