fix(maintenance): a host that came back late stops reading as failed once it is back (#6105)
CI / lint (push) Successful in 2s
CI / unit (push) Successful in 1m30s
CI / integration (push) Successful in 1m39s
CI / publish (push) Successful in 1m5s

Docker02's Sunday job updated and rebooted, then failed only because
portal_app was short of its replica past the 30-minute settle. Its
maintenance_failed figure stayed 1, and the alert kept firing, until a
later job succeeds. A job failed for not coming back into service is
checked again each minute and reads 0 once the host is back; a failed
or timed-out update still reads 1 until a job succeeds.

Also: compose.deploy.yml's syslog comment still said devices are told
apart by address under Swarm (stale since #6096).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-19 14:23:53 -04:00
co-authored by Claude Opus 5.5
parent fcd58224de
commit 18032a4782
4 changed files with 64 additions and 11 deletions
+4 -3
View File
@@ -18,9 +18,10 @@ services:
- "5000:5000"
# Syslog (plugins/syslog): devices send here. Steward runs unprivileged,
# so it listens above 1024; publish 514 to it instead ("514:5514/udp")
# if a device can't choose its port. Under Docker Swarm use the long form
# with `mode: host`: Swarm's default ingress publishing hands every packet
# over from one internal address, and devices are told apart by theirs.
# if a device can't choose its port. Under Docker Swarm's ingress every
# device arrives from one internal address and is told apart by the name
# its lines carry; the long form with `mode: host` keeps each device's
# own address but ties Steward to that node.
- "5514:5514/udp"
- "5514:5514/tcp"
networks: