mirror of
				https://github.com/optim-enterprises-bv/kubernetes.git
				synced 2025-11-03 19:58:17 +00:00 
			
		
		
		
	Rename kubeproxy config pkg and group.
This commit is contained in:
		@@ -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")
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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"
 | 
				
			||||||
@@ -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}
 | 
				
			||||||
@@ -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)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@@ -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"
 | 
				
			||||||
@@ -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"
 | 
				
			||||||
@@ -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"}
 | 
				
			||||||
@@ -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{}
 | 
				
			||||||
@@ -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)",
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
		Reference in New Issue
	
	Block a user