-
Bug
-
Resolution: Obsolete
-
Undefined
-
None
-
4.10
-
None
-
None
-
CNF Network Sprint 226
-
1
-
Rejected
-
False
-
Description of problem:
Two services can be created with the same lb ip but incompatible
Version-Release number of selected component (if applicable):
How reproducible:
Always
Steps to Reproduce:
1. Follow the steps in https://bugzilla.redhat.com/show_bug.cgi?id=2055386, but take care of using a L2 service with ETP = local and pods running on different nodes 2. Try to access both services 3.
Actual results:
Only one will reply
Expected results:
Both should reply
Additional info:
The meaning of the annotation is that MetalLB may colocate the two services sharing the same IP, but it's a best effort indication. If the two services are incompatible (i.e. they have different external traffic policies), they won't get the same IP and they should not. If a user wants to force two services to have the very same IP, it should force it with loadbalancerip plus the annotation (and if they are incompatible, one will remain pending). Otherwise the annotation tries to accomodate the ips but keeping in mind the services must work, so if two services sharing the same IP become incompatible, then one changes the IP. In https://bugzilla.redhat.com/show_bug.cgi?id=2055386 example, one service gets ETP=local, and that change would affect L2 because the node exposing the service is single. MetalLB does not currently do any consideration on the announcement, considering the worst case and acting accordingly.
- links to