diff --git a/federation/pkg/kubefed/init/init.go b/federation/pkg/kubefed/init/init.go index d97de8689a4..d50cd207b22 100644 --- a/federation/pkg/kubefed/init/init.go +++ b/federation/pkg/kubefed/init/init.go @@ -912,7 +912,7 @@ func marshallOverrides(overrideArgString string) (map[string]string, error) { argsMap := make(map[string]string) overrideArgs := strings.Split(overrideArgString, ",") for _, overrideArg := range overrideArgs { - splitArg := strings.Split(overrideArg, "=") + splitArg := strings.SplitN(overrideArg, "=", 2) if len(splitArg) != 2 { return nil, fmt.Errorf("wrong format for override arg: %s", overrideArg) } diff --git a/federation/pkg/kubefed/init/init_test.go b/federation/pkg/kubefed/init/init_test.go index 17f0959ad8f..ba1a96506d1 100644 --- a/federation/pkg/kubefed/init/init_test.go +++ b/federation/pkg/kubefed/init/init_test.go @@ -322,8 +322,10 @@ func TestMarshallAndMergeOverrides(t *testing.T) { expectedErr: "wrong format for override arg: wrong-format-arg", }, { - overrideParams: "wrong-format-arg=override=wrong-format-arg=override", - expectedErr: "wrong format for override arg: wrong-format-arg=override=wrong-format-arg=override", + // TODO: Multiple arg values separated by , are not supported yet + overrideParams: "multiple-equalto-char=first-key=1", + expectedSet: sets.NewString("arg2=val2", "arg1=val1", "multiple-equalto-char=first-key=1"), + expectedErr: "", }, { overrideParams: "=wrong-format-only-value",