Polycrate API 0.15.7¶
Release-Datum: 24. April 2026
Typ: Fix
Highlights¶
- LoadbalancerInstance Multi-Region-Fix – Ein zirkulärer Fehler in der Deployment-Checksum-Berechnung verursachte bei LoadbalancerInstances mit mehreren Regionen alle 5 Minuten ein neues Redeployment. Ursache war, dass der
deployment-checksumLabel selbst Bestandteil der Checksum-Berechnung war, was in Multi-Region-Setups zu einer Endlosschleife führte. Der Fix stellt sicher, dass der Checksum-Label bei der Berechnung immer explizit ausgeschlossen wird (Spec 202).
Details zu einzelnen Specs: polycrate spec inspect <id> im Workspace polycrate-api.
Artefakte¶
Docker Image¶
Block¶
Fixes¶
LoadbalancerInstance: Endlosschleife bei Multi-Region-Deployment (Spec 202)¶
In Umgebungen mit mehreren Regionen pro LoadbalancerInstance triggerte der Reconciler alle 5 Minuten ein neues Deployment, obwohl keine Konfigurationsänderung vorlag. In Single-Region-Umgebungen stabilisierte sich das System nach einem initialen Deployment.
Ursache:
Der deployment_checksum wurde in 0.15.6 (Spec 201) um die expected_labels erweitert. Diese Labels werden über _expected_deployment_labels_for_checksum() → _build_deployment_labels(deployment_checksum=None) berechnet. _build_deployment_labels() initialisiert die Labels aus self.merged_labels — einer Kopie der persistierten LBI-Labels, die den bereits gespeicherten LOADBALANCERINSTANCE_DEPLOYMENT_CHECKSUM-Label enthält. Wenn deployment_checksum=None übergeben wird, wurde dieser Key bisher nicht explizit entfernt. Dadurch floss der alte Checksum-Label in die Berechnung des neuen Checksums ein, wodurch der neue Checksum immer vom gespeicherten abwich — eine Endlosschleife.
In Multi-Region-Setups verstärkte sich der Effekt: Jede Region aktualisierte den LBI-Label mit ihrem eigenen Checksum, was die Berechnung der anderen Region sofort invalidierte.
Fix:
LoadbalancerInstance._build_deployment_labels() entfernt jetzt explizit den LOADBALANCERINSTANCE_DEPLOYMENT_CHECKSUM-Key aus dem Labels-Dictionary, wenn deployment_checksum=None übergeben wird. Damit ist die Checksum-Berechnung deterministisch und unabhängig vom aktuell gespeicherten Wert.
Kompatibilität und Deployment¶
- Kein Breaking Change, keine Datenbankmigrationen.
- Nach dem Update auf 0.15.7 stabilisiert sich die Reconciliation — laufende Redeployment-Loops werden beendet.