From ee3fbf9c5ad5f9e2be28ffaa41ca0d3b3081ee1b Mon Sep 17 00:00:00 2001 From: Lion-Wei Date: Thu, 19 Oct 2017 14:34:37 +0800 Subject: [PATCH] add ProxyModeIPVS in proxy mode validation --- cmd/kube-proxy/app/validation.go | 3 ++- cmd/kube-proxy/app/validation_test.go | 1 + pkg/apis/componentconfig/types.go | 1 + 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/cmd/kube-proxy/app/validation.go b/cmd/kube-proxy/app/validation.go index f899bd35c71..89c8cea03c0 100644 --- a/cmd/kube-proxy/app/validation.go +++ b/cmd/kube-proxy/app/validation.go @@ -120,9 +120,10 @@ func validateProxyMode(mode componentconfig.ProxyMode, fldPath *field.Path) fiel switch mode { case componentconfig.ProxyModeUserspace: case componentconfig.ProxyModeIPTables: + case componentconfig.ProxyModeIPVS: case "": default: - modes := []string{string(componentconfig.ProxyModeUserspace), string(componentconfig.ProxyModeIPTables)} + modes := []string{string(componentconfig.ProxyModeUserspace), string(componentconfig.ProxyModeIPTables), string(componentconfig.ProxyModeIPVS)} errMsg := fmt.Sprintf("must be %s or blank (blank means the best-available proxy (currently iptables)", strings.Join(modes, ",")) allErrs = append(allErrs, field.Invalid(fldPath.Child("ProxyMode"), string(mode), errMsg)) } diff --git a/cmd/kube-proxy/app/validation_test.go b/cmd/kube-proxy/app/validation_test.go index cd30adcdfa8..c860d1f5409 100644 --- a/cmd/kube-proxy/app/validation_test.go +++ b/cmd/kube-proxy/app/validation_test.go @@ -374,6 +374,7 @@ func TestValidateProxyMode(t *testing.T) { successCases := []componentconfig.ProxyMode{ componentconfig.ProxyModeUserspace, componentconfig.ProxyModeIPTables, + componentconfig.ProxyModeIPVS, componentconfig.ProxyMode(""), } diff --git a/pkg/apis/componentconfig/types.go b/pkg/apis/componentconfig/types.go index 6aa64e436dc..00d6cb02317 100644 --- a/pkg/apis/componentconfig/types.go +++ b/pkg/apis/componentconfig/types.go @@ -158,6 +158,7 @@ type ProxyMode string const ( ProxyModeUserspace ProxyMode = "userspace" ProxyModeIPTables ProxyMode = "iptables" + ProxyModeIPVS ProxyMode = "ipvs" ) // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object