Uploaded image for project: 'OpenShift Bugs'
  1. OpenShift Bugs
  2. OCPBUGS-61210

AllocationFailed event does not have a clear message

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Undefined Undefined
    • None
    • 4.20
    • Networking / Metal LB
    • None
    • Quality / Stability / Reliability
    • False
    • Hide

      None

      Show
      None
    • 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
      

              fpaoline@redhat.com Federico Paolinelli
              rhn-support-asood Arti Sood
              None
              None
              Arti Sood Arti Sood
              None
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated: