Break self-heal recursion when proxy unregistered
This commit is contained in:
parent
94a0c82439
commit
3ca2bf308e
1 changed files with 20 additions and 15 deletions
|
|
@ -555,6 +555,7 @@ LOG_DIR="/var/log/pulse/sensor-proxy"
|
||||||
SELFHEAL_SERVICE_UNIT="/etc/systemd/system/pulse-sensor-proxy-selfheal.service"
|
SELFHEAL_SERVICE_UNIT="/etc/systemd/system/pulse-sensor-proxy-selfheal.service"
|
||||||
SELFHEAL_TIMER_UNIT="/etc/systemd/system/pulse-sensor-proxy-selfheal.timer"
|
SELFHEAL_TIMER_UNIT="/etc/systemd/system/pulse-sensor-proxy-selfheal.timer"
|
||||||
SCRIPT_SOURCE="$(readlink -f "${BASH_SOURCE[0]:-$0}" 2>/dev/null || printf '%s' "${BASH_SOURCE[0]:-$0}")"
|
SCRIPT_SOURCE="$(readlink -f "${BASH_SOURCE[0]:-$0}" 2>/dev/null || printf '%s' "${BASH_SOURCE[0]:-$0}")"
|
||||||
|
SKIP_SELF_HEAL_SETUP="${PULSE_SENSOR_PROXY_SELFHEAL:-false}"
|
||||||
GITHUB_REPO="rcourtman/Pulse"
|
GITHUB_REPO="rcourtman/Pulse"
|
||||||
LATEST_RELEASE_TAG=""
|
LATEST_RELEASE_TAG=""
|
||||||
REQUESTED_VERSION=""
|
REQUESTED_VERSION=""
|
||||||
|
|
@ -2862,6 +2863,9 @@ if [ "$LEGACY_KEYS_FOUND" = true ] && [ "$QUIET" != true ]; then
|
||||||
fi
|
fi
|
||||||
fi # End of container-specific configuration
|
fi # End of container-specific configuration
|
||||||
|
|
||||||
|
if [[ "$SKIP_SELF_HEAL_SETUP" == "true" ]]; then
|
||||||
|
print_info "Skipping self-heal safeguards during self-heal run"
|
||||||
|
else
|
||||||
# Install self-heal safeguards to keep proxy available
|
# Install self-heal safeguards to keep proxy available
|
||||||
print_info "Configuring self-heal safeguards..."
|
print_info "Configuring self-heal safeguards..."
|
||||||
if ! cache_installer_for_self_heal; then
|
if ! cache_installer_for_self_heal; then
|
||||||
|
|
@ -2922,7 +2926,7 @@ attempt_control_plane_reconcile() {
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if bash "$INSTALLER" "${cmd[@]}"; then
|
if PULSE_SENSOR_PROXY_SELFHEAL=1 bash "$INSTALLER" "${cmd[@]}"; then
|
||||||
rm -f "$PENDING_FILE"
|
rm -f "$PENDING_FILE"
|
||||||
else
|
else
|
||||||
log "Control-plane reconciliation failed"
|
log "Control-plane reconciliation failed"
|
||||||
|
|
@ -2936,7 +2940,7 @@ fi
|
||||||
if ! systemctl list-unit-files 2>/dev/null | grep -q "^${SERVICE}\\.service"; then
|
if ! systemctl list-unit-files 2>/dev/null | grep -q "^${SERVICE}\\.service"; then
|
||||||
if [[ -x "$INSTALLER" && -f "$CTID_FILE" ]]; then
|
if [[ -x "$INSTALLER" && -f "$CTID_FILE" ]]; then
|
||||||
log "Service unit missing; attempting reinstall"
|
log "Service unit missing; attempting reinstall"
|
||||||
bash "$INSTALLER" --ctid "$(cat "$CTID_FILE")" --skip-restart --quiet || log "Reinstall attempt failed"
|
PULSE_SENSOR_PROXY_SELFHEAL=1 bash "$INSTALLER" --ctid "$(cat "$CTID_FILE")" --skip-restart --quiet || log "Reinstall attempt failed"
|
||||||
fi
|
fi
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
@ -2949,7 +2953,7 @@ fi
|
||||||
if ! systemctl is-active --quiet "${SERVICE}.service"; then
|
if ! systemctl is-active --quiet "${SERVICE}.service"; then
|
||||||
if [[ -x "$INSTALLER" && -f "$CTID_FILE" ]]; then
|
if [[ -x "$INSTALLER" && -f "$CTID_FILE" ]]; then
|
||||||
log "Service failed to start; attempting reinstall"
|
log "Service failed to start; attempting reinstall"
|
||||||
bash "$INSTALLER" --ctid "$(cat "$CTID_FILE")" --skip-restart --quiet || log "Reinstall attempt failed"
|
PULSE_SENSOR_PROXY_SELFHEAL=1 bash "$INSTALLER" --ctid "$(cat "$CTID_FILE")" --skip-restart --quiet || log "Reinstall attempt failed"
|
||||||
systemctl start "${SERVICE}.service" || true
|
systemctl start "${SERVICE}.service" || true
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
@ -2990,6 +2994,7 @@ EOF
|
||||||
systemctl daemon-reload
|
systemctl daemon-reload
|
||||||
systemctl enable --now pulse-sensor-proxy-selfheal.timer >/dev/null 2>&1 || true
|
systemctl enable --now pulse-sensor-proxy-selfheal.timer >/dev/null 2>&1 || true
|
||||||
systemctl start pulse-sensor-proxy-selfheal.service >/dev/null 2>&1 || true
|
systemctl start pulse-sensor-proxy-selfheal.service >/dev/null 2>&1 || true
|
||||||
|
fi
|
||||||
|
|
||||||
if [ "$QUIET" = true ]; then
|
if [ "$QUIET" = true ]; then
|
||||||
print_success "pulse-sensor-proxy installed and running"
|
print_success "pulse-sensor-proxy installed and running"
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue