You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
fix(metallb): update MetalLB to include ServiceL2Status immutability fix #2120
MetalLB v0.15.2 (currently used in cozystack) has a bug where ServiceL2Status objects cannot be reassigned to a different node after failover. The status.node field is immutable, so when the L2 leader changes (e.g. after node reboot), the speaker fails to update the existing ServiceL2Status and enters an error loop:
ServiceL2Status.metallb.io "l2-xxx" is invalid: status.node: Invalid value: "string": Value is immutable
This causes LoadBalancer VIPs to become unreachable externally until speaker pods are manually restarted.
The fix has not been included in any MetalLB release yet (latest is v0.15.3, released before the fix was merged).
Impact
After any node failover or reboot, LoadBalancer services may lose external connectivity because ServiceL2Status cannot be recreated for the new leader node.
Hi, Andrei Kvapil (@kvaps). I'm Dosu, and I'm helping the cozystack team manage their backlog and am marking this issue as stale.
Recap
You reported that MetalLB v0.15.2 treats ServiceL2Status.status.node as immutable, which prevents the speaker from updating the leader node after failover.
The speaker then keeps retrying with errors, which can leave LoadBalancer VIPs unreachable until the speakers are restarted.
The requested resolution was to update MetalLB to a release that includes the upstream immutability fix.
No follow-up discussion or workaround was added, and the issue remains unresolved.
Next Steps
Please confirm whether this is still relevant on the latest version of the cozystack repository.
If it is still relevant, you can keep the discussion open by commenting here; otherwise, this issue will be automatically closed in 7 days.
Activity
dosubot commentedon Jul 27, 2026
Hi, Andrei Kvapil (@kvaps). I'm Dosu, and I'm helping the cozystack team manage their backlog and am marking this issue as stale.
Recap
ServiceL2Status.status.nodeas immutable, which prevents the speaker from updating the leader node after failover.Next Steps
Thanks for your understanding and contribution.