-
Bug
-
Resolution: Unresolved
-
Undefined
-
None
-
4.20
-
None
-
Quality / Stability / Reliability
-
False
-
-
None
-
Important
-
None
-
None
-
None
-
Rejected
-
CNF Network Sprint 277
-
1
-
None
-
None
-
None
-
None
-
None
-
None
-
None
Description of problem:
AllocationFailed event is generated when an IP address is requested from an ip address pool using annotation in service that does not have any IP address available for assignment. Exact message string " Failed to allocate IP for "e2e-test-networking-metallb-7fqhp/hello-world-43156-1": ["<nil>"] is not allowed in config for service" for AllocationFailed In past the error message used to indicate no IP available in the pool. This has changed, as caught by automation. The change is fine as no IP available in the pool message is still provided for AllocationFailed event in different scenario. The issue is the message string needs more clarity.
Version-Release number of selected component (if applicable):
4.20
How reproducible:
Always
Steps to Reproduce:
1. After installing metallb operator, create metallb CR and l2advertisement CR. 2. Create IP address pool with just one IP address. apiVersion: metallb.io/v1beta1 kind: IPAddressPool metadata: name: ip-addresspool-l2 labels: zone: east namespace: metallb-system spec: addresses: - 192.168.111.65-192.168.111.65 autoAssign: true avoidBuggyIPs: true 3. Create LB service to see it assigned the IP address from the pool. 4. Create another service but with annotation requesting IP address from pool that does not have any address available to see the issue - apiVersion: v1 kind: Service metadata: name: hello-idle-1 annotations: metallb.io/address-pool: ip-addresspool-l2 spec: ports: - port: 8000 targetPort: 8080 protocol: TCP selector: name: hello-idle-1 type: LoadBalancer allocateLoadBalancerNodePorts: false
Actual results:
AllocationFailed event with message "<nil>"] is not allowed in config for service"
Expected results:
Better error message on why the IP address allocation failed.
Additional info:
oc -n metallb-system get csv NAME DISPLAY VERSION REPLACES PHASE metallb-operator.v4.20.0-202508121146 MetalLB Operator 4.20.0-202508121146 Succeeded oc version Client Version: 4.15.9 Kustomize Version: v5.0.4-0.20230601165947-6ce0bf390ce3 Server Version: 4.20.0-0.nightly-2025-09-01-101753 Kubernetes Version: v1.33.3