mirror of
https://github.com/rcourtman/Pulse.git
synced 2026-02-18 00:17:39 +01:00
Dramatically improve temperature proxy installation robustness
Users were abandoning Pulse due to catastrophic temperature monitoring setup failures. This commit addresses the root causes: **Problem 1: Silent Failures** - Installations reported "SUCCESS" even when proxy never started - UI showed green checkmarks with no temperature data - Zero feedback when things went wrong **Problem 2: Missing Diagnostics** - Service failures logged only in journald - Users saw "Something going on with the proxy" with no actionable guidance - No way to troubleshoot from error messages **Problem 3: Standalone Node Issues** - Proxy daemon logged continuous pvecm errors as warnings - "ipcc_send_rec" and "Unknown error -1" messages confused users - These are expected for non-clustered/LXC setups **Solutions Implemented:** 1. **Health Gate in install.sh (lines 1588-1629)** - Verify service is running after installation - Check socket exists on host - Confirm socket visible inside container via bind mount - Fail loudly with specific diagnostics if any check fails 2. **Actionable Error Messages in install-sensor-proxy.sh (lines 822-877)** - When service fails to start: dump full systemctl status + 40 lines of logs - When socket missing: show permissions, service status, and remediation command - Include common issues checklist (missing user, permission errors, lm-sensors, etc.) - Direct link to troubleshooting docs 3. **Better Standalone Node Detection in ssh.go (lines 585-595)** - Recognize "Unknown error -1" and "Unable to load access control list" as LXC indicators - Log at INFO level (not WARN) since this is expected behavior - Clarify message: "using localhost for temperature collection" **Impact:** - Eliminates "green checkmark but no temps" scenario - Users get immediate actionable feedback on failures - Standalone/LXC installations work silently without error spam - Reduces support burden from #571 (15+ comments of user frustration) Related to #571
This commit is contained in:
@@ -821,8 +821,26 @@ fi
|
||||
|
||||
if ! systemctl restart pulse-sensor-proxy.service; then
|
||||
print_error "Failed to start pulse-sensor-proxy service"
|
||||
print_error "Check service logs:"
|
||||
journalctl -u pulse-sensor-proxy -n 20 --no-pager
|
||||
print_error ""
|
||||
print_error "═══════════════════════════════════════════════════════"
|
||||
print_error "Service Status:"
|
||||
print_error "═══════════════════════════════════════════════════════"
|
||||
systemctl status pulse-sensor-proxy --no-pager --lines=0 2>&1 || true
|
||||
print_error ""
|
||||
print_error "═══════════════════════════════════════════════════════"
|
||||
print_error "Recent Logs (last 40 lines):"
|
||||
print_error "═══════════════════════════════════════════════════════"
|
||||
journalctl -u pulse-sensor-proxy -n 40 --no-pager 2>&1 || true
|
||||
print_error ""
|
||||
print_error "═══════════════════════════════════════════════════════"
|
||||
print_error "Common Issues:"
|
||||
print_error "═══════════════════════════════════════════════════════"
|
||||
print_error "1. Missing user: Run 'useradd --system --no-create-home --group pulse-sensor-proxy'"
|
||||
print_error "2. Permission errors: Check ownership of /var/lib/pulse-sensor-proxy"
|
||||
print_error "3. lm-sensors not installed: Run 'apt-get install lm-sensors && sensors-detect --auto'"
|
||||
print_error "4. Standalone node detection: If you see 'pvecm' errors, this is expected for non-clustered hosts"
|
||||
print_error ""
|
||||
print_error "For more help: https://github.com/rcourtman/Pulse/blob/main/docs/TROUBLESHOOTING.md"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
@@ -836,8 +854,26 @@ for i in {1..10}; do
|
||||
done
|
||||
|
||||
if [[ ! -S "$SOCKET_PATH" ]]; then
|
||||
print_error "Socket did not appear after 10 seconds"
|
||||
print_info "Check service status: systemctl status pulse-sensor-proxy"
|
||||
print_error "Socket did not appear at $SOCKET_PATH after 10 seconds"
|
||||
print_error ""
|
||||
print_error "═══════════════════════════════════════════════════════"
|
||||
print_error "Diagnostics:"
|
||||
print_error "═══════════════════════════════════════════════════════"
|
||||
print_error "Service Status:"
|
||||
systemctl status pulse-sensor-proxy --no-pager 2>&1 || true
|
||||
print_error ""
|
||||
print_error "Socket Directory Permissions:"
|
||||
ls -la /run/pulse-sensor-proxy/ 2>&1 || echo "Directory does not exist"
|
||||
print_error ""
|
||||
print_error "Recent Logs:"
|
||||
journalctl -u pulse-sensor-proxy -n 20 --no-pager 2>&1 || true
|
||||
print_error ""
|
||||
print_error "Common Causes:"
|
||||
print_error " • Service failed to start (check logs above)"
|
||||
print_error " • RuntimeDirectory permissions issue"
|
||||
print_error " • Systemd socket creation failed"
|
||||
print_error ""
|
||||
print_error "Try: systemctl restart pulse-sensor-proxy && watch -n 0.5 'ls -la /run/pulse-sensor-proxy/'"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
||||
Reference in New Issue
Block a user