mirror of https://github.com/k3s-io/k3s
pkg/util: move flags from pkg/util/config to pkg/util/flags
parent
4beba154b4
commit
56d60cfae6
|
@ -23,7 +23,7 @@ import (
|
||||||
"k8s.io/kubernetes/pkg/apis/componentconfig"
|
"k8s.io/kubernetes/pkg/apis/componentconfig"
|
||||||
"k8s.io/kubernetes/pkg/client/leaderelection"
|
"k8s.io/kubernetes/pkg/client/leaderelection"
|
||||||
"k8s.io/kubernetes/pkg/master/ports"
|
"k8s.io/kubernetes/pkg/master/ports"
|
||||||
"k8s.io/kubernetes/pkg/util/config"
|
utilflag "k8s.io/kubernetes/pkg/util/flag"
|
||||||
|
|
||||||
"github.com/spf13/pflag"
|
"github.com/spf13/pflag"
|
||||||
)
|
)
|
||||||
|
@ -82,5 +82,5 @@ func (s *CloudControllerManagerServer) AddFlags(fs *pflag.FlagSet) {
|
||||||
fs.DurationVar(&s.ControllerStartInterval.Duration, "controller-start-interval", s.ControllerStartInterval.Duration, "Interval between starting controller managers.")
|
fs.DurationVar(&s.ControllerStartInterval.Duration, "controller-start-interval", s.ControllerStartInterval.Duration, "Interval between starting controller managers.")
|
||||||
|
|
||||||
leaderelection.BindFlags(&s.LeaderElection, fs)
|
leaderelection.BindFlags(&s.LeaderElection, fs)
|
||||||
config.DefaultFeatureGate.AddFlag(fs)
|
utilflag.DefaultFeatureGate.AddFlag(fs)
|
||||||
}
|
}
|
||||||
|
|
|
@ -29,7 +29,7 @@ import (
|
||||||
"k8s.io/kubernetes/pkg/apis/componentconfig"
|
"k8s.io/kubernetes/pkg/apis/componentconfig"
|
||||||
"k8s.io/kubernetes/pkg/client/leaderelection"
|
"k8s.io/kubernetes/pkg/client/leaderelection"
|
||||||
"k8s.io/kubernetes/pkg/master/ports"
|
"k8s.io/kubernetes/pkg/master/ports"
|
||||||
"k8s.io/kubernetes/pkg/util/config"
|
utilflag "k8s.io/kubernetes/pkg/util/flag"
|
||||||
|
|
||||||
"github.com/spf13/pflag"
|
"github.com/spf13/pflag"
|
||||||
)
|
)
|
||||||
|
@ -195,7 +195,7 @@ func (s *CMServer) AddFlags(fs *pflag.FlagSet, allControllers []string, disabled
|
||||||
fs.DurationVar(&s.ReconcilerSyncLoopPeriod.Duration, "attach-detach-reconcile-sync-period", s.ReconcilerSyncLoopPeriod.Duration, "The reconciler sync wait time between volume attach detach. This duration must be larger than one second, and increasing this value from the default may allow for volumes to be mismatched with pods.")
|
fs.DurationVar(&s.ReconcilerSyncLoopPeriod.Duration, "attach-detach-reconcile-sync-period", s.ReconcilerSyncLoopPeriod.Duration, "The reconciler sync wait time between volume attach detach. This duration must be larger than one second, and increasing this value from the default may allow for volumes to be mismatched with pods.")
|
||||||
|
|
||||||
leaderelection.BindFlags(&s.LeaderElection, fs)
|
leaderelection.BindFlags(&s.LeaderElection, fs)
|
||||||
config.DefaultFeatureGate.AddFlag(fs)
|
utilflag.DefaultFeatureGate.AddFlag(fs)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Validate is used to validate the options and config before launching the controller manager
|
// Validate is used to validate the options and config before launching the controller manager
|
||||||
|
|
|
@ -36,7 +36,7 @@ import (
|
||||||
"k8s.io/kubernetes/pkg/cloudprovider/providers/openstack"
|
"k8s.io/kubernetes/pkg/cloudprovider/providers/openstack"
|
||||||
"k8s.io/kubernetes/pkg/cloudprovider/providers/photon"
|
"k8s.io/kubernetes/pkg/cloudprovider/providers/photon"
|
||||||
"k8s.io/kubernetes/pkg/cloudprovider/providers/vsphere"
|
"k8s.io/kubernetes/pkg/cloudprovider/providers/vsphere"
|
||||||
utilconfig "k8s.io/kubernetes/pkg/util/config"
|
utilflag "k8s.io/kubernetes/pkg/util/flag"
|
||||||
"k8s.io/kubernetes/pkg/util/io"
|
"k8s.io/kubernetes/pkg/util/io"
|
||||||
"k8s.io/kubernetes/pkg/volume"
|
"k8s.io/kubernetes/pkg/volume"
|
||||||
"k8s.io/kubernetes/pkg/volume/aws_ebs"
|
"k8s.io/kubernetes/pkg/volume/aws_ebs"
|
||||||
|
@ -142,7 +142,7 @@ func ProbeControllerVolumePlugins(cloud cloudprovider.Interface, config componen
|
||||||
// TODO: remove in Kubernetes 1.5
|
// TODO: remove in Kubernetes 1.5
|
||||||
func NewAlphaVolumeProvisioner(cloud cloudprovider.Interface, config componentconfig.VolumeConfiguration) (volume.ProvisionableVolumePlugin, error) {
|
func NewAlphaVolumeProvisioner(cloud cloudprovider.Interface, config componentconfig.VolumeConfiguration) (volume.ProvisionableVolumePlugin, error) {
|
||||||
switch {
|
switch {
|
||||||
case !utilconfig.DefaultFeatureGate.DynamicVolumeProvisioning():
|
case !utilflag.DefaultFeatureGate.DynamicVolumeProvisioning():
|
||||||
return nil, nil
|
return nil, nil
|
||||||
case cloud == nil && config.EnableHostPathProvisioning:
|
case cloud == nil && config.EnableHostPathProvisioning:
|
||||||
return getProvisionablePluginFromVolumePlugins(host_path.ProbeVolumePlugins(
|
return getProvisionablePluginFromVolumePlugins(host_path.ProbeVolumePlugins(
|
||||||
|
|
|
@ -27,7 +27,7 @@ import (
|
||||||
"k8s.io/kubernetes/pkg/apis/componentconfig/v1alpha1"
|
"k8s.io/kubernetes/pkg/apis/componentconfig/v1alpha1"
|
||||||
"k8s.io/kubernetes/pkg/kubelet/qos"
|
"k8s.io/kubernetes/pkg/kubelet/qos"
|
||||||
"k8s.io/kubernetes/pkg/util"
|
"k8s.io/kubernetes/pkg/util"
|
||||||
"k8s.io/kubernetes/pkg/util/config"
|
utilflag "k8s.io/kubernetes/pkg/util/flag"
|
||||||
|
|
||||||
"github.com/spf13/pflag"
|
"github.com/spf13/pflag"
|
||||||
)
|
)
|
||||||
|
@ -101,5 +101,5 @@ func (s *ProxyServerConfig) AddFlags(fs *pflag.FlagSet) {
|
||||||
s.ConntrackTCPCloseWaitTimeout.Duration,
|
s.ConntrackTCPCloseWaitTimeout.Duration,
|
||||||
"NAT timeout for TCP connections in the CLOSE_WAIT state")
|
"NAT timeout for TCP connections in the CLOSE_WAIT state")
|
||||||
|
|
||||||
config.DefaultFeatureGate.AddFlag(fs)
|
utilflag.DefaultFeatureGate.AddFlag(fs)
|
||||||
}
|
}
|
||||||
|
|
|
@ -24,8 +24,8 @@ import (
|
||||||
"k8s.io/kubernetes/pkg/api"
|
"k8s.io/kubernetes/pkg/api"
|
||||||
"k8s.io/kubernetes/pkg/apis/componentconfig"
|
"k8s.io/kubernetes/pkg/apis/componentconfig"
|
||||||
"k8s.io/kubernetes/pkg/apis/componentconfig/v1alpha1"
|
"k8s.io/kubernetes/pkg/apis/componentconfig/v1alpha1"
|
||||||
utilconfig "k8s.io/kubernetes/pkg/util/config"
|
|
||||||
"k8s.io/kubernetes/pkg/util/flag"
|
"k8s.io/kubernetes/pkg/util/flag"
|
||||||
|
utilflag "k8s.io/kubernetes/pkg/util/flag"
|
||||||
utiltaints "k8s.io/kubernetes/pkg/util/taints"
|
utiltaints "k8s.io/kubernetes/pkg/util/taints"
|
||||||
|
|
||||||
"github.com/spf13/pflag"
|
"github.com/spf13/pflag"
|
||||||
|
@ -169,7 +169,7 @@ func (s *KubeletServer) AddFlags(fs *pflag.FlagSet) {
|
||||||
fs.DurationVar(&s.StreamingConnectionIdleTimeout.Duration, "streaming-connection-idle-timeout", s.StreamingConnectionIdleTimeout.Duration, "Maximum time a streaming connection can be idle before the connection is automatically closed. 0 indicates no timeout. Example: '5m'")
|
fs.DurationVar(&s.StreamingConnectionIdleTimeout.Duration, "streaming-connection-idle-timeout", s.StreamingConnectionIdleTimeout.Duration, "Maximum time a streaming connection can be idle before the connection is automatically closed. 0 indicates no timeout. Example: '5m'")
|
||||||
fs.DurationVar(&s.NodeStatusUpdateFrequency.Duration, "node-status-update-frequency", s.NodeStatusUpdateFrequency.Duration, "Specifies how often kubelet posts node status to master. Note: be cautious when changing the constant, it must work with nodeMonitorGracePeriod in nodecontroller. Default: 10s")
|
fs.DurationVar(&s.NodeStatusUpdateFrequency.Duration, "node-status-update-frequency", s.NodeStatusUpdateFrequency.Duration, "Specifies how often kubelet posts node status to master. Note: be cautious when changing the constant, it must work with nodeMonitorGracePeriod in nodecontroller. Default: 10s")
|
||||||
s.NodeLabels = make(map[string]string)
|
s.NodeLabels = make(map[string]string)
|
||||||
bindableNodeLabels := utilconfig.ConfigurationMap(s.NodeLabels)
|
bindableNodeLabels := utilflag.ConfigurationMap(s.NodeLabels)
|
||||||
fs.Var(&bindableNodeLabels, "node-labels", "<Warning: Alpha feature> Labels to add when registering the node in the cluster. Labels must be key=value pairs separated by ','.")
|
fs.Var(&bindableNodeLabels, "node-labels", "<Warning: Alpha feature> Labels to add when registering the node in the cluster. Labels must be key=value pairs separated by ','.")
|
||||||
fs.DurationVar(&s.ImageMinimumGCAge.Duration, "minimum-image-ttl-duration", s.ImageMinimumGCAge.Duration, "Minimum age for an unused image before it is garbage collected. Examples: '300ms', '10s' or '2h45m'. Default: '2m'")
|
fs.DurationVar(&s.ImageMinimumGCAge.Duration, "minimum-image-ttl-duration", s.ImageMinimumGCAge.Duration, "Minimum age for an unused image before it is garbage collected. Examples: '300ms', '10s' or '2h45m'. Default: '2m'")
|
||||||
fs.Int32Var(&s.ImageGCHighThresholdPercent, "image-gc-high-threshold", s.ImageGCHighThresholdPercent, "The percent of disk usage after which image garbage collection is always run. Default: 90%")
|
fs.Int32Var(&s.ImageGCHighThresholdPercent, "image-gc-high-threshold", s.ImageGCHighThresholdPercent, "The percent of disk usage after which image garbage collection is always run. Default: 90%")
|
||||||
|
@ -185,7 +185,7 @@ func (s *KubeletServer) AddFlags(fs *pflag.FlagSet) {
|
||||||
fs.StringVar(&s.CloudProvider, "cloud-provider", s.CloudProvider, "The provider for cloud services. By default, kubelet will attempt to auto-detect the cloud provider. Specify empty string for running with no cloud provider. [default=auto-detect]")
|
fs.StringVar(&s.CloudProvider, "cloud-provider", s.CloudProvider, "The provider for cloud services. By default, kubelet will attempt to auto-detect the cloud provider. Specify empty string for running with no cloud provider. [default=auto-detect]")
|
||||||
fs.StringVar(&s.CloudConfigFile, "cloud-config", s.CloudConfigFile, "The path to the cloud provider configuration file. Empty string for no configuration file.")
|
fs.StringVar(&s.CloudConfigFile, "cloud-config", s.CloudConfigFile, "The path to the cloud provider configuration file. Empty string for no configuration file.")
|
||||||
fs.StringVar(&s.FeatureGates, "feature-gates", s.FeatureGates, "A set of key=value pairs that describe feature gates for alpha/experimental features. "+
|
fs.StringVar(&s.FeatureGates, "feature-gates", s.FeatureGates, "A set of key=value pairs that describe feature gates for alpha/experimental features. "+
|
||||||
"Options are:\n"+strings.Join(utilconfig.DefaultFeatureGate.KnownFeatures(), "\n"))
|
"Options are:\n"+strings.Join(utilflag.DefaultFeatureGate.KnownFeatures(), "\n"))
|
||||||
|
|
||||||
fs.StringVar(&s.KubeletCgroups, "resource-container", s.KubeletCgroups, "Optional absolute name of the resource-only container to create and run the Kubelet in.")
|
fs.StringVar(&s.KubeletCgroups, "resource-container", s.KubeletCgroups, "Optional absolute name of the resource-only container to create and run the Kubelet in.")
|
||||||
fs.MarkDeprecated("resource-container", "Use --kubelet-cgroups instead. Will be removed in a future version.")
|
fs.MarkDeprecated("resource-container", "Use --kubelet-cgroups instead. Will be removed in a future version.")
|
||||||
|
|
|
@ -70,8 +70,8 @@ import (
|
||||||
"k8s.io/kubernetes/pkg/kubelet/dockertools"
|
"k8s.io/kubernetes/pkg/kubelet/dockertools"
|
||||||
"k8s.io/kubernetes/pkg/kubelet/server"
|
"k8s.io/kubernetes/pkg/kubelet/server"
|
||||||
kubetypes "k8s.io/kubernetes/pkg/kubelet/types"
|
kubetypes "k8s.io/kubernetes/pkg/kubelet/types"
|
||||||
utilconfig "k8s.io/kubernetes/pkg/util/config"
|
|
||||||
"k8s.io/kubernetes/pkg/util/configz"
|
"k8s.io/kubernetes/pkg/util/configz"
|
||||||
|
utilflag "k8s.io/kubernetes/pkg/util/flag"
|
||||||
"k8s.io/kubernetes/pkg/util/flock"
|
"k8s.io/kubernetes/pkg/util/flock"
|
||||||
kubeio "k8s.io/kubernetes/pkg/util/io"
|
kubeio "k8s.io/kubernetes/pkg/util/io"
|
||||||
"k8s.io/kubernetes/pkg/util/mount"
|
"k8s.io/kubernetes/pkg/util/mount"
|
||||||
|
@ -328,14 +328,14 @@ func run(s *options.KubeletServer, kubeDeps *kubelet.KubeletDeps) (err error) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Set feature gates based on the value in KubeletConfiguration
|
// Set feature gates based on the value in KubeletConfiguration
|
||||||
err = utilconfig.DefaultFeatureGate.Set(s.KubeletConfiguration.FeatureGates)
|
err = utilflag.DefaultFeatureGate.Set(s.KubeletConfiguration.FeatureGates)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
// Register current configuration with /configz endpoint
|
// Register current configuration with /configz endpoint
|
||||||
cfgz, cfgzErr := initConfigz(&s.KubeletConfiguration)
|
cfgz, cfgzErr := initConfigz(&s.KubeletConfiguration)
|
||||||
if utilconfig.DefaultFeatureGate.DynamicKubeletConfig() {
|
if utilflag.DefaultFeatureGate.DynamicKubeletConfig() {
|
||||||
// Look for config on the API server. If it exists, replace s.KubeletConfiguration
|
// Look for config on the API server. If it exists, replace s.KubeletConfiguration
|
||||||
// with it and continue. initKubeletConfigSync also starts the background thread that checks for new config.
|
// with it and continue. initKubeletConfigSync also starts the background thread that checks for new config.
|
||||||
|
|
||||||
|
@ -352,7 +352,7 @@ func run(s *options.KubeletServer, kubeDeps *kubelet.KubeletDeps) (err error) {
|
||||||
setConfigz(cfgz, &s.KubeletConfiguration)
|
setConfigz(cfgz, &s.KubeletConfiguration)
|
||||||
}
|
}
|
||||||
// Update feature gates from the new config
|
// Update feature gates from the new config
|
||||||
err = utilconfig.DefaultFeatureGate.Set(s.KubeletConfiguration.FeatureGates)
|
err = utilflag.DefaultFeatureGate.Set(s.KubeletConfiguration.FeatureGates)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,7 +20,7 @@ import (
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"k8s.io/kubernetes/pkg/kubelet"
|
"k8s.io/kubernetes/pkg/kubelet"
|
||||||
"k8s.io/kubernetes/pkg/util/config"
|
utilflag "k8s.io/kubernetes/pkg/util/flag"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestValueOfAllocatableResources(t *testing.T) {
|
func TestValueOfAllocatableResources(t *testing.T) {
|
||||||
|
@ -51,8 +51,8 @@ func TestValueOfAllocatableResources(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, test := range testCases {
|
for _, test := range testCases {
|
||||||
kubeReservedCM := make(config.ConfigurationMap)
|
kubeReservedCM := make(utilflag.ConfigurationMap)
|
||||||
systemReservedCM := make(config.ConfigurationMap)
|
systemReservedCM := make(utilflag.ConfigurationMap)
|
||||||
|
|
||||||
kubeReservedCM.Set(test.kubeReserved)
|
kubeReservedCM.Set(test.kubeReserved)
|
||||||
systemReservedCM.Set(test.systemReserved)
|
systemReservedCM.Set(test.systemReserved)
|
||||||
|
|
|
@ -45,6 +45,7 @@ import (
|
||||||
servicecontroller "k8s.io/kubernetes/federation/pkg/federation-controller/service"
|
servicecontroller "k8s.io/kubernetes/federation/pkg/federation-controller/service"
|
||||||
"k8s.io/kubernetes/federation/pkg/federation-controller/util"
|
"k8s.io/kubernetes/federation/pkg/federation-controller/util"
|
||||||
"k8s.io/kubernetes/pkg/util/configz"
|
"k8s.io/kubernetes/pkg/util/configz"
|
||||||
|
utilflag "k8s.io/kubernetes/pkg/util/flag"
|
||||||
"k8s.io/kubernetes/pkg/version"
|
"k8s.io/kubernetes/pkg/version"
|
||||||
|
|
||||||
"github.com/golang/glog"
|
"github.com/golang/glog"
|
||||||
|
@ -53,7 +54,6 @@ import (
|
||||||
"github.com/spf13/pflag"
|
"github.com/spf13/pflag"
|
||||||
"k8s.io/apimachinery/pkg/runtime/schema"
|
"k8s.io/apimachinery/pkg/runtime/schema"
|
||||||
"k8s.io/kubernetes/pkg/client/typed/discovery"
|
"k8s.io/kubernetes/pkg/client/typed/discovery"
|
||||||
"k8s.io/kubernetes/pkg/util/config"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
|
@ -222,7 +222,7 @@ func restClientConfigFromSecret(master string) (*restclient.Config, error) {
|
||||||
return restClientCfg, nil
|
return restClientCfg, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func controllerEnabled(controllers config.ConfigurationMap, serverResources []*metav1.APIResourceList, controller string, requiredResources []schema.GroupVersionResource, defaultValue bool) bool {
|
func controllerEnabled(controllers utilflag.ConfigurationMap, serverResources []*metav1.APIResourceList, controller string, requiredResources []schema.GroupVersionResource, defaultValue bool) bool {
|
||||||
controllerConfig, ok := controllers[controller]
|
controllerConfig, ok := controllers[controller]
|
||||||
if ok {
|
if ok {
|
||||||
if controllerConfig == "false" {
|
if controllerConfig == "false" {
|
||||||
|
|
|
@ -20,14 +20,14 @@ import (
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
"k8s.io/apimachinery/pkg/runtime/schema"
|
"k8s.io/apimachinery/pkg/runtime/schema"
|
||||||
ingresscontroller "k8s.io/kubernetes/federation/pkg/federation-controller/ingress"
|
ingresscontroller "k8s.io/kubernetes/federation/pkg/federation-controller/ingress"
|
||||||
"k8s.io/kubernetes/pkg/util/config"
|
utilflag "k8s.io/kubernetes/pkg/util/flag"
|
||||||
"testing"
|
"testing"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestControllerEnabled(t *testing.T) {
|
func TestControllerEnabled(t *testing.T) {
|
||||||
|
|
||||||
testCases := []struct {
|
testCases := []struct {
|
||||||
controllersConfig config.ConfigurationMap
|
controllersConfig utilflag.ConfigurationMap
|
||||||
serverResources []*metav1.APIResourceList
|
serverResources []*metav1.APIResourceList
|
||||||
controller string
|
controller string
|
||||||
requiredResources []schema.GroupVersionResource
|
requiredResources []schema.GroupVersionResource
|
||||||
|
@ -36,7 +36,7 @@ func TestControllerEnabled(t *testing.T) {
|
||||||
}{
|
}{
|
||||||
// no override, API server has Ingress enabled
|
// no override, API server has Ingress enabled
|
||||||
{
|
{
|
||||||
controllersConfig: config.ConfigurationMap{},
|
controllersConfig: utilflag.ConfigurationMap{},
|
||||||
serverResources: []*metav1.APIResourceList{
|
serverResources: []*metav1.APIResourceList{
|
||||||
{
|
{
|
||||||
GroupVersion: "extensions/v1beta1",
|
GroupVersion: "extensions/v1beta1",
|
||||||
|
@ -52,7 +52,7 @@ func TestControllerEnabled(t *testing.T) {
|
||||||
},
|
},
|
||||||
// no override, API server has Ingress disabled
|
// no override, API server has Ingress disabled
|
||||||
{
|
{
|
||||||
controllersConfig: config.ConfigurationMap{},
|
controllersConfig: utilflag.ConfigurationMap{},
|
||||||
serverResources: []*metav1.APIResourceList{},
|
serverResources: []*metav1.APIResourceList{},
|
||||||
controller: ingresscontroller.ControllerName,
|
controller: ingresscontroller.ControllerName,
|
||||||
requiredResources: ingresscontroller.RequiredResources,
|
requiredResources: ingresscontroller.RequiredResources,
|
||||||
|
@ -61,7 +61,7 @@ func TestControllerEnabled(t *testing.T) {
|
||||||
},
|
},
|
||||||
// API server has Ingress enabled, override config to disable Ingress controller
|
// API server has Ingress enabled, override config to disable Ingress controller
|
||||||
{
|
{
|
||||||
controllersConfig: config.ConfigurationMap{
|
controllersConfig: utilflag.ConfigurationMap{
|
||||||
ingresscontroller.ControllerName: "false",
|
ingresscontroller.ControllerName: "false",
|
||||||
},
|
},
|
||||||
serverResources: []*metav1.APIResourceList{
|
serverResources: []*metav1.APIResourceList{
|
||||||
|
|
|
@ -28,7 +28,7 @@ import (
|
||||||
"k8s.io/kubernetes/federation/pkg/dnsprovider"
|
"k8s.io/kubernetes/federation/pkg/dnsprovider"
|
||||||
"k8s.io/kubernetes/pkg/apis/componentconfig"
|
"k8s.io/kubernetes/pkg/apis/componentconfig"
|
||||||
"k8s.io/kubernetes/pkg/client/leaderelection"
|
"k8s.io/kubernetes/pkg/client/leaderelection"
|
||||||
"k8s.io/kubernetes/pkg/util/config"
|
utilflag "k8s.io/kubernetes/pkg/util/flag"
|
||||||
)
|
)
|
||||||
|
|
||||||
type ControllerManagerConfiguration struct {
|
type ControllerManagerConfiguration struct {
|
||||||
|
@ -69,7 +69,7 @@ type ControllerManagerConfiguration struct {
|
||||||
// contentType is contentType of requests sent to apiserver.
|
// contentType is contentType of requests sent to apiserver.
|
||||||
ContentType string `json:"contentType"`
|
ContentType string `json:"contentType"`
|
||||||
// ConfigurationMap determining which controllers should be enabled or disabled
|
// ConfigurationMap determining which controllers should be enabled or disabled
|
||||||
Controllers config.ConfigurationMap `json:"controllers"`
|
Controllers utilflag.ConfigurationMap `json:"controllers"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// CMServer is the main context object for the controller manager.
|
// CMServer is the main context object for the controller manager.
|
||||||
|
@ -97,7 +97,7 @@ func NewCMServer() *CMServer {
|
||||||
APIServerQPS: 20.0,
|
APIServerQPS: 20.0,
|
||||||
APIServerBurst: 30,
|
APIServerBurst: 30,
|
||||||
LeaderElection: leaderelection.DefaultLeaderElectionConfiguration(),
|
LeaderElection: leaderelection.DefaultLeaderElectionConfiguration(),
|
||||||
Controllers: make(config.ConfigurationMap),
|
Controllers: make(utilflag.ConfigurationMap),
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
return &s
|
return &s
|
||||||
|
|
|
@ -44,7 +44,7 @@ import (
|
||||||
storageutil "k8s.io/kubernetes/pkg/apis/storage/util"
|
storageutil "k8s.io/kubernetes/pkg/apis/storage/util"
|
||||||
"k8s.io/kubernetes/pkg/capabilities"
|
"k8s.io/kubernetes/pkg/capabilities"
|
||||||
"k8s.io/kubernetes/pkg/security/apparmor"
|
"k8s.io/kubernetes/pkg/security/apparmor"
|
||||||
utilconfig "k8s.io/kubernetes/pkg/util/config"
|
utilflag "k8s.io/kubernetes/pkg/util/flag"
|
||||||
"k8s.io/kubernetes/pkg/util/intstr"
|
"k8s.io/kubernetes/pkg/util/intstr"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -2063,7 +2063,7 @@ func ValidateAppArmorPodAnnotations(annotations map[string]string, spec *api.Pod
|
||||||
if !strings.HasPrefix(k, apparmor.ContainerAnnotationKeyPrefix) {
|
if !strings.HasPrefix(k, apparmor.ContainerAnnotationKeyPrefix) {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
if !utilconfig.DefaultFeatureGate.AppArmor() {
|
if !utilflag.DefaultFeatureGate.AppArmor() {
|
||||||
allErrs = append(allErrs, field.Forbidden(fldPath.Key(k), "AppArmor is disabled by feature-gate"))
|
allErrs = append(allErrs, field.Forbidden(fldPath.Key(k), "AppArmor is disabled by feature-gate"))
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,7 +20,7 @@ import (
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
runtime "k8s.io/apimachinery/pkg/runtime"
|
runtime "k8s.io/apimachinery/pkg/runtime"
|
||||||
"k8s.io/kubernetes/pkg/api"
|
"k8s.io/kubernetes/pkg/api"
|
||||||
utilconfig "k8s.io/kubernetes/pkg/util/config"
|
utilflag "k8s.io/kubernetes/pkg/util/flag"
|
||||||
)
|
)
|
||||||
|
|
||||||
type KubeProxyConfiguration struct {
|
type KubeProxyConfiguration struct {
|
||||||
|
@ -445,12 +445,12 @@ type KubeletConfiguration struct {
|
||||||
// that describe resources reserved for non-kubernetes components.
|
// that describe resources reserved for non-kubernetes components.
|
||||||
// Currently only cpu and memory are supported. [default=none]
|
// Currently only cpu and memory are supported. [default=none]
|
||||||
// See http://kubernetes.io/docs/user-guide/compute-resources for more detail.
|
// See http://kubernetes.io/docs/user-guide/compute-resources for more detail.
|
||||||
SystemReserved utilconfig.ConfigurationMap
|
SystemReserved utilflag.ConfigurationMap
|
||||||
// A set of ResourceName=ResourceQuantity (e.g. cpu=200m,memory=150G) pairs
|
// A set of ResourceName=ResourceQuantity (e.g. cpu=200m,memory=150G) pairs
|
||||||
// that describe resources reserved for kubernetes system components.
|
// that describe resources reserved for kubernetes system components.
|
||||||
// Currently only cpu and memory are supported. [default=none]
|
// Currently only cpu and memory are supported. [default=none]
|
||||||
// See http://kubernetes.io/docs/user-guide/compute-resources for more detail.
|
// See http://kubernetes.io/docs/user-guide/compute-resources for more detail.
|
||||||
KubeReserved utilconfig.ConfigurationMap
|
KubeReserved utilflag.ConfigurationMap
|
||||||
// Default behaviour for kernel tuning
|
// Default behaviour for kernel tuning
|
||||||
ProtectKernelDefaults bool
|
ProtectKernelDefaults bool
|
||||||
// If true, Kubelet ensures a set of iptables rules are present on host.
|
// If true, Kubelet ensures a set of iptables rules are present on host.
|
||||||
|
|
|
@ -32,7 +32,7 @@ import (
|
||||||
"k8s.io/apimachinery/pkg/api/errors"
|
"k8s.io/apimachinery/pkg/api/errors"
|
||||||
utilnet "k8s.io/apimachinery/pkg/util/net"
|
utilnet "k8s.io/apimachinery/pkg/util/net"
|
||||||
utilruntime "k8s.io/apimachinery/pkg/util/runtime"
|
utilruntime "k8s.io/apimachinery/pkg/util/runtime"
|
||||||
utilconfig "k8s.io/kubernetes/pkg/util/config"
|
utilflag "k8s.io/kubernetes/pkg/util/flag"
|
||||||
"k8s.io/kubernetes/pkg/util/httpstream"
|
"k8s.io/kubernetes/pkg/util/httpstream"
|
||||||
"k8s.io/kubernetes/pkg/util/proxy"
|
"k8s.io/kubernetes/pkg/util/proxy"
|
||||||
|
|
||||||
|
@ -145,7 +145,7 @@ func (h *UpgradeAwareProxyHandler) tryUpgrade(w http.ResponseWriter, req *http.R
|
||||||
rawResponse []byte
|
rawResponse []byte
|
||||||
err error
|
err error
|
||||||
)
|
)
|
||||||
if h.InterceptRedirects && utilconfig.DefaultFeatureGate.StreamingProxyRedirects() {
|
if h.InterceptRedirects && utilflag.DefaultFeatureGate.StreamingProxyRedirects() {
|
||||||
backendConn, rawResponse, err = h.connectBackendWithRedirects(req)
|
backendConn, rawResponse, err = h.connectBackendWithRedirects(req)
|
||||||
} else {
|
} else {
|
||||||
backendConn, err = h.connectBackend(req.Method, h.Location, req.Header, req.Body)
|
backendConn, err = h.connectBackend(req.Method, h.Location, req.Header, req.Body)
|
||||||
|
|
|
@ -25,7 +25,7 @@ import (
|
||||||
"k8s.io/apimachinery/pkg/runtime/schema"
|
"k8s.io/apimachinery/pkg/runtime/schema"
|
||||||
"k8s.io/apiserver/pkg/admission"
|
"k8s.io/apiserver/pkg/admission"
|
||||||
"k8s.io/kubernetes/pkg/api"
|
"k8s.io/kubernetes/pkg/api"
|
||||||
"k8s.io/kubernetes/pkg/util/config"
|
utilflag "k8s.io/kubernetes/pkg/util/flag"
|
||||||
|
|
||||||
"github.com/spf13/pflag"
|
"github.com/spf13/pflag"
|
||||||
)
|
)
|
||||||
|
@ -52,7 +52,7 @@ type ServerRunOptions struct {
|
||||||
MaxRequestsInFlight int
|
MaxRequestsInFlight int
|
||||||
MaxMutatingRequestsInFlight int
|
MaxMutatingRequestsInFlight int
|
||||||
MinRequestTimeout int
|
MinRequestTimeout int
|
||||||
RuntimeConfig config.ConfigurationMap
|
RuntimeConfig utilflag.ConfigurationMap
|
||||||
StorageVersions string
|
StorageVersions string
|
||||||
// The default values for StorageVersions. StorageVersions overrides
|
// The default values for StorageVersions. StorageVersions overrides
|
||||||
// these; you can change this if you want to change the defaults (e.g.,
|
// these; you can change this if you want to change the defaults (e.g.,
|
||||||
|
@ -75,7 +75,7 @@ func NewServerRunOptions() *ServerRunOptions {
|
||||||
MaxRequestsInFlight: 400,
|
MaxRequestsInFlight: 400,
|
||||||
MaxMutatingRequestsInFlight: 200,
|
MaxMutatingRequestsInFlight: 200,
|
||||||
MinRequestTimeout: 1800,
|
MinRequestTimeout: 1800,
|
||||||
RuntimeConfig: make(config.ConfigurationMap),
|
RuntimeConfig: make(utilflag.ConfigurationMap),
|
||||||
StorageVersions: api.Registry.AllPreferredGroupVersions(),
|
StorageVersions: api.Registry.AllPreferredGroupVersions(),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -264,5 +264,5 @@ func (s *ServerRunOptions) AddUniversalFlags(fs *pflag.FlagSet) {
|
||||||
"The individual override format: resource#size, where size is a number. It takes effect "+
|
"The individual override format: resource#size, where size is a number. It takes effect "+
|
||||||
"when watch-cache is enabled.")
|
"when watch-cache is enabled.")
|
||||||
|
|
||||||
config.DefaultFeatureGate.AddFlag(fs)
|
utilflag.DefaultFeatureGate.AddFlag(fs)
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,7 +26,7 @@ import (
|
||||||
|
|
||||||
utilnet "k8s.io/apimachinery/pkg/util/net"
|
utilnet "k8s.io/apimachinery/pkg/util/net"
|
||||||
certutil "k8s.io/client-go/util/cert"
|
certutil "k8s.io/client-go/util/cert"
|
||||||
"k8s.io/kubernetes/pkg/util/config"
|
utilflag "k8s.io/kubernetes/pkg/util/flag"
|
||||||
)
|
)
|
||||||
|
|
||||||
type ServingOptions struct {
|
type ServingOptions struct {
|
||||||
|
@ -40,7 +40,7 @@ type SecureServingOptions struct {
|
||||||
// ServerCert is the TLS cert info for serving secure traffic
|
// ServerCert is the TLS cert info for serving secure traffic
|
||||||
ServerCert GeneratableKeyCert
|
ServerCert GeneratableKeyCert
|
||||||
// SNICertKeys are named CertKeys for serving secure traffic with SNI support.
|
// SNICertKeys are named CertKeys for serving secure traffic with SNI support.
|
||||||
SNICertKeys []config.NamedCertKey
|
SNICertKeys []utilflag.NamedCertKey
|
||||||
}
|
}
|
||||||
|
|
||||||
type CertKey struct {
|
type CertKey struct {
|
||||||
|
@ -114,7 +114,7 @@ func (s *SecureServingOptions) AddFlags(fs *pflag.FlagSet) {
|
||||||
"Controllers. This must be a valid PEM-encoded CA bundle. Altneratively, the certificate authority "+
|
"Controllers. This must be a valid PEM-encoded CA bundle. Altneratively, the certificate authority "+
|
||||||
"can be appended to the certificate provided by --tls-cert-file.")
|
"can be appended to the certificate provided by --tls-cert-file.")
|
||||||
|
|
||||||
fs.Var(config.NewNamedCertKeyArray(&s.SNICertKeys), "tls-sni-cert-key", ""+
|
fs.Var(utilflag.NewNamedCertKeyArray(&s.SNICertKeys), "tls-sni-cert-key", ""+
|
||||||
"A pair of x509 certificate and private key file paths, optionally suffixed with a list of "+
|
"A pair of x509 certificate and private key file paths, optionally suffixed with a list of "+
|
||||||
"domain patterns which are fully qualified domain names, possibly with prefixed wildcard "+
|
"domain patterns which are fully qualified domain names, possibly with prefixed wildcard "+
|
||||||
"segments. If no domain patterns are provided, the names of the certificate are "+
|
"segments. If no domain patterns are provided, the names of the certificate are "+
|
||||||
|
|
|
@ -26,7 +26,7 @@ import (
|
||||||
"k8s.io/kubernetes/pkg/api"
|
"k8s.io/kubernetes/pkg/api"
|
||||||
genericapiserver "k8s.io/kubernetes/pkg/genericapiserver/server"
|
genericapiserver "k8s.io/kubernetes/pkg/genericapiserver/server"
|
||||||
"k8s.io/kubernetes/pkg/storage/storagebackend"
|
"k8s.io/kubernetes/pkg/storage/storagebackend"
|
||||||
"k8s.io/kubernetes/pkg/util/config"
|
utilflag "k8s.io/kubernetes/pkg/util/flag"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Builds the DefaultStorageFactory.
|
// Builds the DefaultStorageFactory.
|
||||||
|
@ -34,7 +34,7 @@ import (
|
||||||
// defaultAPIResourceConfig with the corresponding user specified overrides as well.
|
// defaultAPIResourceConfig with the corresponding user specified overrides as well.
|
||||||
func BuildDefaultStorageFactory(storageConfig storagebackend.Config, defaultMediaType string, serializer runtime.StorageSerializer,
|
func BuildDefaultStorageFactory(storageConfig storagebackend.Config, defaultMediaType string, serializer runtime.StorageSerializer,
|
||||||
defaultResourceEncoding *genericapiserver.DefaultResourceEncodingConfig, storageEncodingOverrides map[string]schema.GroupVersion, resourceEncodingOverrides []schema.GroupVersionResource,
|
defaultResourceEncoding *genericapiserver.DefaultResourceEncodingConfig, storageEncodingOverrides map[string]schema.GroupVersion, resourceEncodingOverrides []schema.GroupVersionResource,
|
||||||
defaultAPIResourceConfig *genericapiserver.ResourceConfig, resourceConfigOverrides config.ConfigurationMap) (*genericapiserver.DefaultStorageFactory, error) {
|
defaultAPIResourceConfig *genericapiserver.ResourceConfig, resourceConfigOverrides utilflag.ConfigurationMap) (*genericapiserver.DefaultStorageFactory, error) {
|
||||||
|
|
||||||
resourceEncodingConfig := mergeGroupEncodingConfigs(defaultResourceEncoding, storageEncodingOverrides)
|
resourceEncodingConfig := mergeGroupEncodingConfigs(defaultResourceEncoding, storageEncodingOverrides)
|
||||||
resourceEncodingConfig = mergeResourceEncodingConfigs(resourceEncodingConfig, resourceEncodingOverrides)
|
resourceEncodingConfig = mergeResourceEncodingConfigs(resourceEncodingConfig, resourceEncodingOverrides)
|
||||||
|
@ -65,7 +65,7 @@ func mergeGroupEncodingConfigs(defaultResourceEncoding *genericapiserver.Default
|
||||||
}
|
}
|
||||||
|
|
||||||
// Merges the given defaultAPIResourceConfig with the given resourceConfigOverrides.
|
// Merges the given defaultAPIResourceConfig with the given resourceConfigOverrides.
|
||||||
func mergeAPIResourceConfigs(defaultAPIResourceConfig *genericapiserver.ResourceConfig, resourceConfigOverrides config.ConfigurationMap) (*genericapiserver.ResourceConfig, error) {
|
func mergeAPIResourceConfigs(defaultAPIResourceConfig *genericapiserver.ResourceConfig, resourceConfigOverrides utilflag.ConfigurationMap) (*genericapiserver.ResourceConfig, error) {
|
||||||
resourceConfig := defaultAPIResourceConfig
|
resourceConfig := defaultAPIResourceConfig
|
||||||
overrides := resourceConfigOverrides
|
overrides := resourceConfigOverrides
|
||||||
|
|
||||||
|
@ -164,7 +164,7 @@ func mergeAPIResourceConfigs(defaultAPIResourceConfig *genericapiserver.Resource
|
||||||
return resourceConfig, nil
|
return resourceConfig, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func getRuntimeConfigValue(overrides config.ConfigurationMap, apiKey string, defaultValue bool) (bool, error) {
|
func getRuntimeConfigValue(overrides utilflag.ConfigurationMap, apiKey string, defaultValue bool) (bool, error) {
|
||||||
flagValue, ok := overrides[apiKey]
|
flagValue, ok := overrides[apiKey]
|
||||||
if ok {
|
if ok {
|
||||||
if flagValue == "" {
|
if flagValue == "" {
|
||||||
|
|
|
@ -88,9 +88,9 @@ import (
|
||||||
"k8s.io/kubernetes/pkg/kubelet/volumemanager"
|
"k8s.io/kubernetes/pkg/kubelet/volumemanager"
|
||||||
"k8s.io/kubernetes/pkg/security/apparmor"
|
"k8s.io/kubernetes/pkg/security/apparmor"
|
||||||
"k8s.io/kubernetes/pkg/util/bandwidth"
|
"k8s.io/kubernetes/pkg/util/bandwidth"
|
||||||
utilconfig "k8s.io/kubernetes/pkg/util/config"
|
|
||||||
utildbus "k8s.io/kubernetes/pkg/util/dbus"
|
utildbus "k8s.io/kubernetes/pkg/util/dbus"
|
||||||
utilexec "k8s.io/kubernetes/pkg/util/exec"
|
utilexec "k8s.io/kubernetes/pkg/util/exec"
|
||||||
|
utilflag "k8s.io/kubernetes/pkg/util/flag"
|
||||||
kubeio "k8s.io/kubernetes/pkg/util/io"
|
kubeio "k8s.io/kubernetes/pkg/util/io"
|
||||||
utilipt "k8s.io/kubernetes/pkg/util/iptables"
|
utilipt "k8s.io/kubernetes/pkg/util/iptables"
|
||||||
"k8s.io/kubernetes/pkg/util/mount"
|
"k8s.io/kubernetes/pkg/util/mount"
|
||||||
|
@ -474,7 +474,7 @@ func NewMainKubelet(kubeCfg *componentconfig.KubeletConfiguration, kubeDeps *Kub
|
||||||
makeIPTablesUtilChains: kubeCfg.MakeIPTablesUtilChains,
|
makeIPTablesUtilChains: kubeCfg.MakeIPTablesUtilChains,
|
||||||
iptablesMasqueradeBit: int(kubeCfg.IPTablesMasqueradeBit),
|
iptablesMasqueradeBit: int(kubeCfg.IPTablesMasqueradeBit),
|
||||||
iptablesDropBit: int(kubeCfg.IPTablesDropBit),
|
iptablesDropBit: int(kubeCfg.IPTablesDropBit),
|
||||||
experimentalHostUserNamespaceDefaulting: utilconfig.DefaultFeatureGate.ExperimentalHostUserNamespaceDefaulting(),
|
experimentalHostUserNamespaceDefaulting: utilflag.DefaultFeatureGate.ExperimentalHostUserNamespaceDefaulting(),
|
||||||
}
|
}
|
||||||
|
|
||||||
if klet.experimentalHostUserNamespaceDefaulting {
|
if klet.experimentalHostUserNamespaceDefaulting {
|
||||||
|
@ -2144,7 +2144,7 @@ func isSyncPodWorthy(event *pleg.PodLifecycleEvent) bool {
|
||||||
|
|
||||||
// parseResourceList parses the given configuration map into an API
|
// parseResourceList parses the given configuration map into an API
|
||||||
// ResourceList or returns an error.
|
// ResourceList or returns an error.
|
||||||
func parseResourceList(m utilconfig.ConfigurationMap) (v1.ResourceList, error) {
|
func parseResourceList(m utilflag.ConfigurationMap) (v1.ResourceList, error) {
|
||||||
rl := make(v1.ResourceList)
|
rl := make(v1.ResourceList)
|
||||||
for k, v := range m {
|
for k, v := range m {
|
||||||
switch v1.ResourceName(k) {
|
switch v1.ResourceName(k) {
|
||||||
|
@ -2168,7 +2168,7 @@ func parseResourceList(m utilconfig.ConfigurationMap) (v1.ResourceList, error) {
|
||||||
// ParseReservation parses the given kubelet- and system- reservations
|
// ParseReservation parses the given kubelet- and system- reservations
|
||||||
// configuration maps into an internal Reservation instance or returns an
|
// configuration maps into an internal Reservation instance or returns an
|
||||||
// error.
|
// error.
|
||||||
func ParseReservation(kubeReserved, systemReserved utilconfig.ConfigurationMap) (*kubetypes.Reservation, error) {
|
func ParseReservation(kubeReserved, systemReserved utilflag.ConfigurationMap) (*kubetypes.Reservation, error) {
|
||||||
reservation := new(kubetypes.Reservation)
|
reservation := new(kubetypes.Reservation)
|
||||||
if rl, err := parseResourceList(kubeReserved); err != nil {
|
if rl, err := parseResourceList(kubeReserved); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
|
|
|
@ -43,8 +43,8 @@ import (
|
||||||
"k8s.io/kubernetes/pkg/client/record"
|
"k8s.io/kubernetes/pkg/client/record"
|
||||||
"k8s.io/kubernetes/pkg/proxy"
|
"k8s.io/kubernetes/pkg/proxy"
|
||||||
"k8s.io/kubernetes/pkg/proxy/healthcheck"
|
"k8s.io/kubernetes/pkg/proxy/healthcheck"
|
||||||
featuregate "k8s.io/kubernetes/pkg/util/config"
|
|
||||||
utilexec "k8s.io/kubernetes/pkg/util/exec"
|
utilexec "k8s.io/kubernetes/pkg/util/exec"
|
||||||
|
utilflag "k8s.io/kubernetes/pkg/util/flag"
|
||||||
utiliptables "k8s.io/kubernetes/pkg/util/iptables"
|
utiliptables "k8s.io/kubernetes/pkg/util/iptables"
|
||||||
"k8s.io/kubernetes/pkg/util/slice"
|
"k8s.io/kubernetes/pkg/util/slice"
|
||||||
utilsysctl "k8s.io/kubernetes/pkg/util/sysctl"
|
utilsysctl "k8s.io/kubernetes/pkg/util/sysctl"
|
||||||
|
@ -154,7 +154,7 @@ type endpointsInfo struct {
|
||||||
|
|
||||||
// returns a new serviceInfo struct
|
// returns a new serviceInfo struct
|
||||||
func newServiceInfo(serviceName proxy.ServicePortName, port *api.ServicePort, service *api.Service) *serviceInfo {
|
func newServiceInfo(serviceName proxy.ServicePortName, port *api.ServicePort, service *api.Service) *serviceInfo {
|
||||||
onlyNodeLocalEndpoints := apiservice.NeedsHealthCheck(service) && featuregate.DefaultFeatureGate.ExternalTrafficLocalOnly() && (service.Spec.Type == api.ServiceTypeLoadBalancer || service.Spec.Type == api.ServiceTypeNodePort)
|
onlyNodeLocalEndpoints := apiservice.NeedsHealthCheck(service) && utilflag.DefaultFeatureGate.ExternalTrafficLocalOnly() && (service.Spec.Type == api.ServiceTypeLoadBalancer || service.Spec.Type == api.ServiceTypeNodePort)
|
||||||
info := &serviceInfo{
|
info := &serviceInfo{
|
||||||
clusterIP: net.ParseIP(service.Spec.ClusterIP),
|
clusterIP: net.ParseIP(service.Spec.ClusterIP),
|
||||||
port: int(port.Port),
|
port: int(port.Port),
|
||||||
|
@ -606,7 +606,7 @@ func (proxier *Proxier) OnEndpointsUpdate(allEndpoints []api.Endpoints) {
|
||||||
var isLocalEndpoint bool
|
var isLocalEndpoint bool
|
||||||
if addr.NodeName != nil {
|
if addr.NodeName != nil {
|
||||||
isLocalEndpoint = *addr.NodeName == proxier.hostname
|
isLocalEndpoint = *addr.NodeName == proxier.hostname
|
||||||
isLocalEndpoint = featuregate.DefaultFeatureGate.ExternalTrafficLocalOnly() && isLocalEndpoint
|
isLocalEndpoint = utilflag.DefaultFeatureGate.ExternalTrafficLocalOnly() && isLocalEndpoint
|
||||||
}
|
}
|
||||||
hostPortObject := hostPortInfo{
|
hostPortObject := hostPortInfo{
|
||||||
host: addr.IP,
|
host: addr.IP,
|
||||||
|
|
|
@ -41,7 +41,7 @@ import (
|
||||||
"k8s.io/kubernetes/pkg/registry/core/endpoint"
|
"k8s.io/kubernetes/pkg/registry/core/endpoint"
|
||||||
"k8s.io/kubernetes/pkg/registry/core/service/ipallocator"
|
"k8s.io/kubernetes/pkg/registry/core/service/ipallocator"
|
||||||
"k8s.io/kubernetes/pkg/registry/core/service/portallocator"
|
"k8s.io/kubernetes/pkg/registry/core/service/portallocator"
|
||||||
featuregate "k8s.io/kubernetes/pkg/util/config"
|
utilflag "k8s.io/kubernetes/pkg/util/flag"
|
||||||
)
|
)
|
||||||
|
|
||||||
// ServiceRest includes storage for services and all sub resources
|
// ServiceRest includes storage for services and all sub resources
|
||||||
|
@ -565,7 +565,7 @@ func shouldAssignNodePorts(service *api.Service) bool {
|
||||||
func shouldCheckOrAssignHealthCheckNodePort(service *api.Service) bool {
|
func shouldCheckOrAssignHealthCheckNodePort(service *api.Service) bool {
|
||||||
if service.Spec.Type == api.ServiceTypeLoadBalancer {
|
if service.Spec.Type == api.ServiceTypeLoadBalancer {
|
||||||
// True if Service-type == LoadBalancer AND annotation AnnotationExternalTraffic present
|
// True if Service-type == LoadBalancer AND annotation AnnotationExternalTraffic present
|
||||||
return (featuregate.DefaultFeatureGate.ExternalTrafficLocalOnly() && apiservice.NeedsHealthCheck(service))
|
return (utilflag.DefaultFeatureGate.ExternalTrafficLocalOnly() && apiservice.NeedsHealthCheck(service))
|
||||||
}
|
}
|
||||||
glog.V(4).Infof("Service type: %v does not need health check node port", service.Spec.Type)
|
glog.V(4).Infof("Service type: %v does not need health check node port", service.Spec.Type)
|
||||||
return false
|
return false
|
||||||
|
|
|
@ -32,12 +32,12 @@ import (
|
||||||
"k8s.io/kubernetes/pkg/registry/core/service/ipallocator"
|
"k8s.io/kubernetes/pkg/registry/core/service/ipallocator"
|
||||||
"k8s.io/kubernetes/pkg/registry/core/service/portallocator"
|
"k8s.io/kubernetes/pkg/registry/core/service/portallocator"
|
||||||
"k8s.io/kubernetes/pkg/registry/registrytest"
|
"k8s.io/kubernetes/pkg/registry/registrytest"
|
||||||
featuregate "k8s.io/kubernetes/pkg/util/config"
|
utilflag "k8s.io/kubernetes/pkg/util/flag"
|
||||||
"k8s.io/kubernetes/pkg/util/intstr"
|
"k8s.io/kubernetes/pkg/util/intstr"
|
||||||
)
|
)
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
featuregate.DefaultFeatureGate.Set("AllowExtTrafficLocalEndpoints=true")
|
utilflag.DefaultFeatureGate.Set("AllowExtTrafficLocalEndpoints=true")
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO(wojtek-t): Cleanup this file.
|
// TODO(wojtek-t): Cleanup this file.
|
||||||
|
|
|
@ -27,7 +27,7 @@ import (
|
||||||
|
|
||||||
"k8s.io/kubernetes/pkg/api/v1"
|
"k8s.io/kubernetes/pkg/api/v1"
|
||||||
"k8s.io/kubernetes/pkg/util"
|
"k8s.io/kubernetes/pkg/util"
|
||||||
utilconfig "k8s.io/kubernetes/pkg/util/config"
|
utilflag "k8s.io/kubernetes/pkg/util/flag"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Whether AppArmor should be disabled by default.
|
// Whether AppArmor should be disabled by default.
|
||||||
|
@ -95,7 +95,7 @@ func (v *validator) ValidateHost() error {
|
||||||
// Verify that the host and runtime is capable of enforcing AppArmor profiles.
|
// Verify that the host and runtime is capable of enforcing AppArmor profiles.
|
||||||
func validateHost(runtime string) error {
|
func validateHost(runtime string) error {
|
||||||
// Check feature-gates
|
// Check feature-gates
|
||||||
if !utilconfig.DefaultFeatureGate.AppArmor() {
|
if !utilflag.DefaultFeatureGate.AppArmor() {
|
||||||
return errors.New("AppArmor disabled by feature-gate")
|
return errors.New("AppArmor disabled by feature-gate")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
|
||||||
limitations under the License.
|
limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package config
|
package flag
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
|
@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
|
||||||
limitations under the License.
|
limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package config
|
package flag
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
|
@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
|
||||||
limitations under the License.
|
limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package config
|
package flag
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
|
@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
|
||||||
limitations under the License.
|
limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package config
|
package flag
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"errors"
|
"errors"
|
|
@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
|
||||||
limitations under the License.
|
limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package config
|
package flag
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
|
@ -22,7 +22,7 @@ import (
|
||||||
"k8s.io/kubernetes/pkg/apis/componentconfig"
|
"k8s.io/kubernetes/pkg/apis/componentconfig"
|
||||||
"k8s.io/kubernetes/pkg/apis/componentconfig/v1alpha1"
|
"k8s.io/kubernetes/pkg/apis/componentconfig/v1alpha1"
|
||||||
"k8s.io/kubernetes/pkg/client/leaderelection"
|
"k8s.io/kubernetes/pkg/client/leaderelection"
|
||||||
"k8s.io/kubernetes/pkg/util/config"
|
utilflag "k8s.io/kubernetes/pkg/util/flag"
|
||||||
"k8s.io/kubernetes/plugin/pkg/scheduler/factory"
|
"k8s.io/kubernetes/plugin/pkg/scheduler/factory"
|
||||||
|
|
||||||
"github.com/spf13/pflag"
|
"github.com/spf13/pflag"
|
||||||
|
@ -72,5 +72,5 @@ func (s *SchedulerServer) AddFlags(fs *pflag.FlagSet) {
|
||||||
"to every RequiredDuringScheduling affinity rule. --hard-pod-affinity-symmetric-weight represents the weight of implicit PreferredDuringScheduling affinity rule.")
|
"to every RequiredDuringScheduling affinity rule. --hard-pod-affinity-symmetric-weight represents the weight of implicit PreferredDuringScheduling affinity rule.")
|
||||||
fs.StringVar(&s.FailureDomains, "failure-domains", api.DefaultFailureDomains, "Indicate the \"all topologies\" set for an empty topologyKey when it's used for PreferredDuringScheduling pod anti-affinity.")
|
fs.StringVar(&s.FailureDomains, "failure-domains", api.DefaultFailureDomains, "Indicate the \"all topologies\" set for an empty topologyKey when it's used for PreferredDuringScheduling pod anti-affinity.")
|
||||||
leaderelection.BindFlags(&s.LeaderElection, fs)
|
leaderelection.BindFlags(&s.LeaderElection, fs)
|
||||||
config.DefaultFeatureGate.AddFlag(fs)
|
utilflag.DefaultFeatureGate.AddFlag(fs)
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,7 +26,7 @@ import (
|
||||||
"github.com/golang/glog"
|
"github.com/golang/glog"
|
||||||
"github.com/kardianos/osext"
|
"github.com/kardianos/osext"
|
||||||
|
|
||||||
utilconfig "k8s.io/kubernetes/pkg/util/config"
|
utilflag "k8s.io/kubernetes/pkg/util/flag"
|
||||||
"k8s.io/kubernetes/test/e2e/framework"
|
"k8s.io/kubernetes/test/e2e/framework"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -119,7 +119,7 @@ func (e *E2EServices) Stop() {
|
||||||
func RunE2EServices() {
|
func RunE2EServices() {
|
||||||
// Populate global DefaultFeatureGate with value from TestContext.FeatureGates.
|
// Populate global DefaultFeatureGate with value from TestContext.FeatureGates.
|
||||||
// This way, statically-linked components see the same feature gate config as the test context.
|
// This way, statically-linked components see the same feature gate config as the test context.
|
||||||
utilconfig.DefaultFeatureGate.Set(framework.TestContext.FeatureGates)
|
utilflag.DefaultFeatureGate.Set(framework.TestContext.FeatureGates)
|
||||||
e := newE2EServices()
|
e := newE2EServices()
|
||||||
if err := e.run(); err != nil {
|
if err := e.run(); err != nil {
|
||||||
glog.Fatalf("Failed to run e2e services: %v", err)
|
glog.Fatalf("Failed to run e2e services: %v", err)
|
||||||
|
|
Loading…
Reference in New Issue