From 159f2610c0775a3d22fb1109786dab5ef33bb9f7 Mon Sep 17 00:00:00 2001 From: Tomofumi Hayashi Date: Wed, 16 Aug 2023 21:00:26 +0900 Subject: [PATCH] fix multus config file generation to avoid self-delegation Check masterConfigPath file and skip if it is multus generated files. Fix #1130 --- cmd/thin_entrypoint/main.go | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/cmd/thin_entrypoint/main.go b/cmd/thin_entrypoint/main.go index 7a60be392..555a1c4fe 100644 --- a/cmd/thin_entrypoint/main.go +++ b/cmd/thin_entrypoint/main.go @@ -305,7 +305,17 @@ func (o *Options) createMultusConfig() (string, error) { return "", fmt.Errorf("cannot find master CNI config in %q: %v", o.MultusAutoconfigDir, err) } - masterConfigPath := files[0] + masterConfigPath := "" + for _, filename := range files { + if !strings.HasPrefix(filepath.Base(filename), "00-multus.conf") { + masterConfigPath = filename + break + } + } + if masterConfigPath == "" { + return "", fmt.Errorf("cannot find valid master CNI config in %q", o.MultusAutoconfigDir) + } + masterConfigBytes, err := os.ReadFile(masterConfigPath) if err != nil { return "", fmt.Errorf("cannot read master CNI config file %q: %v", masterConfigPath, err)