47 lines
1.5 KiB
Bash
Executable File
47 lines
1.5 KiB
Bash
Executable File
#!/bin/bash
|
|
# 2026-03-20
|
|
# stress_destroy_apply.sh — 5 итераций terraform destroy + apply для проверки lifecycle PG.
|
|
# Запускать вручную с VM: bash stress_destroy_apply.sh
|
|
# Логи каждой итерации пишутся в stress_log_N.txt
|
|
|
|
set -e
|
|
|
|
ITERATIONS=5
|
|
DIR="$(cd "$(dirname "$0")" && pwd)"
|
|
cd "$DIR"
|
|
|
|
echo "=== Старт stress-теста: $ITERATIONS итераций destroy+apply ==="
|
|
echo "Workdir: $DIR"
|
|
echo ""
|
|
|
|
for i in $(seq 1 $ITERATIONS); do
|
|
LOG="stress_log_${i}.txt"
|
|
echo "--- Итерация $i/$ITERATIONS ---"
|
|
echo "Лог: $LOG"
|
|
|
|
echo "[$i] DESTROY — $(date)" | tee "$LOG"
|
|
terraform destroy -auto-approve 2>&1 | tee -a "$LOG"
|
|
DESTROY_CODE=${PIPESTATUS[0]}
|
|
|
|
if [ $DESTROY_CODE -ne 0 ]; then
|
|
echo "[!] destroy завершился с ошибкой (код $DESTROY_CODE), итерация $i. Прерывание." | tee -a "$LOG"
|
|
exit $DESTROY_CODE
|
|
fi
|
|
|
|
echo "" | tee -a "$LOG"
|
|
echo "[$i] APPLY — $(date)" | tee -a "$LOG"
|
|
terraform apply -auto-approve 2>&1 | tee -a "$LOG"
|
|
APPLY_CODE=${PIPESTATUS[0]}
|
|
|
|
if [ $APPLY_CODE -ne 0 ]; then
|
|
echo "[!] apply завершился с ошибкой (код $APPLY_CODE), итерация $i. Прерывание." | tee -a "$LOG"
|
|
exit $APPLY_CODE
|
|
fi
|
|
|
|
echo "" | tee -a "$LOG"
|
|
echo "[$i] Итерация завершена успешно — $(date)" | tee -a "$LOG"
|
|
echo ""
|
|
done
|
|
|
|
echo "=== Все $ITERATIONS итераций прошли успешно ==="
|