Skip to content

[BUG] Metallb conflict with built-in load balancing service #3136

@jdhirst

Description

@jdhirst

What happened?

After deploying metallb in microshift, it constantly conflicts with the built-in microshift load balancer service. This produces an extreme amount of error logs, even though it does appear that metallb does "win" the fight.

What did you expect to happen?

Microshift should not watch services that have the loadBalancerClass set to "metallb", presumably there should be some class that microshift does listen for, along with blank services.

How to reproduce it (as minimally and precisely as possible)?

  1. Deploy Microshift 4.13
  2. Deploy metallb via helm: https://metallb.universe.tf/installation/
  3. Install a service that uses a loadBalancer set with loadBalancerClass as "metallb". An example would be ingress-nginx with the following helm chart values:
          controller:
            name: controller
            service:
              annotations:
                metallb.universe.tf/allow-shared-ip: "share-10.110.1.228"
              loadBalancerIP: 10.110.1.228
              loadBalancerClass: metallb

Anything else we need to know?

Environment

  • MicroShift version 4.13.21
  • Hardware configuration: aarch64 node in oracle cloud
  • OS (e.g: cat /etc/os-release):
NAME="Red Hat Enterprise Linux"
VERSION="9.3 (Plow)"
ID="rhel"
ID_LIKE="fedora"
VERSION_ID="9.3"
PLATFORM_ID="platform:el9"
PRETTY_NAME="Red Hat Enterprise Linux 9.3 (Plow)"
ANSI_COLOR="0;31"
LOGO="fedora-logo-icon"
CPE_NAME="cpe:/o:redhat:enterprise_linux:9::baseos"
HOME_URL="https://www.redhat.com/"
DOCUMENTATION_URL="https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9"
BUG_REPORT_URL="https://bugzilla.redhat.com/"

REDHAT_BUGZILLA_PRODUCT="Red Hat Enterprise Linux 9"
REDHAT_BUGZILLA_PRODUCT_VERSION=9.3
REDHAT_SUPPORT_PRODUCT="Red Hat Enterprise Linux"
REDHAT_SUPPORT_PRODUCT_VERSION="9.3"
  • Kernel (e.g. uname -a): Linux ocp-micro 5.14.0-362.8.1.el9_3.aarch64 #1 SMP PREEMPT_DYNAMIC Tue Oct 3 11:57:53 EDT 2023 aarch64 aarch64 aarch64 GNU/Linux
  • Others:

Relevant logs

Microshift Logs:

Mar 11 09:07:11 ocp-micro microshift[2470]: microshift-loadbalancer-service-controller I0311 09:07:11.285555    2470 controller.go:154] Process service ingress-nginx/ingress-nginx-controller

Metallb logs:

{"caller":"service_controller.go:60","controller":"ServiceReconciler","level":"info","start reconcile":"ingress-nginx/ingress-nginx-controller","ts":"2024-03-11T12:14:16Z"}
{"caller":"service.go:98","error":"[\"10.110.1.5\"] is not allowed in config","event":"clearAssignment","level":"info","msg":"current IP not allowed by config, clearing","ts":"2024-03-11T12:14:16Z"}
{"caller":"service.go:122","event":"clearAssignment","level":"info","msg":"user requested a different IP than the one currently assigned","reason":"differentIPRequested","ts":"2024-03-11T12:14:16Z"}
{"caller":"service.go:139","event":"ipAllocated","ip":["10.110.1.228"],"level":"info","msg":"IP address assigned by controller","ts":"2024-03-11T12:14:16Z"}
{"caller":"main.go:101","event":"serviceUpdated","level":"info","msg":"updated service object","ts":"2024-03-11T12:14:16Z"}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions