Archived
Remove MTU migration phase 2 - moving to homelab-scripts repo
This commit is contained in:
@@ -1,48 +0,0 @@
|
||||
#!/bin/bash
|
||||
# Phase 2 — Recreate overlay networks + redeploy stacks
|
||||
# Only runs on whichever node holds swarm leadership
|
||||
# Must wait for all 3 nodes to complete phase1 first
|
||||
LOG=/volume1/docker/mtu_migration/phase2.log
|
||||
exec >> "$LOG" 2>&1
|
||||
echo "[$(date)] Phase2 starting — waiting for all nodes phase1.done"
|
||||
TIMEOUT=600
|
||||
ELAPSED=0
|
||||
while true; do
|
||||
ALL_DONE=true
|
||||
for node in docker-2 docker-3; do
|
||||
[ ! -f "/volume1/docker/mtu_migration/${node}_phase1.done" ] && ALL_DONE=false
|
||||
done
|
||||
$ALL_DONE && break
|
||||
sleep 5; ELAPSED=$((ELAPSED+5))
|
||||
if [ "$ELAPSED" -ge "$TIMEOUT" ]; then
|
||||
echo "[$(date)] TIMEOUT waiting for phase1 — aborting phase2"
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
echo "[$(date)] All phase1 done files present — checking swarm quorum"
|
||||
SWARM_READY=false
|
||||
for i in $(seq 1 24); do
|
||||
STATUS=$(docker node ls 2>/dev/null | grep -c "Ready")
|
||||
echo "[$(date)] Swarm ready nodes: $STATUS"
|
||||
[ "$STATUS" -ge 2 ] && SWARM_READY=true && break
|
||||
sleep 10
|
||||
done
|
||||
if ! $SWARM_READY; then
|
||||
echo "[$(date)] Swarm not ready after 4min — aborting phase2"
|
||||
exit 1
|
||||
fi
|
||||
echo "[$(date)] Swarm healthy — redeploying stacks"
|
||||
CD=/volume1/docker/compose-files
|
||||
for stack in traefik auth postgresql; do
|
||||
f="$CD/${stack}.yaml"
|
||||
[ -f "$f" ] || { echo "[$(date)] WARN: $f not found, skipping"; continue; }
|
||||
echo "[$(date)] Redeploying stack: $stack"
|
||||
docker stack deploy -c "$f" "$stack" 2>&1
|
||||
echo "[$(date)] $stack deploy exit: $?"
|
||||
sleep 5
|
||||
done
|
||||
echo "[$(date)] Verifying overlay MTUs:"
|
||||
docker network ls --filter driver=overlay -q | \
|
||||
xargs docker network inspect --format '{{.Name}} {{json .Options}}' 2>/dev/null
|
||||
echo "[$(date)] Phase2 COMPLETE"
|
||||
touch /volume1/docker/mtu_migration/phase2.done
|
||||
Reference in New Issue
Block a user