fix(cluster): keepalived Track-Scripts ohne weight (Sync-Group) — v1.2.105
`keepalived -t` zeigte "ignoring tracked script chk_edgeguard/chk_gateway with weights due to SYNC group": gewichtete Track-Scripts werden in einer vrrp_sync_group ignoriert → Health-Check-Failover (Gateway weg / API tot) griff NICHT. Fix: weight entfernt → Scripts wirken als binäre FAULT-Trigger (fall-mal Fehler → Instanz+Sync-Group FAULT → gesunder Peer übernimmt). Für 2-Node-Cluster die korrekte Semantik. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -54,6 +54,16 @@ func TestTemplateGARPRefresh(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
// Track-Scripts dürfen KEIN weight haben: in einer vrrp_sync_group ignoriert
|
||||
// keepalived gewichtete Scripts → Health-Checks wären wirkungslos. Ohne weight
|
||||
// wirken sie als FAULT-Trigger.
|
||||
func TestTemplateTrackScriptsUnweighted(t *testing.T) {
|
||||
out := render(t, testView())
|
||||
if strings.Contains(out, "weight") {
|
||||
t.Fatalf("Track-Scripts dürfen kein weight tragen (Sync-Group ignoriert sie sonst):\n%s", out)
|
||||
}
|
||||
}
|
||||
|
||||
// gw-Check darf nicht zu zucken (fall 5, nicht fall 2) — ein kurzer Upstream-
|
||||
// Blip soll keinen Failover erzwingen.
|
||||
func TestTemplateGatewayCheckNotTwitchy(t *testing.T) {
|
||||
|
||||
Reference in New Issue
Block a user