rename: SYS_WATCHDOG_FAILED_FILE → DOCKER_WATCHDOG_FAILED_FILE

Skip list belongs to docker_watchdog, not stability_watchdog (legacy
naming from when docker+system were the only two watchdogs). Rename
variable and physical file system_watchdog_failed.db →
docker_watchdog_failed.db across all files.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Gmer4Lfe
2026-05-31 14:51:37 -04:00
co-authored by Claude Sonnet 4.6
parent 9d6772fbd6
commit 070f9caf7f
5 changed files with 21 additions and 21 deletions
+1 -1
View File
@@ -1347,7 +1347,7 @@
# ━━━ State Files ━━━ # ━━━ State Files ━━━
SYS_WATCHDOG_STATE_FILE="$STATE_DIR/system_watchdog_state.db" SYS_WATCHDOG_STATE_FILE="$STATE_DIR/system_watchdog_state.db"
SYS_WATCHDOG_FAILED_FILE="$STATE_DIR/system_watchdog_failed.db" DOCKER_WATCHDOG_FAILED_FILE="$STATE_DIR/docker_watchdog_failed.db"
SYS_WATCHDOG_REBOOT_LOG="$STATE_DIR/system_watchdog_reboots.db" SYS_WATCHDOG_REBOOT_LOG="$STATE_DIR/system_watchdog_reboots.db"
SYS_WATCHDOG_OOM_FILE="$STATE_DIR/system_watchdog_oom.db" SYS_WATCHDOG_OOM_FILE="$STATE_DIR/system_watchdog_oom.db"
+4 -4
View File
@@ -31,7 +31,7 @@
# #
# Data sources (reads only): # Data sources (reads only):
# FALLBACK_STATE_FILE — current fallback state # FALLBACK_STATE_FILE — current fallback state
# SYS_WATCHDOG_FAILED_FILE — container skip list (manual intervention needed) # DOCKER_WATCHDOG_FAILED_FILE — container skip list (manual intervention needed)
# WATCHDOG_STATE_FILE — active container watchdog strikes # WATCHDOG_STATE_FILE — active container watchdog strikes
# SYS_WATCHDOG_STATE_FILE — active system watchdog strikes # SYS_WATCHDOG_STATE_FILE — active system watchdog strikes
# BANDWIDTH_LOG — yesterday's transfer totals # BANDWIDTH_LOG — yesterday's transfer totals
@@ -213,9 +213,9 @@ else
fi fi
# ── Container Skip List ─────────────────────────────────────────────────────────────────────── # ── Container Skip List ───────────────────────────────────────────────────────────────────────
if [[ -f "$SYS_WATCHDOG_FAILED_FILE" ]] && [[ -s "$SYS_WATCHDOG_FAILED_FILE" ]]; then if [[ -f "$DOCKER_WATCHDOG_FAILED_FILE" ]] && [[ -s "$DOCKER_WATCHDOG_FAILED_FILE" ]]; then
SKIP_COUNT=$(wc -l < "$SYS_WATCHDOG_FAILED_FILE") SKIP_COUNT=$(wc -l < "$DOCKER_WATCHDOG_FAILED_FILE")
SKIP_LIST=$(cat "$SYS_WATCHDOG_FAILED_FILE" | tr '\n' ' ') SKIP_LIST=$(cat "$DOCKER_WATCHDOG_FAILED_FILE" | tr '\n' ' ')
DIGEST_LINES+=("$ICON_NOT_RUNNING Skip list: $SKIP_COUNT containers — $SKIP_LIST") DIGEST_LINES+=("$ICON_NOT_RUNNING Skip list: $SKIP_COUNT containers — $SKIP_LIST")
ISSUES+=("Containers on skip list (manual intervention needed): $SKIP_LIST") ISSUES+=("Containers on skip list (manual intervention needed): $SKIP_LIST")
SHOULD_SEND=true SHOULD_SEND=true
@@ -189,14 +189,14 @@ if [[ -f "$SYS_WATCHDOG_REBOOT_LOG" ]]; then
fi fi
# Container skip list # Container skip list
if [[ -f "$SYS_WATCHDOG_FAILED_FILE" ]] && [[ -s "$SYS_WATCHDOG_FAILED_FILE" ]]; then if [[ -f "$DOCKER_WATCHDOG_FAILED_FILE" ]] && [[ -s "$DOCKER_WATCHDOG_FAILED_FILE" ]]; then
SKIP_COUNT=$(wc -l < "$SYS_WATCHDOG_FAILED_FILE") SKIP_COUNT=$(wc -l < "$DOCKER_WATCHDOG_FAILED_FILE")
echo "" echo ""
echo " ⛔ Skip list ($SKIP_COUNT — manual intervention needed):" echo " ⛔ Skip list ($SKIP_COUNT — manual intervention needed):"
while IFS= read -r container; do while IFS= read -r container; do
[[ -z "$container" ]] && continue [[ -z "$container" ]] && continue
echo "$container" echo "$container"
done < "$SYS_WATCHDOG_FAILED_FILE" done < "$DOCKER_WATCHDOG_FAILED_FILE"
else else
echo " ✅ Skip list: empty" echo " ✅ Skip list: empty"
fi fi
+8 -8
View File
@@ -49,7 +49,7 @@
# STATE FILES # STATE FILES
# ============================================================================================== # ==============================================================================================
# #
# SYS_WATCHDOG_FAILED_FILE — persistent container skip list (on /boot/config) # DOCKER_WATCHDOG_FAILED_FILE — persistent container skip list (on /boot/config)
# WATCHDOG_CONTAINER_RESTART_LOG — restart history used for loop detection # WATCHDOG_CONTAINER_RESTART_LOG — restart history used for loop detection
# #
# ============================================================================================== # ==============================================================================================
@@ -128,7 +128,7 @@ detect_hosts
[[ "$FORCE" == true ]] && warn "FORCE mode — confirmation prompt skipped" [[ "$FORCE" == true ]] && warn "FORCE mode — confirmation prompt skipped"
# Ensure state files exist # Ensure state files exist
touch "$SYS_WATCHDOG_FAILED_FILE" "$WATCHDOG_CONTAINER_RESTART_LOG" 2>/dev/null touch "$DOCKER_WATCHDOG_FAILED_FILE" "$WATCHDOG_CONTAINER_RESTART_LOG" 2>/dev/null
# ============================================================================================== # ==============================================================================================
# ━━━ Status — always shown regardless of action ━━━ # ━━━ Status — always shown regardless of action ━━━
@@ -136,7 +136,7 @@ touch "$SYS_WATCHDOG_FAILED_FILE" "$WATCHDOG_CONTAINER_RESTART_LOG" 2>/dev/null
echo "" echo ""
echo "━━━ $ICON_WATCHDOG Skip List Status — $MY_ID ━━━" echo "━━━ $ICON_WATCHDOG Skip List Status — $MY_ID ━━━"
SKIP_COUNT=$(grep -c "." "$SYS_WATCHDOG_FAILED_FILE" 2>/dev/null || echo 0) SKIP_COUNT=$(grep -c "." "$DOCKER_WATCHDOG_FAILED_FILE" 2>/dev/null || echo 0)
SKIP_COUNT="${SKIP_COUNT//[^0-9]/}"; SKIP_COUNT="${SKIP_COUNT:-0}" SKIP_COUNT="${SKIP_COUNT//[^0-9]/}"; SKIP_COUNT="${SKIP_COUNT:-0}"
RESTART_COUNT=$(wc -l < "$WATCHDOG_CONTAINER_RESTART_LOG" 2>/dev/null || echo 0) RESTART_COUNT=$(wc -l < "$WATCHDOG_CONTAINER_RESTART_LOG" 2>/dev/null || echo 0)
RESTART_COUNT="${RESTART_COUNT//[^0-9]/}"; RESTART_COUNT="${RESTART_COUNT:-0}" RESTART_COUNT="${RESTART_COUNT//[^0-9]/}"; RESTART_COUNT="${RESTART_COUNT:-0}"
@@ -171,7 +171,7 @@ else
echo " $ICON_WARN $container — not found on this server" echo " $ICON_WARN $container — not found on this server"
;; ;;
esac esac
done < "$SYS_WATCHDOG_FAILED_FILE" done < "$DOCKER_WATCHDOG_FAILED_FILE"
fi fi
echo "" echo ""
@@ -212,7 +212,7 @@ if [[ "$ACTION" == "clear-all" ]]; then
exit 1 exit 1
fi fi
> "$SYS_WATCHDOG_FAILED_FILE" > "$DOCKER_WATCHDOG_FAILED_FILE"
> "$WATCHDOG_CONTAINER_RESTART_LOG" > "$WATCHDOG_CONTAINER_RESTART_LOG"
warn "Skip list cleared ✅" warn "Skip list cleared ✅"
warn "Restart history cleared ✅" warn "Restart history cleared ✅"
@@ -221,7 +221,7 @@ if [[ "$ACTION" == "clear-all" ]]; then
notify "Watchdog skip list cleared on $(hostname) ($MY_ID) — all containers will be monitored normally" \ notify "Watchdog skip list cleared on $(hostname) ($MY_ID) — all containers will be monitored normally" \
"Watchdog Manager" "warning" "Watchdog Manager" "warning"
else else
warn "DRY RUN — would clear: $SYS_WATCHDOG_FAILED_FILE" warn "DRY RUN — would clear: $DOCKER_WATCHDOG_FAILED_FILE"
warn "DRY RUN — would clear: $WATCHDOG_CONTAINER_RESTART_LOG" warn "DRY RUN — would clear: $WATCHDOG_CONTAINER_RESTART_LOG"
fi fi
fi fi
@@ -240,11 +240,11 @@ if [[ "$ACTION" == "clear" ]]; then
fi fi
# Remove from skip list # Remove from skip list
if ! grep -q "^${TARGET_CONTAINER}$" "$SYS_WATCHDOG_FAILED_FILE" 2>/dev/null; then if ! grep -q "^${TARGET_CONTAINER}$" "$DOCKER_WATCHDOG_FAILED_FILE" 2>/dev/null; then
warn "$TARGET_CONTAINER is not on the skip list" warn "$TARGET_CONTAINER is not on the skip list"
else else
if [[ "$DRY_RUN" == false ]]; then if [[ "$DRY_RUN" == false ]]; then
sed -i "/^${TARGET_CONTAINER}$/d" "$SYS_WATCHDOG_FAILED_FILE" sed -i "/^${TARGET_CONTAINER}$/d" "$DOCKER_WATCHDOG_FAILED_FILE"
warn "$TARGET_CONTAINER removed from skip list ✅" warn "$TARGET_CONTAINER removed from skip list ✅"
else else
warn "DRY RUN — would remove $TARGET_CONTAINER from skip list" warn "DRY RUN — would remove $TARGET_CONTAINER from skip list"
+5 -5
View File
@@ -134,7 +134,7 @@
# ============================================================================================== # ==============================================================================================
# #
# WATCHDOG_STATE_FILE — strike counts, daemon flags (STATE_DIR — survives reboots) # WATCHDOG_STATE_FILE — strike counts, daemon flags (STATE_DIR — survives reboots)
# SYS_WATCHDOG_FAILED_FILE — container skip list (STATE_DIR — survives reboots) # DOCKER_WATCHDOG_FAILED_FILE — container skip list (STATE_DIR — survives reboots)
# WATCHDOG_CONTAINER_RESTART_LOG — restart history for loop detection (DATA_DIR) # WATCHDOG_CONTAINER_RESTART_LOG — restart history for loop detection (DATA_DIR)
# RW_STATE_FILE — read-only: resource_watchdog RAM emergency flag # RW_STATE_FILE — read-only: resource_watchdog RAM emergency flag
# #
@@ -255,7 +255,7 @@ validate_unraid_cmd "/usr/local/emhttp/plugins/dynamix/scripts/notify" "
# Ensure state files exist # Ensure state files exist
touch "$WATCHDOG_STATE_FILE" "$WATCHDOG_CONTAINER_RESTART_LOG" \ touch "$WATCHDOG_STATE_FILE" "$WATCHDOG_CONTAINER_RESTART_LOG" \
"$SYS_WATCHDOG_FAILED_FILE" 2>/dev/null "$DOCKER_WATCHDOG_FAILED_FILE" 2>/dev/null
# Timeout for all docker commands — prevents hung daemon from stalling the watchdog # Timeout for all docker commands — prevents hung daemon from stalling the watchdog
DOCKER_TIMEOUT=15 DOCKER_TIMEOUT=15
@@ -306,14 +306,14 @@ set_strikes() {
# Check if container is on the persistent skip list # Check if container is on the persistent skip list
is_skipped() { is_skipped() {
grep -q "^${1}$" "$SYS_WATCHDOG_FAILED_FILE" 2>/dev/null grep -q "^${1}$" "$DOCKER_WATCHDOG_FAILED_FILE" 2>/dev/null
} }
# Add container to persistent skip list — manual intervention required to recover # Add container to persistent skip list — manual intervention required to recover
add_to_skip_list() { add_to_skip_list() {
local container="$1" reason="$2" local container="$1" reason="$2"
if ! is_skipped "$container"; then if ! is_skipped "$container"; then
echo "$container" >> "$SYS_WATCHDOG_FAILED_FILE" echo "$container" >> "$DOCKER_WATCHDOG_FAILED_FILE"
error "$container added to skip list — $reason" error "$container added to skip list — $reason"
queue_notify "$container added to skip list on $(hostname)$reason — manual intervention needed" "critical" queue_notify "$container added to skip list on $(hostname)$reason — manual intervention needed" "critical"
fi fi
@@ -321,7 +321,7 @@ add_to_skip_list() {
# Remove container from skip list — called when container is seen running again # Remove container from skip list — called when container is seen running again
remove_from_skip_list() { remove_from_skip_list() {
sed -i "/^${1}$/d" "$SYS_WATCHDOG_FAILED_FILE" 2>/dev/null sed -i "/^${1}$/d" "$DOCKER_WATCHDOG_FAILED_FILE" 2>/dev/null
warn "$1 recovered — removed from skip list ✅" warn "$1 recovered — removed from skip list ✅"
} }