Rename kubeproxy config pkg and group.

This commit is contained in:
xiangpengzhao 2017-10-26 10:38:46 +08:00
parent 91ab8fe1e7
commit ff36eefd17
23 changed files with 121 additions and 121 deletions

View File

@ -53,10 +53,10 @@ import (
"k8s.io/kubernetes/pkg/kubelet/qos" "k8s.io/kubernetes/pkg/kubelet/qos"
"k8s.io/kubernetes/pkg/master/ports" "k8s.io/kubernetes/pkg/master/ports"
"k8s.io/kubernetes/pkg/proxy" "k8s.io/kubernetes/pkg/proxy"
"k8s.io/kubernetes/pkg/proxy/apis/proxyconfig" "k8s.io/kubernetes/pkg/proxy/apis/kubeproxyconfig"
"k8s.io/kubernetes/pkg/proxy/apis/proxyconfig/scheme" "k8s.io/kubernetes/pkg/proxy/apis/kubeproxyconfig/scheme"
"k8s.io/kubernetes/pkg/proxy/apis/proxyconfig/v1alpha1" "k8s.io/kubernetes/pkg/proxy/apis/kubeproxyconfig/v1alpha1"
"k8s.io/kubernetes/pkg/proxy/apis/proxyconfig/validation" "k8s.io/kubernetes/pkg/proxy/apis/kubeproxyconfig/validation"
"k8s.io/kubernetes/pkg/proxy/config" "k8s.io/kubernetes/pkg/proxy/config"
"k8s.io/kubernetes/pkg/proxy/healthcheck" "k8s.io/kubernetes/pkg/proxy/healthcheck"
"k8s.io/kubernetes/pkg/proxy/iptables" "k8s.io/kubernetes/pkg/proxy/iptables"
@ -96,10 +96,10 @@ type Options struct {
CleanupAndExit bool CleanupAndExit bool
// config is the proxy server's configuration object. // config is the proxy server's configuration object.
config *proxyconfig.KubeProxyConfiguration config *kubeproxyconfig.KubeProxyConfiguration
// The fields below here are placeholders for flags that can't be directly mapped into // The fields below here are placeholders for flags that can't be directly mapped into
// proxyconfig.KubeProxyConfiguration. // kubeproxyconfig.KubeProxyConfiguration.
// //
// TODO remove these fields once the deprecated flags are removed. // TODO remove these fields once the deprecated flags are removed.
@ -165,7 +165,7 @@ func AddFlags(options *Options, fs *pflag.FlagSet) {
func NewOptions() *Options { func NewOptions() *Options {
return &Options{ return &Options{
config: new(proxyconfig.KubeProxyConfiguration), config: new(kubeproxyconfig.KubeProxyConfiguration),
healthzPort: ports.ProxyHealthzPort, healthzPort: ports.ProxyHealthzPort,
scheme: scheme.Scheme, scheme: scheme.Scheme,
codecs: scheme.Codecs, codecs: scheme.Codecs,
@ -272,7 +272,7 @@ func (o *Options) applyDeprecatedHealthzPortToConfig() {
// loadConfigFromFile loads the contents of file and decodes it as a // loadConfigFromFile loads the contents of file and decodes it as a
// KubeProxyConfiguration object. // KubeProxyConfiguration object.
func (o *Options) loadConfigFromFile(file string) (*proxyconfig.KubeProxyConfiguration, error) { func (o *Options) loadConfigFromFile(file string) (*kubeproxyconfig.KubeProxyConfiguration, error) {
data, err := ioutil.ReadFile(file) data, err := ioutil.ReadFile(file)
if err != nil { if err != nil {
return nil, err return nil, err
@ -282,19 +282,19 @@ func (o *Options) loadConfigFromFile(file string) (*proxyconfig.KubeProxyConfigu
} }
// loadConfig decodes data as a KubeProxyConfiguration object. // loadConfig decodes data as a KubeProxyConfiguration object.
func (o *Options) loadConfig(data []byte) (*proxyconfig.KubeProxyConfiguration, error) { func (o *Options) loadConfig(data []byte) (*kubeproxyconfig.KubeProxyConfiguration, error) {
configObj, gvk, err := o.codecs.UniversalDecoder().Decode(data, nil, nil) configObj, gvk, err := o.codecs.UniversalDecoder().Decode(data, nil, nil)
if err != nil { if err != nil {
return nil, err return nil, err
} }
config, ok := configObj.(*proxyconfig.KubeProxyConfiguration) config, ok := configObj.(*kubeproxyconfig.KubeProxyConfiguration)
if !ok { if !ok {
return nil, fmt.Errorf("got unexpected config type: %v", gvk) return nil, fmt.Errorf("got unexpected config type: %v", gvk)
} }
return config, nil return config, nil
} }
func (o *Options) ApplyDefaults(in *proxyconfig.KubeProxyConfiguration) (*proxyconfig.KubeProxyConfiguration, error) { func (o *Options) ApplyDefaults(in *kubeproxyconfig.KubeProxyConfiguration) (*kubeproxyconfig.KubeProxyConfiguration, error) {
external, err := o.scheme.ConvertToVersion(in, v1alpha1.SchemeGroupVersion) external, err := o.scheme.ConvertToVersion(in, v1alpha1.SchemeGroupVersion)
if err != nil { if err != nil {
return nil, err return nil, err
@ -302,12 +302,12 @@ func (o *Options) ApplyDefaults(in *proxyconfig.KubeProxyConfiguration) (*proxyc
o.scheme.Default(external) o.scheme.Default(external)
internal, err := o.scheme.ConvertToVersion(external, proxyconfig.SchemeGroupVersion) internal, err := o.scheme.ConvertToVersion(external, kubeproxyconfig.SchemeGroupVersion)
if err != nil { if err != nil {
return nil, err return nil, err
} }
out := internal.(*proxyconfig.KubeProxyConfiguration) out := internal.(*kubeproxyconfig.KubeProxyConfiguration)
return out, nil return out, nil
} }
@ -358,7 +358,7 @@ type ProxyServer struct {
Proxier proxy.ProxyProvider Proxier proxy.ProxyProvider
Broadcaster record.EventBroadcaster Broadcaster record.EventBroadcaster
Recorder record.EventRecorder Recorder record.EventRecorder
ConntrackConfiguration proxyconfig.KubeProxyConntrackConfiguration ConntrackConfiguration kubeproxyconfig.KubeProxyConntrackConfiguration
Conntracker Conntracker // if nil, ignored Conntracker Conntracker // if nil, ignored
ProxyMode string ProxyMode string
NodeRef *v1.ObjectReference NodeRef *v1.ObjectReference
@ -375,7 +375,7 @@ type ProxyServer struct {
// createClients creates a kube client and an event client from the given config and masterOverride. // createClients creates a kube client and an event client from the given config and masterOverride.
// TODO remove masterOverride when CLI flags are removed. // TODO remove masterOverride when CLI flags are removed.
func createClients(config proxyconfig.ClientConnectionConfiguration, masterOverride string) (clientset.Interface, v1core.EventsGetter, error) { func createClients(config kubeproxyconfig.ClientConnectionConfiguration, masterOverride string) (clientset.Interface, v1core.EventsGetter, error) {
var kubeConfig *rest.Config var kubeConfig *rest.Config
var err error var err error
@ -547,7 +547,7 @@ func (s *ProxyServer) birthCry() {
s.Recorder.Eventf(s.NodeRef, api.EventTypeNormal, "Starting", "Starting kube-proxy.") s.Recorder.Eventf(s.NodeRef, api.EventTypeNormal, "Starting", "Starting kube-proxy.")
} }
func getConntrackMax(config proxyconfig.KubeProxyConntrackConfiguration) (int, error) { func getConntrackMax(config kubeproxyconfig.KubeProxyConntrackConfiguration) (int, error) {
if config.Max > 0 { if config.Max > 0 {
if config.MaxPerCore > 0 { if config.MaxPerCore > 0 {
return -1, fmt.Errorf("invalid config: Conntrack Max and Conntrack MaxPerCore are mutually exclusive") return -1, fmt.Errorf("invalid config: Conntrack Max and Conntrack MaxPerCore are mutually exclusive")

View File

@ -34,7 +34,7 @@ import (
"k8s.io/client-go/tools/record" "k8s.io/client-go/tools/record"
"k8s.io/kubernetes/pkg/features" "k8s.io/kubernetes/pkg/features"
"k8s.io/kubernetes/pkg/proxy" "k8s.io/kubernetes/pkg/proxy"
proxyconfigapi "k8s.io/kubernetes/pkg/proxy/apis/proxyconfig" proxyconfigapi "k8s.io/kubernetes/pkg/proxy/apis/kubeproxyconfig"
proxyconfig "k8s.io/kubernetes/pkg/proxy/config" proxyconfig "k8s.io/kubernetes/pkg/proxy/config"
"k8s.io/kubernetes/pkg/proxy/healthcheck" "k8s.io/kubernetes/pkg/proxy/healthcheck"
"k8s.io/kubernetes/pkg/proxy/iptables" "k8s.io/kubernetes/pkg/proxy/iptables"

View File

@ -29,7 +29,7 @@ import (
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/util/diff" "k8s.io/apimachinery/pkg/util/diff"
"k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/proxy/apis/proxyconfig" "k8s.io/kubernetes/pkg/proxy/apis/kubeproxyconfig"
"k8s.io/kubernetes/pkg/util/configz" "k8s.io/kubernetes/pkg/util/configz"
"k8s.io/kubernetes/pkg/util/iptables" "k8s.io/kubernetes/pkg/util/iptables"
utilpointer "k8s.io/kubernetes/pkg/util/pointer" utilpointer "k8s.io/kubernetes/pkg/util/pointer"
@ -145,7 +145,7 @@ func TestProxyServerWithCleanupAndExit(t *testing.T) {
for _, addr := range bindAddresses { for _, addr := range bindAddresses {
options := NewOptions() options := NewOptions()
options.config = &proxyconfig.KubeProxyConfiguration{ options.config = &kubeproxyconfig.KubeProxyConfiguration{
BindAddress: addr, BindAddress: addr,
} }
options.CleanupAndExit = true options.CleanupAndExit = true
@ -158,7 +158,7 @@ func TestProxyServerWithCleanupAndExit(t *testing.T) {
assert.True(t, proxyserver.CleanupAndExit, "false CleanupAndExit, addr: %s", addr) assert.True(t, proxyserver.CleanupAndExit, "false CleanupAndExit, addr: %s", addr)
// Clean up config for next test case // Clean up config for next test case
configz.Delete(proxyconfig.GroupName) configz.Delete(kubeproxyconfig.GroupName)
} }
} }
@ -202,7 +202,7 @@ func TestGetConntrackMax(t *testing.T) {
} }
for i, tc := range testCases { for i, tc := range testCases {
cfg := proxyconfig.KubeProxyConntrackConfiguration{ cfg := kubeproxyconfig.KubeProxyConntrackConfiguration{
Min: tc.min, Min: tc.min,
Max: tc.max, Max: tc.max,
MaxPerCore: tc.maxPerCore, MaxPerCore: tc.maxPerCore,
@ -223,7 +223,7 @@ func TestGetConntrackMax(t *testing.T) {
// TestLoadConfig tests proper operation of loadConfig() // TestLoadConfig tests proper operation of loadConfig()
func TestLoadConfig(t *testing.T) { func TestLoadConfig(t *testing.T) {
yamlTemplate := `apiVersion: kubeproxy.k8s.io/v1alpha1 yamlTemplate := `apiVersion: kubeproxyconfig.k8s.io/v1alpha1
bindAddress: %s bindAddress: %s
clientConnection: clientConnection:
acceptContentTypes: "abc" acceptContentTypes: "abc"
@ -332,9 +332,9 @@ udpTimeoutMilliseconds: 123ms
// Surrounding double quotes will get stripped by the yaml parser. // Surrounding double quotes will get stripped by the yaml parser.
expBindAddr = expBindAddr[1 : len(tc.bindAddress)-1] expBindAddr = expBindAddr[1 : len(tc.bindAddress)-1]
} }
expected := &proxyconfig.KubeProxyConfiguration{ expected := &kubeproxyconfig.KubeProxyConfiguration{
BindAddress: expBindAddr, BindAddress: expBindAddr,
ClientConnection: proxyconfig.ClientConnectionConfiguration{ ClientConnection: kubeproxyconfig.ClientConnectionConfiguration{
AcceptContentTypes: "abc", AcceptContentTypes: "abc",
Burst: 100, Burst: 100,
ContentType: "content-type", ContentType: "content-type",
@ -343,7 +343,7 @@ udpTimeoutMilliseconds: 123ms
}, },
ClusterCIDR: tc.clusterCIDR, ClusterCIDR: tc.clusterCIDR,
ConfigSyncPeriod: metav1.Duration{Duration: 15 * time.Second}, ConfigSyncPeriod: metav1.Duration{Duration: 15 * time.Second},
Conntrack: proxyconfig.KubeProxyConntrackConfiguration{ Conntrack: kubeproxyconfig.KubeProxyConntrackConfiguration{
Max: 4, Max: 4,
MaxPerCore: 2, MaxPerCore: 2,
Min: 1, Min: 1,
@ -353,18 +353,18 @@ udpTimeoutMilliseconds: 123ms
FeatureGates: "all", FeatureGates: "all",
HealthzBindAddress: tc.healthzBindAddress, HealthzBindAddress: tc.healthzBindAddress,
HostnameOverride: "foo", HostnameOverride: "foo",
IPTables: proxyconfig.KubeProxyIPTablesConfiguration{ IPTables: kubeproxyconfig.KubeProxyIPTablesConfiguration{
MasqueradeAll: true, MasqueradeAll: true,
MasqueradeBit: utilpointer.Int32Ptr(17), MasqueradeBit: utilpointer.Int32Ptr(17),
MinSyncPeriod: metav1.Duration{Duration: 10 * time.Second}, MinSyncPeriod: metav1.Duration{Duration: 10 * time.Second},
SyncPeriod: metav1.Duration{Duration: 60 * time.Second}, SyncPeriod: metav1.Duration{Duration: 60 * time.Second},
}, },
IPVS: proxyconfig.KubeProxyIPVSConfiguration{ IPVS: kubeproxyconfig.KubeProxyIPVSConfiguration{
MinSyncPeriod: metav1.Duration{Duration: 10 * time.Second}, MinSyncPeriod: metav1.Duration{Duration: 10 * time.Second},
SyncPeriod: metav1.Duration{Duration: 60 * time.Second}, SyncPeriod: metav1.Duration{Duration: 60 * time.Second},
}, },
MetricsBindAddress: tc.metricsBindAddress, MetricsBindAddress: tc.metricsBindAddress,
Mode: proxyconfig.ProxyMode(tc.mode), Mode: kubeproxyconfig.ProxyMode(tc.mode),
OOMScoreAdj: utilpointer.Int32Ptr(17), OOMScoreAdj: utilpointer.Int32Ptr(17),
PortRange: "2-7", PortRange: "2-7",
ResourceContainer: "/foo", ResourceContainer: "/foo",
@ -407,7 +407,7 @@ func TestLoadConfigFailures(t *testing.T) {
expErr: "mapping values are not allowed in this context", expErr: "mapping values are not allowed in this context",
}, },
} }
version := "apiVersion: kubeproxy.k8s.io/v1alpha1" version := "apiVersion: kubeproxyconfig.k8s.io/v1alpha1"
for _, tc := range testCases { for _, tc := range testCases {
options := NewOptions() options := NewOptions()
config := fmt.Sprintf("%s\n%s", version, tc.config) config := fmt.Sprintf("%s\n%s", version, tc.config)

View File

@ -32,7 +32,7 @@ import (
utilnet "k8s.io/apimachinery/pkg/util/net" utilnet "k8s.io/apimachinery/pkg/util/net"
"k8s.io/client-go/tools/record" "k8s.io/client-go/tools/record"
"k8s.io/kubernetes/pkg/proxy" "k8s.io/kubernetes/pkg/proxy"
proxyconfigapi "k8s.io/kubernetes/pkg/proxy/apis/proxyconfig" proxyconfigapi "k8s.io/kubernetes/pkg/proxy/apis/kubeproxyconfig"
proxyconfig "k8s.io/kubernetes/pkg/proxy/config" proxyconfig "k8s.io/kubernetes/pkg/proxy/config"
"k8s.io/kubernetes/pkg/proxy/healthcheck" "k8s.io/kubernetes/pkg/proxy/healthcheck"
"k8s.io/kubernetes/pkg/proxy/winkernel" "k8s.io/kubernetes/pkg/proxy/winkernel"

View File

@ -16,4 +16,4 @@ limitations under the License.
// +k8s:deepcopy-gen=package,register // +k8s:deepcopy-gen=package,register
package proxyconfig // import "k8s.io/kubernetes/pkg/proxy/apis/proxyconfig" package kubeproxyconfig // import "k8s.io/kubernetes/pkg/proxy/apis/kubeproxyconfig"

View File

@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
limitations under the License. limitations under the License.
*/ */
package proxyconfig package kubeproxyconfig
import ( import (
"k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime"
@ -27,7 +27,7 @@ var (
) )
// GroupName is the group name use in this package // GroupName is the group name use in this package
const GroupName = "kubeproxy.k8s.io" const GroupName = "kubeproxyconfig.k8s.io"
// SchemeGroupVersion is group version used to register these objects // SchemeGroupVersion is group version used to register these objects
var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal} var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal}

View File

@ -21,8 +21,8 @@ import (
"k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/apimachinery/pkg/runtime/schema"
"k8s.io/apimachinery/pkg/runtime/serializer" "k8s.io/apimachinery/pkg/runtime/serializer"
"k8s.io/kubernetes/pkg/proxy/apis/proxyconfig" "k8s.io/kubernetes/pkg/proxy/apis/kubeproxyconfig"
"k8s.io/kubernetes/pkg/proxy/apis/proxyconfig/v1alpha1" "k8s.io/kubernetes/pkg/proxy/apis/kubeproxyconfig/v1alpha1"
) )
var ( var (
@ -41,5 +41,5 @@ func init() {
// AddToScheme adds the types of this group into the given scheme. // AddToScheme adds the types of this group into the given scheme.
func AddToScheme(scheme *runtime.Scheme) { func AddToScheme(scheme *runtime.Scheme) {
v1alpha1.AddToScheme(scheme) v1alpha1.AddToScheme(scheme)
proxyconfig.AddToScheme(scheme) kubeproxyconfig.AddToScheme(scheme)
} }

View File

@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
limitations under the License. limitations under the License.
*/ */
package proxyconfig package kubeproxyconfig
import ( import (
"fmt" "fmt"

View File

@ -15,8 +15,8 @@ limitations under the License.
*/ */
// +k8s:deepcopy-gen=package,register // +k8s:deepcopy-gen=package,register
// +k8s:conversion-gen=k8s.io/kubernetes/pkg/proxy/apis/proxyconfig // +k8s:conversion-gen=k8s.io/kubernetes/pkg/proxy/apis/kubeproxyconfig
// +k8s:openapi-gen=true // +k8s:openapi-gen=true
// +k8s:defaulter-gen=TypeMeta // +k8s:defaulter-gen=TypeMeta
package v1alpha1 // import "k8s.io/kubernetes/pkg/proxy/apis/proxyconfig/v1alpha1" package v1alpha1 // import "k8s.io/kubernetes/pkg/proxy/apis/kubeproxyconfig/v1alpha1"

View File

@ -22,7 +22,7 @@ import (
) )
// GroupName is the group name use in this package // GroupName is the group name use in this package
const GroupName = "kubeproxy.k8s.io" const GroupName = "kubeproxyconfig.k8s.io"
// SchemeGroupVersion is group version used to register these objects // SchemeGroupVersion is group version used to register these objects
var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1alpha1"} var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1alpha1"}

View File

@ -25,11 +25,11 @@ import (
utilnet "k8s.io/apimachinery/pkg/util/net" utilnet "k8s.io/apimachinery/pkg/util/net"
"k8s.io/apimachinery/pkg/util/validation/field" "k8s.io/apimachinery/pkg/util/validation/field"
apivalidation "k8s.io/kubernetes/pkg/api/validation" apivalidation "k8s.io/kubernetes/pkg/api/validation"
"k8s.io/kubernetes/pkg/proxy/apis/proxyconfig" "k8s.io/kubernetes/pkg/proxy/apis/kubeproxyconfig"
) )
// Validate validates the configuration of kube-proxy // Validate validates the configuration of kube-proxy
func Validate(config *proxyconfig.KubeProxyConfiguration) field.ErrorList { func Validate(config *kubeproxyconfig.KubeProxyConfiguration) field.ErrorList {
allErrs := field.ErrorList{} allErrs := field.ErrorList{}
newPath := field.NewPath("KubeProxyConfiguration") newPath := field.NewPath("KubeProxyConfiguration")
@ -38,7 +38,7 @@ func Validate(config *proxyconfig.KubeProxyConfiguration) field.ErrorList {
allErrs = append(allErrs, validateKubeProxyConntrackConfiguration(config.Conntrack, newPath.Child("KubeProxyConntrackConfiguration"))...) allErrs = append(allErrs, validateKubeProxyConntrackConfiguration(config.Conntrack, newPath.Child("KubeProxyConntrackConfiguration"))...)
allErrs = append(allErrs, validateProxyMode(config.Mode, newPath.Child("Mode"))...) allErrs = append(allErrs, validateProxyMode(config.Mode, newPath.Child("Mode"))...)
allErrs = append(allErrs, validateClientConnectionConfiguration(config.ClientConnection, newPath.Child("ClientConnection"))...) allErrs = append(allErrs, validateClientConnectionConfiguration(config.ClientConnection, newPath.Child("ClientConnection"))...)
allErrs = append(allErrs, validateIPVSSchedulerMethod(proxyconfig.IPVSSchedulerMethod(config.IPVS.Scheduler), newPath.Child("KubeProxyIPVSConfiguration").Child("Scheduler"))...) allErrs = append(allErrs, validateIPVSSchedulerMethod(kubeproxyconfig.IPVSSchedulerMethod(config.IPVS.Scheduler), newPath.Child("KubeProxyIPVSConfiguration").Child("Scheduler"))...)
if config.OOMScoreAdj != nil && (*config.OOMScoreAdj < -1000 || *config.OOMScoreAdj > 1000) { if config.OOMScoreAdj != nil && (*config.OOMScoreAdj < -1000 || *config.OOMScoreAdj > 1000) {
allErrs = append(allErrs, field.Invalid(newPath.Child("OOMScoreAdj"), *config.OOMScoreAdj, "must be within the range [-1000, 1000]")) allErrs = append(allErrs, field.Invalid(newPath.Child("OOMScoreAdj"), *config.OOMScoreAdj, "must be within the range [-1000, 1000]"))
@ -72,7 +72,7 @@ func Validate(config *proxyconfig.KubeProxyConfiguration) field.ErrorList {
return allErrs return allErrs
} }
func validateKubeProxyIPTablesConfiguration(config proxyconfig.KubeProxyIPTablesConfiguration, fldPath *field.Path) field.ErrorList { func validateKubeProxyIPTablesConfiguration(config kubeproxyconfig.KubeProxyIPTablesConfiguration, fldPath *field.Path) field.ErrorList {
allErrs := field.ErrorList{} allErrs := field.ErrorList{}
if config.MasqueradeBit != nil && (*config.MasqueradeBit < 0 || *config.MasqueradeBit > 31) { if config.MasqueradeBit != nil && (*config.MasqueradeBit < 0 || *config.MasqueradeBit > 31) {
@ -90,7 +90,7 @@ func validateKubeProxyIPTablesConfiguration(config proxyconfig.KubeProxyIPTables
return allErrs return allErrs
} }
func validateKubeProxyConntrackConfiguration(config proxyconfig.KubeProxyConntrackConfiguration, fldPath *field.Path) field.ErrorList { func validateKubeProxyConntrackConfiguration(config kubeproxyconfig.KubeProxyConntrackConfiguration, fldPath *field.Path) field.ErrorList {
allErrs := field.ErrorList{} allErrs := field.ErrorList{}
if config.Max < 0 { if config.Max < 0 {
@ -116,22 +116,22 @@ func validateKubeProxyConntrackConfiguration(config proxyconfig.KubeProxyConntra
return allErrs return allErrs
} }
func validateProxyMode(mode proxyconfig.ProxyMode, fldPath *field.Path) field.ErrorList { func validateProxyMode(mode kubeproxyconfig.ProxyMode, fldPath *field.Path) field.ErrorList {
allErrs := field.ErrorList{} allErrs := field.ErrorList{}
switch mode { switch mode {
case proxyconfig.ProxyModeUserspace: case kubeproxyconfig.ProxyModeUserspace:
case proxyconfig.ProxyModeIPTables: case kubeproxyconfig.ProxyModeIPTables:
case proxyconfig.ProxyModeIPVS: case kubeproxyconfig.ProxyModeIPVS:
case "": case "":
default: default:
modes := []string{string(proxyconfig.ProxyModeUserspace), string(proxyconfig.ProxyModeIPTables), string(proxyconfig.ProxyModeIPVS)} modes := []string{string(kubeproxyconfig.ProxyModeUserspace), string(kubeproxyconfig.ProxyModeIPTables), string(kubeproxyconfig.ProxyModeIPVS)}
errMsg := fmt.Sprintf("must be %s or blank (blank means the best-available proxy (currently iptables)", strings.Join(modes, ",")) 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)) allErrs = append(allErrs, field.Invalid(fldPath.Child("ProxyMode"), string(mode), errMsg))
} }
return allErrs return allErrs
} }
func validateClientConnectionConfiguration(config proxyconfig.ClientConnectionConfiguration, fldPath *field.Path) field.ErrorList { func validateClientConnectionConfiguration(config kubeproxyconfig.ClientConnectionConfiguration, fldPath *field.Path) field.ErrorList {
allErrs := field.ErrorList{} allErrs := field.ErrorList{}
allErrs = append(allErrs, apivalidation.ValidateNonnegativeField(int64(config.Burst), fldPath.Child("Burst"))...) allErrs = append(allErrs, apivalidation.ValidateNonnegativeField(int64(config.Burst), fldPath.Child("Burst"))...)
return allErrs return allErrs
@ -159,18 +159,18 @@ func validateHostPort(input string, fldPath *field.Path) field.ErrorList {
return allErrs return allErrs
} }
func validateIPVSSchedulerMethod(scheduler proxyconfig.IPVSSchedulerMethod, fldPath *field.Path) field.ErrorList { func validateIPVSSchedulerMethod(scheduler kubeproxyconfig.IPVSSchedulerMethod, fldPath *field.Path) field.ErrorList {
supportedMethod := []proxyconfig.IPVSSchedulerMethod{ supportedMethod := []kubeproxyconfig.IPVSSchedulerMethod{
proxyconfig.RoundRobin, kubeproxyconfig.RoundRobin,
proxyconfig.WeightedRoundRobin, kubeproxyconfig.WeightedRoundRobin,
proxyconfig.LeastConnection, kubeproxyconfig.LeastConnection,
proxyconfig.WeightedLeastConnection, kubeproxyconfig.WeightedLeastConnection,
proxyconfig.LocalityBasedLeastConnection, kubeproxyconfig.LocalityBasedLeastConnection,
proxyconfig.LocalityBasedLeastConnectionWithReplication, kubeproxyconfig.LocalityBasedLeastConnectionWithReplication,
proxyconfig.SourceHashing, kubeproxyconfig.SourceHashing,
proxyconfig.DestinationHashing, kubeproxyconfig.DestinationHashing,
proxyconfig.ShortestExpectedDelay, kubeproxyconfig.ShortestExpectedDelay,
proxyconfig.NeverQueue, kubeproxyconfig.NeverQueue,
"", "",
} }
allErrs := field.ErrorList{} allErrs := field.ErrorList{}

View File

@ -23,11 +23,11 @@ import (
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/util/validation/field" "k8s.io/apimachinery/pkg/util/validation/field"
"k8s.io/kubernetes/pkg/proxy/apis/proxyconfig" "k8s.io/kubernetes/pkg/proxy/apis/kubeproxyconfig"
) )
func TestValidateKubeProxyConfiguration(t *testing.T) { func TestValidateKubeProxyConfiguration(t *testing.T) {
successCases := []proxyconfig.KubeProxyConfiguration{ successCases := []kubeproxyconfig.KubeProxyConfiguration{
{ {
BindAddress: "192.168.59.103", BindAddress: "192.168.59.103",
HealthzBindAddress: "0.0.0.0:10256", HealthzBindAddress: "0.0.0.0:10256",
@ -35,12 +35,12 @@ func TestValidateKubeProxyConfiguration(t *testing.T) {
ClusterCIDR: "192.168.59.0/24", ClusterCIDR: "192.168.59.0/24",
UDPIdleTimeout: metav1.Duration{Duration: 1 * time.Second}, UDPIdleTimeout: metav1.Duration{Duration: 1 * time.Second},
ConfigSyncPeriod: metav1.Duration{Duration: 1 * time.Second}, ConfigSyncPeriod: metav1.Duration{Duration: 1 * time.Second},
IPTables: proxyconfig.KubeProxyIPTablesConfiguration{ IPTables: kubeproxyconfig.KubeProxyIPTablesConfiguration{
MasqueradeAll: true, MasqueradeAll: true,
SyncPeriod: metav1.Duration{Duration: 5 * time.Second}, SyncPeriod: metav1.Duration{Duration: 5 * time.Second},
MinSyncPeriod: metav1.Duration{Duration: 2 * time.Second}, MinSyncPeriod: metav1.Duration{Duration: 2 * time.Second},
}, },
Conntrack: proxyconfig.KubeProxyConntrackConfiguration{ Conntrack: kubeproxyconfig.KubeProxyConntrackConfiguration{
Max: int32(2), Max: int32(2),
MaxPerCore: int32(1), MaxPerCore: int32(1),
Min: int32(1), Min: int32(1),
@ -57,11 +57,11 @@ func TestValidateKubeProxyConfiguration(t *testing.T) {
} }
errorCases := []struct { errorCases := []struct {
config proxyconfig.KubeProxyConfiguration config kubeproxyconfig.KubeProxyConfiguration
msg string msg string
}{ }{
{ {
config: proxyconfig.KubeProxyConfiguration{ config: kubeproxyconfig.KubeProxyConfiguration{
// only BindAddress is invalid // only BindAddress is invalid
BindAddress: "10.10.12.11:2000", BindAddress: "10.10.12.11:2000",
HealthzBindAddress: "0.0.0.0:10256", HealthzBindAddress: "0.0.0.0:10256",
@ -69,12 +69,12 @@ func TestValidateKubeProxyConfiguration(t *testing.T) {
ClusterCIDR: "192.168.59.0/24", ClusterCIDR: "192.168.59.0/24",
UDPIdleTimeout: metav1.Duration{Duration: 1 * time.Second}, UDPIdleTimeout: metav1.Duration{Duration: 1 * time.Second},
ConfigSyncPeriod: metav1.Duration{Duration: 1 * time.Second}, ConfigSyncPeriod: metav1.Duration{Duration: 1 * time.Second},
IPTables: proxyconfig.KubeProxyIPTablesConfiguration{ IPTables: kubeproxyconfig.KubeProxyIPTablesConfiguration{
MasqueradeAll: true, MasqueradeAll: true,
SyncPeriod: metav1.Duration{Duration: 5 * time.Second}, SyncPeriod: metav1.Duration{Duration: 5 * time.Second},
MinSyncPeriod: metav1.Duration{Duration: 2 * time.Second}, MinSyncPeriod: metav1.Duration{Duration: 2 * time.Second},
}, },
Conntrack: proxyconfig.KubeProxyConntrackConfiguration{ Conntrack: kubeproxyconfig.KubeProxyConntrackConfiguration{
Max: int32(2), Max: int32(2),
MaxPerCore: int32(1), MaxPerCore: int32(1),
Min: int32(1), Min: int32(1),
@ -85,7 +85,7 @@ func TestValidateKubeProxyConfiguration(t *testing.T) {
msg: "not a valid textual representation of an IP address", msg: "not a valid textual representation of an IP address",
}, },
{ {
config: proxyconfig.KubeProxyConfiguration{ config: kubeproxyconfig.KubeProxyConfiguration{
BindAddress: "10.10.12.11", BindAddress: "10.10.12.11",
// only HealthzBindAddress is invalid // only HealthzBindAddress is invalid
HealthzBindAddress: "0.0.0.0", HealthzBindAddress: "0.0.0.0",
@ -93,12 +93,12 @@ func TestValidateKubeProxyConfiguration(t *testing.T) {
ClusterCIDR: "192.168.59.0/24", ClusterCIDR: "192.168.59.0/24",
UDPIdleTimeout: metav1.Duration{Duration: 1 * time.Second}, UDPIdleTimeout: metav1.Duration{Duration: 1 * time.Second},
ConfigSyncPeriod: metav1.Duration{Duration: 1 * time.Second}, ConfigSyncPeriod: metav1.Duration{Duration: 1 * time.Second},
IPTables: proxyconfig.KubeProxyIPTablesConfiguration{ IPTables: kubeproxyconfig.KubeProxyIPTablesConfiguration{
MasqueradeAll: true, MasqueradeAll: true,
SyncPeriod: metav1.Duration{Duration: 5 * time.Second}, SyncPeriod: metav1.Duration{Duration: 5 * time.Second},
MinSyncPeriod: metav1.Duration{Duration: 2 * time.Second}, MinSyncPeriod: metav1.Duration{Duration: 2 * time.Second},
}, },
Conntrack: proxyconfig.KubeProxyConntrackConfiguration{ Conntrack: kubeproxyconfig.KubeProxyConntrackConfiguration{
Max: int32(2), Max: int32(2),
MaxPerCore: int32(1), MaxPerCore: int32(1),
Min: int32(1), Min: int32(1),
@ -109,7 +109,7 @@ func TestValidateKubeProxyConfiguration(t *testing.T) {
msg: "must be IP:port", msg: "must be IP:port",
}, },
{ {
config: proxyconfig.KubeProxyConfiguration{ config: kubeproxyconfig.KubeProxyConfiguration{
BindAddress: "10.10.12.11", BindAddress: "10.10.12.11",
HealthzBindAddress: "0.0.0.0:12345", HealthzBindAddress: "0.0.0.0:12345",
// only MetricsBindAddress is invalid // only MetricsBindAddress is invalid
@ -117,12 +117,12 @@ func TestValidateKubeProxyConfiguration(t *testing.T) {
ClusterCIDR: "192.168.59.0/24", ClusterCIDR: "192.168.59.0/24",
UDPIdleTimeout: metav1.Duration{Duration: 1 * time.Second}, UDPIdleTimeout: metav1.Duration{Duration: 1 * time.Second},
ConfigSyncPeriod: metav1.Duration{Duration: 1 * time.Second}, ConfigSyncPeriod: metav1.Duration{Duration: 1 * time.Second},
IPTables: proxyconfig.KubeProxyIPTablesConfiguration{ IPTables: kubeproxyconfig.KubeProxyIPTablesConfiguration{
MasqueradeAll: true, MasqueradeAll: true,
SyncPeriod: metav1.Duration{Duration: 5 * time.Second}, SyncPeriod: metav1.Duration{Duration: 5 * time.Second},
MinSyncPeriod: metav1.Duration{Duration: 2 * time.Second}, MinSyncPeriod: metav1.Duration{Duration: 2 * time.Second},
}, },
Conntrack: proxyconfig.KubeProxyConntrackConfiguration{ Conntrack: kubeproxyconfig.KubeProxyConntrackConfiguration{
Max: int32(2), Max: int32(2),
MaxPerCore: int32(1), MaxPerCore: int32(1),
Min: int32(1), Min: int32(1),
@ -133,7 +133,7 @@ func TestValidateKubeProxyConfiguration(t *testing.T) {
msg: "must be IP:port", msg: "must be IP:port",
}, },
{ {
config: proxyconfig.KubeProxyConfiguration{ config: kubeproxyconfig.KubeProxyConfiguration{
BindAddress: "10.10.12.11", BindAddress: "10.10.12.11",
HealthzBindAddress: "0.0.0.0:12345", HealthzBindAddress: "0.0.0.0:12345",
MetricsBindAddress: "127.0.0.1:10249", MetricsBindAddress: "127.0.0.1:10249",
@ -141,12 +141,12 @@ func TestValidateKubeProxyConfiguration(t *testing.T) {
ClusterCIDR: "192.168.59.0", ClusterCIDR: "192.168.59.0",
UDPIdleTimeout: metav1.Duration{Duration: 1 * time.Second}, UDPIdleTimeout: metav1.Duration{Duration: 1 * time.Second},
ConfigSyncPeriod: metav1.Duration{Duration: 1 * time.Second}, ConfigSyncPeriod: metav1.Duration{Duration: 1 * time.Second},
IPTables: proxyconfig.KubeProxyIPTablesConfiguration{ IPTables: kubeproxyconfig.KubeProxyIPTablesConfiguration{
MasqueradeAll: true, MasqueradeAll: true,
SyncPeriod: metav1.Duration{Duration: 5 * time.Second}, SyncPeriod: metav1.Duration{Duration: 5 * time.Second},
MinSyncPeriod: metav1.Duration{Duration: 2 * time.Second}, MinSyncPeriod: metav1.Duration{Duration: 2 * time.Second},
}, },
Conntrack: proxyconfig.KubeProxyConntrackConfiguration{ Conntrack: kubeproxyconfig.KubeProxyConntrackConfiguration{
Max: int32(2), Max: int32(2),
MaxPerCore: int32(1), MaxPerCore: int32(1),
Min: int32(1), Min: int32(1),
@ -157,7 +157,7 @@ func TestValidateKubeProxyConfiguration(t *testing.T) {
msg: "must be a valid CIDR block (e.g. 10.100.0.0/16)", msg: "must be a valid CIDR block (e.g. 10.100.0.0/16)",
}, },
{ {
config: proxyconfig.KubeProxyConfiguration{ config: kubeproxyconfig.KubeProxyConfiguration{
BindAddress: "10.10.12.11", BindAddress: "10.10.12.11",
HealthzBindAddress: "0.0.0.0:12345", HealthzBindAddress: "0.0.0.0:12345",
MetricsBindAddress: "127.0.0.1:10249", MetricsBindAddress: "127.0.0.1:10249",
@ -165,12 +165,12 @@ func TestValidateKubeProxyConfiguration(t *testing.T) {
// only UDPIdleTimeout is invalid // only UDPIdleTimeout is invalid
UDPIdleTimeout: metav1.Duration{Duration: -1 * time.Second}, UDPIdleTimeout: metav1.Duration{Duration: -1 * time.Second},
ConfigSyncPeriod: metav1.Duration{Duration: 1 * time.Second}, ConfigSyncPeriod: metav1.Duration{Duration: 1 * time.Second},
IPTables: proxyconfig.KubeProxyIPTablesConfiguration{ IPTables: kubeproxyconfig.KubeProxyIPTablesConfiguration{
MasqueradeAll: true, MasqueradeAll: true,
SyncPeriod: metav1.Duration{Duration: 5 * time.Second}, SyncPeriod: metav1.Duration{Duration: 5 * time.Second},
MinSyncPeriod: metav1.Duration{Duration: 2 * time.Second}, MinSyncPeriod: metav1.Duration{Duration: 2 * time.Second},
}, },
Conntrack: proxyconfig.KubeProxyConntrackConfiguration{ Conntrack: kubeproxyconfig.KubeProxyConntrackConfiguration{
Max: int32(2), Max: int32(2),
MaxPerCore: int32(1), MaxPerCore: int32(1),
Min: int32(1), Min: int32(1),
@ -181,7 +181,7 @@ func TestValidateKubeProxyConfiguration(t *testing.T) {
msg: "must be greater than 0", msg: "must be greater than 0",
}, },
{ {
config: proxyconfig.KubeProxyConfiguration{ config: kubeproxyconfig.KubeProxyConfiguration{
BindAddress: "10.10.12.11", BindAddress: "10.10.12.11",
HealthzBindAddress: "0.0.0.0:12345", HealthzBindAddress: "0.0.0.0:12345",
MetricsBindAddress: "127.0.0.1:10249", MetricsBindAddress: "127.0.0.1:10249",
@ -189,12 +189,12 @@ func TestValidateKubeProxyConfiguration(t *testing.T) {
UDPIdleTimeout: metav1.Duration{Duration: 1 * time.Second}, UDPIdleTimeout: metav1.Duration{Duration: 1 * time.Second},
// only ConfigSyncPeriod is invalid // only ConfigSyncPeriod is invalid
ConfigSyncPeriod: metav1.Duration{Duration: -1 * time.Second}, ConfigSyncPeriod: metav1.Duration{Duration: -1 * time.Second},
IPTables: proxyconfig.KubeProxyIPTablesConfiguration{ IPTables: kubeproxyconfig.KubeProxyIPTablesConfiguration{
MasqueradeAll: true, MasqueradeAll: true,
SyncPeriod: metav1.Duration{Duration: 5 * time.Second}, SyncPeriod: metav1.Duration{Duration: 5 * time.Second},
MinSyncPeriod: metav1.Duration{Duration: 2 * time.Second}, MinSyncPeriod: metav1.Duration{Duration: 2 * time.Second},
}, },
Conntrack: proxyconfig.KubeProxyConntrackConfiguration{ Conntrack: kubeproxyconfig.KubeProxyConntrackConfiguration{
Max: int32(2), Max: int32(2),
MaxPerCore: int32(1), MaxPerCore: int32(1),
Min: int32(1), Min: int32(1),
@ -217,7 +217,7 @@ func TestValidateKubeProxyConfiguration(t *testing.T) {
func TestValidateKubeProxyIPTablesConfiguration(t *testing.T) { func TestValidateKubeProxyIPTablesConfiguration(t *testing.T) {
valid := int32(5) valid := int32(5)
successCases := []proxyconfig.KubeProxyIPTablesConfiguration{ successCases := []kubeproxyconfig.KubeProxyIPTablesConfiguration{
{ {
MasqueradeAll: true, MasqueradeAll: true,
SyncPeriod: metav1.Duration{Duration: 5 * time.Second}, SyncPeriod: metav1.Duration{Duration: 5 * time.Second},
@ -239,11 +239,11 @@ func TestValidateKubeProxyIPTablesConfiguration(t *testing.T) {
invalid := int32(-10) invalid := int32(-10)
errorCases := []struct { errorCases := []struct {
config proxyconfig.KubeProxyIPTablesConfiguration config kubeproxyconfig.KubeProxyIPTablesConfiguration
msg string msg string
}{ }{
{ {
config: proxyconfig.KubeProxyIPTablesConfiguration{ config: kubeproxyconfig.KubeProxyIPTablesConfiguration{
MasqueradeAll: true, MasqueradeAll: true,
SyncPeriod: metav1.Duration{Duration: -5 * time.Second}, SyncPeriod: metav1.Duration{Duration: -5 * time.Second},
MinSyncPeriod: metav1.Duration{Duration: 2 * time.Second}, MinSyncPeriod: metav1.Duration{Duration: 2 * time.Second},
@ -251,7 +251,7 @@ func TestValidateKubeProxyIPTablesConfiguration(t *testing.T) {
msg: "must be greater than 0", msg: "must be greater than 0",
}, },
{ {
config: proxyconfig.KubeProxyIPTablesConfiguration{ config: kubeproxyconfig.KubeProxyIPTablesConfiguration{
MasqueradeBit: &valid, MasqueradeBit: &valid,
MasqueradeAll: true, MasqueradeAll: true,
SyncPeriod: metav1.Duration{Duration: 5 * time.Second}, SyncPeriod: metav1.Duration{Duration: 5 * time.Second},
@ -260,7 +260,7 @@ func TestValidateKubeProxyIPTablesConfiguration(t *testing.T) {
msg: "must be greater than or equal to 0", msg: "must be greater than or equal to 0",
}, },
{ {
config: proxyconfig.KubeProxyIPTablesConfiguration{ config: kubeproxyconfig.KubeProxyIPTablesConfiguration{
MasqueradeBit: &invalid, MasqueradeBit: &invalid,
MasqueradeAll: true, MasqueradeAll: true,
SyncPeriod: metav1.Duration{Duration: 5 * time.Second}, SyncPeriod: metav1.Duration{Duration: 5 * time.Second},
@ -280,7 +280,7 @@ func TestValidateKubeProxyIPTablesConfiguration(t *testing.T) {
} }
func TestValidateKubeProxyConntrackConfiguration(t *testing.T) { func TestValidateKubeProxyConntrackConfiguration(t *testing.T) {
successCases := []proxyconfig.KubeProxyConntrackConfiguration{ successCases := []kubeproxyconfig.KubeProxyConntrackConfiguration{
{ {
Max: int32(2), Max: int32(2),
MaxPerCore: int32(1), MaxPerCore: int32(1),
@ -304,11 +304,11 @@ func TestValidateKubeProxyConntrackConfiguration(t *testing.T) {
} }
errorCases := []struct { errorCases := []struct {
config proxyconfig.KubeProxyConntrackConfiguration config kubeproxyconfig.KubeProxyConntrackConfiguration
msg string msg string
}{ }{
{ {
config: proxyconfig.KubeProxyConntrackConfiguration{ config: kubeproxyconfig.KubeProxyConntrackConfiguration{
Max: int32(-1), Max: int32(-1),
MaxPerCore: int32(1), MaxPerCore: int32(1),
Min: int32(1), Min: int32(1),
@ -318,7 +318,7 @@ func TestValidateKubeProxyConntrackConfiguration(t *testing.T) {
msg: "must be greater than or equal to 0", msg: "must be greater than or equal to 0",
}, },
{ {
config: proxyconfig.KubeProxyConntrackConfiguration{ config: kubeproxyconfig.KubeProxyConntrackConfiguration{
Max: int32(2), Max: int32(2),
MaxPerCore: int32(-1), MaxPerCore: int32(-1),
Min: int32(1), Min: int32(1),
@ -328,7 +328,7 @@ func TestValidateKubeProxyConntrackConfiguration(t *testing.T) {
msg: "must be greater than or equal to 0", msg: "must be greater than or equal to 0",
}, },
{ {
config: proxyconfig.KubeProxyConntrackConfiguration{ config: kubeproxyconfig.KubeProxyConntrackConfiguration{
Max: int32(2), Max: int32(2),
MaxPerCore: int32(1), MaxPerCore: int32(1),
Min: int32(-1), Min: int32(-1),
@ -338,7 +338,7 @@ func TestValidateKubeProxyConntrackConfiguration(t *testing.T) {
msg: "must be greater than or equal to 0", msg: "must be greater than or equal to 0",
}, },
{ {
config: proxyconfig.KubeProxyConntrackConfiguration{ config: kubeproxyconfig.KubeProxyConntrackConfiguration{
Max: int32(4), Max: int32(4),
MaxPerCore: int32(1), MaxPerCore: int32(1),
Min: int32(3), Min: int32(3),
@ -348,7 +348,7 @@ func TestValidateKubeProxyConntrackConfiguration(t *testing.T) {
msg: "must be greater than 0", msg: "must be greater than 0",
}, },
{ {
config: proxyconfig.KubeProxyConntrackConfiguration{ config: kubeproxyconfig.KubeProxyConntrackConfiguration{
Max: int32(4), Max: int32(4),
MaxPerCore: int32(1), MaxPerCore: int32(1),
Min: int32(3), Min: int32(3),
@ -371,11 +371,11 @@ func TestValidateKubeProxyConntrackConfiguration(t *testing.T) {
func TestValidateProxyMode(t *testing.T) { func TestValidateProxyMode(t *testing.T) {
newPath := field.NewPath("KubeProxyConfiguration") newPath := field.NewPath("KubeProxyConfiguration")
successCases := []proxyconfig.ProxyMode{ successCases := []kubeproxyconfig.ProxyMode{
proxyconfig.ProxyModeUserspace, kubeproxyconfig.ProxyModeUserspace,
proxyconfig.ProxyModeIPTables, kubeproxyconfig.ProxyModeIPTables,
proxyconfig.ProxyModeIPVS, kubeproxyconfig.ProxyModeIPVS,
proxyconfig.ProxyMode(""), kubeproxyconfig.ProxyMode(""),
} }
for _, successCase := range successCases { for _, successCase := range successCases {
@ -385,11 +385,11 @@ func TestValidateProxyMode(t *testing.T) {
} }
errorCases := []struct { errorCases := []struct {
mode proxyconfig.ProxyMode mode kubeproxyconfig.ProxyMode
msg string msg string
}{ }{
{ {
mode: proxyconfig.ProxyMode("non-existing"), mode: kubeproxyconfig.ProxyMode("non-existing"),
msg: "or blank (blank means the best-available proxy (currently iptables)", msg: "or blank (blank means the best-available proxy (currently iptables)",
}, },
} }
@ -406,7 +406,7 @@ func TestValidateProxyMode(t *testing.T) {
func TestValidateClientConnectionConfiguration(t *testing.T) { func TestValidateClientConnectionConfiguration(t *testing.T) {
newPath := field.NewPath("KubeProxyConfiguration") newPath := field.NewPath("KubeProxyConfiguration")
successCases := []proxyconfig.ClientConnectionConfiguration{ successCases := []kubeproxyconfig.ClientConnectionConfiguration{
{ {
Burst: 0, Burst: 0,
}, },
@ -422,11 +422,11 @@ func TestValidateClientConnectionConfiguration(t *testing.T) {
} }
errorCases := []struct { errorCases := []struct {
ccc proxyconfig.ClientConnectionConfiguration ccc kubeproxyconfig.ClientConnectionConfiguration
msg string msg string
}{ }{
{ {
ccc: proxyconfig.ClientConnectionConfiguration{Burst: -5}, ccc: kubeproxyconfig.ClientConnectionConfiguration{Burst: -5},
msg: "must be greater than or equal to 0", msg: "must be greater than or equal to 0",
}, },
} }
@ -493,17 +493,17 @@ func TestValidateHostPort(t *testing.T) {
func TestValidateIPVSSchedulerMethod(t *testing.T) { func TestValidateIPVSSchedulerMethod(t *testing.T) {
newPath := field.NewPath("KubeProxyConfiguration") newPath := field.NewPath("KubeProxyConfiguration")
successCases := []proxyconfig.IPVSSchedulerMethod{ successCases := []kubeproxyconfig.IPVSSchedulerMethod{
proxyconfig.RoundRobin, kubeproxyconfig.RoundRobin,
proxyconfig.WeightedRoundRobin, kubeproxyconfig.WeightedRoundRobin,
proxyconfig.LeastConnection, kubeproxyconfig.LeastConnection,
proxyconfig.WeightedLeastConnection, kubeproxyconfig.WeightedLeastConnection,
proxyconfig.LocalityBasedLeastConnection, kubeproxyconfig.LocalityBasedLeastConnection,
proxyconfig.LocalityBasedLeastConnectionWithReplication, kubeproxyconfig.LocalityBasedLeastConnectionWithReplication,
proxyconfig.SourceHashing, kubeproxyconfig.SourceHashing,
proxyconfig.DestinationHashing, kubeproxyconfig.DestinationHashing,
proxyconfig.ShortestExpectedDelay, kubeproxyconfig.ShortestExpectedDelay,
proxyconfig.NeverQueue, kubeproxyconfig.NeverQueue,
"", "",
} }
@ -514,11 +514,11 @@ func TestValidateIPVSSchedulerMethod(t *testing.T) {
} }
errorCases := []struct { errorCases := []struct {
mode proxyconfig.IPVSSchedulerMethod mode kubeproxyconfig.IPVSSchedulerMethod
msg string msg string
}{ }{
{ {
mode: proxyconfig.IPVSSchedulerMethod("non-existing"), mode: kubeproxyconfig.IPVSSchedulerMethod("non-existing"),
msg: "blank means the default algorithm method (currently rr)", msg: "blank means the default algorithm method (currently rr)",
}, },
} }