Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Helm Chart Exclude L2 Config may result in unexpected behaviour #2057

Closed
8 tasks done
bephinix opened this issue Aug 25, 2023 · 3 comments · Fixed by #2058
Closed
8 tasks done

Helm Chart Exclude L2 Config may result in unexpected behaviour #2057

bephinix opened this issue Aug 25, 2023 · 3 comments · Fixed by #2058
Assignees
Labels

Comments

@bephinix
Copy link

MetalLB Version

0.13.10

Deployment method

Charts

Main CNI

calico

Kubernetes Version

1.24.11

Cluster Distribution

k0s

Describe the bug

Enabling the exclusion config for L2 interfaces in the chart may exclude interfaces which should not be excluded. Therefore no ARP responder is started for these interfaces.

To Reproduce

  1. Create Kubernetes Node which has its primary network interface (for metallb) named workload.
  2. Install HELM Chart with exclusion config enabled.

Expected Behavior

The interface workload should not be excluded.

Additional Context

This effect is caused by the configuration itself:

excludel2.yaml: |
announcedInterfacesToExclude:
- docker.*
- cbr.*
- dummy.*
- virbr.*
- lxcbr.*
- veth.*
- lo
- ^cali.*
- ^tunl.*
- flannel.*
- kube-ipvs.*
- cni.*
- ^nodelocaldns.*

All entries seems to be interpreted as regular expressions. A few entries use the correct notation ^... and most of the entries use wildcards like .*.
Unfortunately, this is not the case for all entries. The entry lo does not only match the interface name lo (expression should be ^lo$) but also workLOad.

The configmap should be updated with correct regular expression. Entries like docker.* or veth.* should also be changed to ^docker.* and ^veth.* and so on.
Otherwise the matching will not be intuitive.

I've read and agree with the following

  • I've checked all open and closed issues and my request is not there.
  • I've checked all open and closed pull requests and my request is not there.

I've read and agree with the following

  • I've checked all open and closed issues and my issue is not there.
  • This bug is reproducible when deploying MetalLB from the main branch
  • I have read the troubleshooting guide and I am still not able to make it work
  • I checked the logs and MetalLB is not discarding the configuration as not valid
  • I enabled the debug logs, collected the information required from the cluster using the collect script and will attach them to the issue
  • I will provide the definition of my service and the related endpoint slices and attach them to this issue
@bephinix bephinix added the bug label Aug 25, 2023
@bephinix
Copy link
Author

(Logs and Service Definitions not required due to HELM Chart configuration bug.)

@fedepaol
Copy link
Member

@cyclinder do you have bandwith to address / fix this (feel free to say no :P )

@cyclinder
Copy link
Contributor

Thanks for the report!

@cyclinder do you have bandwith to address / fix this (feel free to say no :P )

Yeah! I'll fix this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants