- Introduced Aggregator.sol for Chainlink-compatible oracle functionality, including round-based updates and access control. - Added OracleWithCCIP.sol to extend Aggregator with CCIP cross-chain messaging capabilities. - Created .gitmodules to include OpenZeppelin contracts as a submodule. - Developed a comprehensive deployment guide in NEXT_STEPS_COMPLETE_GUIDE.md for Phase 2 and smart contract deployment. - Implemented Vite configuration for the orchestration portal, supporting both Vue and React frameworks. - Added server-side logic for the Multi-Cloud Orchestration Portal, including API endpoints for environment management and monitoring. - Created scripts for resource import and usage validation across non-US regions. - Added tests for CCIP error handling and integration to ensure robust functionality. - Included various new files and directories for the orchestration portal and deployment scripts.
68 lines
2.7 KiB
Bash
Executable File
68 lines
2.7 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# Continuously check status and continue with next steps
|
|
|
|
set -e
|
|
|
|
SUBSCRIPTION_ID="fc08d829-4f14-413d-ab27-ce024425db0b"
|
|
PROJECT_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
|
|
TERRAFORM_DIR="$PROJECT_ROOT/terraform/well-architected/cloud-sovereignty"
|
|
|
|
echo "=== Continuous Status Check & Continue ==="
|
|
echo ""
|
|
|
|
while true; do
|
|
# Check status
|
|
FAILED=$(az aks list --subscription "$SUBSCRIPTION_ID" \
|
|
--query "[?contains(name, 'az-p-') && provisioningState == 'Failed'].name" -o tsv 2>/dev/null | wc -l)
|
|
|
|
CANCELED=$(az aks list --subscription "$SUBSCRIPTION_ID" \
|
|
--query "[?contains(name, 'az-p-') && provisioningState == 'Canceled'].name" -o tsv 2>/dev/null | wc -l)
|
|
|
|
DELETING=$(az aks list --subscription "$SUBSCRIPTION_ID" \
|
|
--query "[?contains(name, 'az-p-') && provisioningState == 'Deleting'].name" -o tsv 2>/dev/null | wc -l)
|
|
|
|
READY=$(az aks list --subscription "$SUBSCRIPTION_ID" \
|
|
--query "[?contains(name, 'az-p-') && provisioningState == 'Succeeded'].name" -o tsv 2>/dev/null | wc -l)
|
|
|
|
CREATING=$(az aks list --subscription "$SUBSCRIPTION_ID" \
|
|
--query "[?contains(name, 'az-p-') && provisioningState == 'Creating'].name" -o tsv 2>/dev/null | wc -l)
|
|
|
|
echo "$(date '+%Y-%m-%d %H:%M:%S') - Status: Ready=$READY, Failed=$FAILED, Canceled=$CANCELED, Deleting=$DELETING, Creating=$CREATING"
|
|
|
|
# If deletions complete and Terraform not started, start it
|
|
if [ "$DELETING" -eq 0 ] && [ "$FAILED" -eq 0 ] && [ "$CANCELED" -eq 0 ]; then
|
|
if [ ! -f /tmp/terraform-apply-redeploy.log ] || ! ps aux | grep -q "[t]erraform apply"; then
|
|
echo "✅ All deletions complete! Starting Terraform deployment..."
|
|
cd "$TERRAFORM_DIR"
|
|
terraform init -upgrade >/dev/null 2>&1 || true
|
|
terraform apply -parallelism=128 -auto-approve 2>&1 | tee /tmp/terraform-apply-redeploy.log &
|
|
echo "✅ Terraform deployment started"
|
|
break
|
|
fi
|
|
fi
|
|
|
|
# If Terraform complete and clusters ready, run next steps
|
|
if [ -f /tmp/terraform-apply-redeploy.log ] && tail -10 /tmp/terraform-apply-redeploy.log | grep -q "Apply complete"; then
|
|
if [ "$READY" -ge 20 ]; then
|
|
echo "✅ Terraform deployment complete with $READY ready clusters!"
|
|
echo "Starting next steps..."
|
|
cd "$PROJECT_ROOT"
|
|
./scripts/deployment/wait-and-run-all-next-steps.sh 2>&1 | tee /tmp/next-steps-after-fix.log &
|
|
echo "✅ Next steps started"
|
|
break
|
|
fi
|
|
fi
|
|
|
|
# Check if still processing
|
|
if [ "$DELETING" -gt 0 ] || [ "$CREATING" -gt 0 ]; then
|
|
echo " ⏳ Still processing... (checking again in 30 seconds)"
|
|
sleep 30
|
|
else
|
|
echo " ⏸️ Waiting... (checking again in 60 seconds)"
|
|
sleep 60
|
|
fi
|
|
done
|
|
|
|
echo ""
|
|
echo "✅ Monitoring complete"
|