fix(ops-agent): foundation-stap overslaan op een host die het doeladres niet bezit #137
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "fix/foundation-skip-on-foreign-host"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
setup.shstrandde op scrum4me-server opCONTROL_ROOM_FOUNDATION_FAILED: existing_foundation_state_ambiguous. Dat is geen toeval maar een portabiliteitsbug.De bevinding
control-room-foundation.shis aan één host gebonden — vier hardgecodeerde adressen, geen override, geen detectie:AGENT_ADDRESS172.18.0.1:3099LEGACY_ADDRESS127.0.0.1:3099172.18.0.1TAILNET_ADDRESS100.102.8.64:3099100.118.195.120FORBIDDEN_LAN_ADDRESS192.168.0.158:3099192.168.0.154Plus
TAILSCALE_IP(regel 322) enops-agent-tailnet-proxy.socketmetListenStream=100.102.8.64:3099.De staat-detectie valt door zowel de
fresh- als delegacy-tak — met de listener op0.0.0.0:3099én daarna op172.18.0.1:3099, het adres datops-agent.service:22zelf voorschrijft. Er bestaat op deze host geen configuratie waarin de unit en dit script het eens zijn.Alleen
LEGACY_ADDRESSbijstellen was verleidelijk maar fout:require_listener_setenverify_listener(regel 290/292) eisen daarna een listener opTAILNET_ADDRESS. Dat verplaatst de fout naar een punt waar er al units geïnstalleerd zijn.De oplossing
Een expliciete niet-van-toepassing-conditie, geen error-vangnet: bezit de host het doeladres niet, dan wordt de stap overgeslagen. Op de host waar het subsysteem wél hoort draait het onveranderd, en mag een echte fout de deploy gewoon laten falen.
Het doeladres wordt uit het script zelf gelezen, zodat er geen vijfde kopie ontstaat en de conditie meebeweegt als het subsysteem ooit host-onafhankelijk wordt.
Bewijs
De bevinding staat ook in
docs/runbooks/control-room-foundation.md— overslaan lost het hier op en verbergt het op elke andere host.