k8snetworkplumbingwg / multus-cni

A CNI meta-plugin for multi-homed pods in Kubernetes
Apache License 2.0
2.29k stars 575 forks source link

thin_entrypoint with `--cleanup-config-on-exit=true` is constantly creating and deleting config and kubeconfig #1220

Closed pmtk closed 5 months ago

pmtk commented 5 months ago

What happend: thin_entrypoint is constantly creating config and kubeconfig. Below is 3s watch of the operations:

$ timeout 3s inotifywait -e modify,create,delete -r /etc/cni/net.d --monitor
Setting up watches.  Beware: since -r was given, this may take a while!
Watches established.
/etc/cni/net.d/multus.d/ CREATE multus.kubeconfig.new
/etc/cni/net.d/multus.d/ MODIFY multus.kubeconfig.new
/etc/cni/net.d/multus.d/ MODIFY multus.kubeconfig.new
/etc/cni/net.d/multus.d/ MODIFY multus.kubeconfig.new
/etc/cni/net.d/multus.d/ MODIFY multus.kubeconfig.new
/etc/cni/net.d/multus.d/ DELETE multus.kubeconfig.new
/etc/cni/net.d/ CREATE 00-multus.conf.new
/etc/cni/net.d/ MODIFY 00-multus.conf.new
/etc/cni/net.d/ MODIFY 00-multus.conf.new
/etc/cni/net.d/ MODIFY 00-multus.conf.new
/etc/cni/net.d/ MODIFY 00-multus.conf.new
/etc/cni/net.d/ MODIFY 00-multus.conf.new
/etc/cni/net.d/multus.d/ CREATE multus.kubeconfig.new
/etc/cni/net.d/multus.d/ MODIFY multus.kubeconfig.new
/etc/cni/net.d/multus.d/ MODIFY multus.kubeconfig.new
/etc/cni/net.d/multus.d/ MODIFY multus.kubeconfig.new
/etc/cni/net.d/multus.d/ DELETE multus.kubeconfig.new
/etc/cni/net.d/ CREATE 00-multus.conf.new
/etc/cni/net.d/ MODIFY 00-multus.conf.new
/etc/cni/net.d/ MODIFY 00-multus.conf.new
/etc/cni/net.d/ MODIFY 00-multus.conf.new
/etc/cni/net.d/ MODIFY 00-multus.conf.new
/etc/cni/net.d/ MODIFY 00-multus.conf.new
/etc/cni/net.d/ MODIFY 00-multus.conf.new
/etc/cni/net.d/ MODIFY 00-multus.conf.new
/etc/cni/net.d/ MODIFY 00-multus.conf.new
/etc/cni/net.d/multus.d/ CREATE multus.kubeconfig.new
/etc/cni/net.d/multus.d/ MODIFY multus.kubeconfig.new
/etc/cni/net.d/multus.d/ MODIFY multus.kubeconfig.new
/etc/cni/net.d/multus.d/ MODIFY multus.kubeconfig.new
/etc/cni/net.d/multus.d/ MODIFY multus.kubeconfig.new
/etc/cni/net.d/multus.d/ DELETE multus.kubeconfig.new
/etc/cni/net.d/ CREATE 00-multus.conf.new
/etc/cni/net.d/ MODIFY 00-multus.conf.new
/etc/cni/net.d/ MODIFY 00-multus.conf.new
/etc/cni/net.d/ MODIFY 00-multus.conf.new
/etc/cni/net.d/ MODIFY 00-multus.conf.new
/etc/cni/net.d/ MODIFY 00-multus.conf.new
/etc/cni/net.d/ MODIFY 00-multus.conf.new
/etc/cni/net.d/ MODIFY 00-multus.conf.new

What you expected to happen: thin_entrypoint compares existing 00-multus.conf and multus.kubeconfig in memory or uses different method to decide if files should be updated

How to reproduce it (as minimally and precisely as possible): Deploy thin multus with --cleanup-config-on-exit=true option

Anything else we need to know?:

Environment:

s1061123 commented 5 months ago

Thank you for the fix, in #1234 (this comment makes association between PR/issue)

s1061123 commented 5 months ago

Fixed at #1234