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

Frrk8s: BGPAdvertisement Configuration Conflict: Multiple LocalPrefs for Prefix

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Normal Normal
    • None
    • 4.17
    • Networking / Metal LB
    • None
    • Yes
    • CNF Network Sprint 260, CNF Network Sprint 261, CNF Network Sprint 262, CNF Network Sprint 263, CNF Network Sprint 264
    • 5
    • False
    • Hide

      None

      Show
      None

      Description of problem:
      The test creates two BGPAdvertisements with localPref: 100: one with a NodeSelector and one without. The configuration is not being applied to the worker selected by the NodeSelector

      Version-Release number of selected component (if applicable):
      4.17.0-rc.6

      How reproducible:
      100%

      Steps to Reproduce:
      1.apply 2 BGPadvertisements:

      apiVersion: v1
      items:
      - apiVersion: metallb.io/v1beta1
        kind: BGPAdvertisement
        metadata:
          creationTimestamp: "2024-09-27T02:17:22Z"
          generation: 1
          name: bgpadvertisement
          namespace: metallb-system
          resourceVersion: "791891"
          uid: 849c061b-4fe5-4fb8-a3cd-2d264a9e6825
        spec:
          aggregationLength: 32
          aggregationLengthV6: 128
          communities:
          - 500:500
          ipAddressPools:
          - address-pools1
          localPref: 100
          nodeSelectors:
          - matchLabels:
              kubernetes.io/hostname: worker-0
          peers:
          - bgp-peer1v4
      - apiVersion: metallb.io/v1beta1
        kind: BGPAdvertisement
        metadata:
          creationTimestamp: "2024-09-27T02:17:22Z"
          generation: 1
          name: bgpadvertisement2
          namespace: metallb-system
          resourceVersion: "791883"
          uid: 1a3f6754-8763-468b-af30-96bf0508606c
        spec:
          aggregationLength: 32
          aggregationLengthV6: 128
          communities:
          - 65535:65282
          ipAddressPools:
          - address-pools1
          localPref: 100
      kind: List
      metadata:
        resourceVersion: "" 

      2.
      3.
      Actual results:

      {"caller":"frrk8s_config_controller.go:78","controller":"FRRK8sReconciler","level":"info","start reconcile":"metallbreload/reload","ts":"2024-09-27T02:22:52Z"}
      {"caller":"frrk8s_config_controller.go:111","controller":"FRRConfiguration","event":"failed to create frr8s configuration","level":"info","ts":"2024-09-27T02:22:52Z"}
      {"caller":"frrk8s_config_controller.go:112","controller":"FRRK8sReconciler","end reconcile":"metallbreload/reload","level":"info","ts":"2024-09-27T02:22:52Z"}
      {"level":"error","ts":"2024-09-27T02:22:52Z","msg":"Reconciler error","controller":"frrconfiguration","controllerGroup":"frrk8s.metallb.io","controllerKind":"FRRConfiguration","FRRConfiguration":{"name":"reload","namespace":"metallbreload"},"namespace":"metallbreload","name":"reload","reconcileID":"f13faf57-862c-45cb-892c-4e8f71f998f1","error":"admission webhook \"frrconfigurationsvalidationwebhook.metallb.io\" denied the request: failed to process neighbor 64500@10.46.77.131 for router 64500-: multiple local prefs specified for prefix 4.4.4.100/32\nresource is invalid for node worker-0","stacktrace":"sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler\n\t/metallb/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:324\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\t/metallb/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:261\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2\n\t/metallb/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:222"} 
      $ oc get frrconfigurations.frrk8s.metallb.io -n metallb-system metallb-worker-0 -oyaml
      apiVersion: frrk8s.metallb.io/v1beta1
      kind: FRRConfiguration
      metadata:
        creationTimestamp: "2024-09-26T02:22:51Z"
        generation: 41
        name: metallb-worker-0
        namespace: metallb-system
        resourceVersion: "790866"
        uid: a9280537-8a25-4f9c-bb11-d0200fa08c22
      spec:
        bgp:
          routers: []
        nodeSelector:
          matchLabels:
            kubernetes.io/hostname: worker-0
        raw: {} 

       

       

      Expected results:

      Additional info:

              kkarampo@redhat.com Konstantinos Karampogias
              rhn-cnf-elevin Evgeny Levin
              Evgeny Levin Evgeny Levin
              Votes:
              0 Vote for this issue
              Watchers:
              8 Start watching this issue

                Created:
                Updated: