#!/bin/bash
# 실습 #13 ② — track_script: nginx 서비스 단위 페일오버
# 사용: bash setup_02_track_script.sh        (lb-1 = master 에서)
set -e

CFG="$(dirname "$0")/configs/02_keepalived_track_script.conf"

# 1) nginx 설치 + 시작 (track 대상)
sudo apt install -y nginx keepalived
sudo systemctl enable --now nginx

# 2) 설정 배포 + 적용
sudo cp "$CFG" /etc/keepalived/keepalived.conf
sudo systemctl restart keepalived
sleep 2

echo
echo "=== 정상 상태 (nginx 살아있음) ==="
ip addr show eth0 | grep "inet " | head -3
echo "→ MASTER (priority 150) — VIP 부착되어야 정상"

echo
echo "=== nginx 종료 시뮬 — track_script 가 priority -20 적용 ==="
sudo systemctl stop nginx
echo "→ 6~8초 대기 (fall 3 × interval 2s)..."
sleep 8
ip addr show eth0 | grep "inet " | head -3
echo "→ priority 130 < BACKUP 100? — 일반적으로 자동 이전 (BACKUP priority 가 더 높을 경우)"
echo
echo "=== nginx 복구 → priority 150 회복 ==="
sudo systemctl start nginx
echo "→ 6초 대기 (rise 2 × interval 2s)..."
sleep 6
ip addr show eth0 | grep "inet " | head -3
