diff --git a/cmd/kube-controller-manager/app/controllermanager.go b/cmd/kube-controller-manager/app/controllermanager.go index 067c061cc5a..6f196340bb7 100644 --- a/cmd/kube-controller-manager/app/controllermanager.go +++ b/cmd/kube-controller-manager/app/controllermanager.go @@ -299,7 +299,7 @@ func StartControllers(s *options.CMServer, kubeClient *client.Client, kubeconfig if containsResource(resources, "daemonsets") { glog.Infof("Starting daemon set controller") - go daemon.NewDaemonSetsController(clientset.NewForConfigOrDie(restclient.AddUserAgent(kubeconfig, "daemon-set-controller")), ResyncPeriod(s)). + go daemon.NewDaemonSetsController(clientset.NewForConfigOrDie(restclient.AddUserAgent(kubeconfig, "daemon-set-controller")), ResyncPeriod(s), s.LookupCacheSizeForDaemonSet). Run(s.ConcurrentDaemonSetSyncs, wait.NeverStop) } diff --git a/cmd/kube-controller-manager/app/options/options.go b/cmd/kube-controller-manager/app/options/options.go index bf6492e244b..446663cf1a4 100644 --- a/cmd/kube-controller-manager/app/options/options.go +++ b/cmd/kube-controller-manager/app/options/options.go @@ -55,6 +55,7 @@ func NewCMServer() *CMServer { ConcurrentNamespaceSyncs: 2, LookupCacheSizeForRC: 4096, LookupCacheSizeForRS: 4096, + LookupCacheSizeForDaemonSet: 1024, ServiceSyncPeriod: unversioned.Duration{5 * time.Minute}, NodeSyncPeriod: unversioned.Duration{10 * time.Second}, ResourceQuotaSyncPeriod: unversioned.Duration{5 * time.Minute}, @@ -102,6 +103,7 @@ func (s *CMServer) AddFlags(fs *pflag.FlagSet) { fs.IntVar(&s.ConcurrentNamespaceSyncs, "concurrent-namespace-syncs", s.ConcurrentNamespaceSyncs, "The number of namespace objects that are allowed to sync concurrently. Larger number = more responsive namespace termination, but more CPU (and network) load") fs.IntVar(&s.LookupCacheSizeForRC, "replication-controller-lookup-cache-size", s.LookupCacheSizeForRC, "The the size of lookup cache for replication controllers. Larger number = more responsive replica management, but more MEM load.") fs.IntVar(&s.LookupCacheSizeForRS, "replicaset-lookup-cache-size", s.LookupCacheSizeForRS, "The the size of lookup cache for replicatsets. Larger number = more responsive replica management, but more MEM load.") + fs.IntVar(&s.LookupCacheSizeForDaemonSet, "daemonset-lookup-cache-size", s.LookupCacheSizeForDaemonSet, "The the size of lookup cache for daemonsets. Larger number = more responsive daemonsets, but more MEM load.") fs.DurationVar(&s.ServiceSyncPeriod.Duration, "service-sync-period", s.ServiceSyncPeriod.Duration, "The period for syncing services with their external load balancers") fs.DurationVar(&s.NodeSyncPeriod.Duration, "node-sync-period", s.NodeSyncPeriod.Duration, ""+ "The period for syncing nodes from cloudprovider. Longer periods will result in "+ diff --git a/contrib/mesos/pkg/controllermanager/controllermanager.go b/contrib/mesos/pkg/controllermanager/controllermanager.go index e698e72565b..48b1616bc6d 100644 --- a/contrib/mesos/pkg/controllermanager/controllermanager.go +++ b/contrib/mesos/pkg/controllermanager/controllermanager.go @@ -246,7 +246,7 @@ func (s *CMServer) Run(_ []string) error { if containsResource(resources, "daemonsets") { glog.Infof("Starting daemon set controller") - go daemon.NewDaemonSetsController(clientset.NewForConfigOrDie(restclient.AddUserAgent(kubeconfig, "daemon-set-controller")), s.resyncPeriod). + go daemon.NewDaemonSetsController(clientset.NewForConfigOrDie(restclient.AddUserAgent(kubeconfig, "daemon-set-controller")), s.resyncPeriod, s.LookupCacheSizeForDaemonSet). Run(s.ConcurrentDaemonSetSyncs, wait.NeverStop) } diff --git a/docs/admin/kube-controller-manager.md b/docs/admin/kube-controller-manager.md index 4afd1f4f525..42a7324dd98 100644 --- a/docs/admin/kube-controller-manager.md +++ b/docs/admin/kube-controller-manager.md @@ -67,6 +67,7 @@ kube-controller-manager --concurrent-replicaset-syncs=5: The number of replica sets that are allowed to sync concurrently. Larger number = more responsive replica management, but more CPU (and network) load --concurrent-resource-quota-syncs=5: The number of resource quotas that are allowed to sync concurrently. Larger number = more responsive quota management, but more CPU (and network) load --concurrent_rc_syncs=5: The number of replication controllers that are allowed to sync concurrently. Larger number = more responsive replica management, but more CPU (and network) load + --daemonset-lookup-cache-size=1024: The the size of lookup cache for daemonsets. Larger number = more responsive daemonsets, but more MEM load. --deleting-pods-burst=10: Number of nodes on which pods are bursty deleted in case of node failure. For more details look into RateLimiter. --deleting-pods-qps=0.1: Number of nodes per second on which pods are deleted in case of node failure. --deployment-controller-sync-period=30s: Period for syncing the deployments. @@ -107,7 +108,7 @@ kube-controller-manager --terminated-pod-gc-threshold=12500: Number of terminated pods that can exist before the terminated pod garbage collector starts deleting terminated pods. If <= 0, the terminated pod garbage collector is disabled. ``` -###### Auto generated by spf13/cobra on 25-Feb-2016 +###### Auto generated by spf13/cobra on 29-Feb-2016 diff --git a/hack/verify-flags/known-flags.txt b/hack/verify-flags/known-flags.txt index 7e9285b0863..cbfd33f46a9 100644 --- a/hack/verify-flags/known-flags.txt +++ b/hack/verify-flags/known-flags.txt @@ -68,6 +68,7 @@ cpu-percent create-external-load-balancer current-release-pr current-replicas +daemonset-lookup-cache-size default-container-cpu-limit default-container-mem-limit delay-shutdown diff --git a/pkg/apis/componentconfig/types.generated.go b/pkg/apis/componentconfig/types.generated.go index 2f85e9d55b0..f3f54626b3e 100644 --- a/pkg/apis/componentconfig/types.generated.go +++ b/pkg/apis/componentconfig/types.generated.go @@ -5720,16 +5720,16 @@ func (x *KubeControllerManagerConfiguration) CodecEncodeSelf(e *codec1978.Encode } else { yysep2 := !z.EncBinary() yy2arr2 := z.EncBasicHandle().StructToArray - var yyq2 [42]bool + var yyq2 [43]bool _, _, _ = yysep2, yyq2, yy2arr2 const yyr2 bool = false - yyq2[40] = x.Kind != "" - yyq2[41] = x.APIVersion != "" + yyq2[41] = x.Kind != "" + yyq2[42] = x.APIVersion != "" var yynn2 int if yyr2 || yy2arr2 { - r.EncodeArrayStart(42) + r.EncodeArrayStart(43) } else { - yynn2 = 40 + yynn2 = 41 for _, b := range yyq2 { if b { yynn2++ @@ -6006,34 +6006,40 @@ func (x *KubeControllerManagerConfiguration) CodecEncodeSelf(e *codec1978.Encode } if yyr2 || yy2arr2 { z.EncSendContainerState(codecSelfer_containerArrayElem1234) - yy46 := &x.ServiceSyncPeriod + yym46 := z.EncBinary() + _ = yym46 + if false { + } else { + r.EncodeInt(int64(x.LookupCacheSizeForDaemonSet)) + } + } else { + z.EncSendContainerState(codecSelfer_containerMapKey1234) + r.EncodeString(codecSelferC_UTF81234, string("lookupCacheSizeForDaemonSet")) + z.EncSendContainerState(codecSelfer_containerMapValue1234) yym47 := z.EncBinary() _ = yym47 if false { - } else if z.HasExtensions() && z.EncExt(yy46) { - } else if !yym47 && z.IsJSONHandle() { - z.EncJSONMarshal(yy46) } else { - z.EncFallback(yy46) + r.EncodeInt(int64(x.LookupCacheSizeForDaemonSet)) + } + } + if yyr2 || yy2arr2 { + z.EncSendContainerState(codecSelfer_containerArrayElem1234) + yy49 := &x.ServiceSyncPeriod + yym50 := z.EncBinary() + _ = yym50 + if false { + } else if z.HasExtensions() && z.EncExt(yy49) { + } else if !yym50 && z.IsJSONHandle() { + z.EncJSONMarshal(yy49) + } else { + z.EncFallback(yy49) } } else { z.EncSendContainerState(codecSelfer_containerMapKey1234) r.EncodeString(codecSelferC_UTF81234, string("serviceSyncPeriod")) z.EncSendContainerState(codecSelfer_containerMapValue1234) - yy48 := &x.ServiceSyncPeriod - yym49 := z.EncBinary() - _ = yym49 - if false { - } else if z.HasExtensions() && z.EncExt(yy48) { - } else if !yym49 && z.IsJSONHandle() { - z.EncJSONMarshal(yy48) - } else { - z.EncFallback(yy48) - } - } - if yyr2 || yy2arr2 { - z.EncSendContainerState(codecSelfer_containerArrayElem1234) - yy51 := &x.NodeSyncPeriod + yy51 := &x.ServiceSyncPeriod yym52 := z.EncBinary() _ = yym52 if false { @@ -6043,24 +6049,24 @@ func (x *KubeControllerManagerConfiguration) CodecEncodeSelf(e *codec1978.Encode } else { z.EncFallback(yy51) } + } + if yyr2 || yy2arr2 { + z.EncSendContainerState(codecSelfer_containerArrayElem1234) + yy54 := &x.NodeSyncPeriod + yym55 := z.EncBinary() + _ = yym55 + if false { + } else if z.HasExtensions() && z.EncExt(yy54) { + } else if !yym55 && z.IsJSONHandle() { + z.EncJSONMarshal(yy54) + } else { + z.EncFallback(yy54) + } } else { z.EncSendContainerState(codecSelfer_containerMapKey1234) r.EncodeString(codecSelferC_UTF81234, string("nodeSyncPeriod")) z.EncSendContainerState(codecSelfer_containerMapValue1234) - yy53 := &x.NodeSyncPeriod - yym54 := z.EncBinary() - _ = yym54 - if false { - } else if z.HasExtensions() && z.EncExt(yy53) { - } else if !yym54 && z.IsJSONHandle() { - z.EncJSONMarshal(yy53) - } else { - z.EncFallback(yy53) - } - } - if yyr2 || yy2arr2 { - z.EncSendContainerState(codecSelfer_containerArrayElem1234) - yy56 := &x.ResourceQuotaSyncPeriod + yy56 := &x.NodeSyncPeriod yym57 := z.EncBinary() _ = yym57 if false { @@ -6070,24 +6076,24 @@ func (x *KubeControllerManagerConfiguration) CodecEncodeSelf(e *codec1978.Encode } else { z.EncFallback(yy56) } + } + if yyr2 || yy2arr2 { + z.EncSendContainerState(codecSelfer_containerArrayElem1234) + yy59 := &x.ResourceQuotaSyncPeriod + yym60 := z.EncBinary() + _ = yym60 + if false { + } else if z.HasExtensions() && z.EncExt(yy59) { + } else if !yym60 && z.IsJSONHandle() { + z.EncJSONMarshal(yy59) + } else { + z.EncFallback(yy59) + } } else { z.EncSendContainerState(codecSelfer_containerMapKey1234) r.EncodeString(codecSelferC_UTF81234, string("resourceQuotaSyncPeriod")) z.EncSendContainerState(codecSelfer_containerMapValue1234) - yy58 := &x.ResourceQuotaSyncPeriod - yym59 := z.EncBinary() - _ = yym59 - if false { - } else if z.HasExtensions() && z.EncExt(yy58) { - } else if !yym59 && z.IsJSONHandle() { - z.EncJSONMarshal(yy58) - } else { - z.EncFallback(yy58) - } - } - if yyr2 || yy2arr2 { - z.EncSendContainerState(codecSelfer_containerArrayElem1234) - yy61 := &x.NamespaceSyncPeriod + yy61 := &x.ResourceQuotaSyncPeriod yym62 := z.EncBinary() _ = yym62 if false { @@ -6097,24 +6103,24 @@ func (x *KubeControllerManagerConfiguration) CodecEncodeSelf(e *codec1978.Encode } else { z.EncFallback(yy61) } + } + if yyr2 || yy2arr2 { + z.EncSendContainerState(codecSelfer_containerArrayElem1234) + yy64 := &x.NamespaceSyncPeriod + yym65 := z.EncBinary() + _ = yym65 + if false { + } else if z.HasExtensions() && z.EncExt(yy64) { + } else if !yym65 && z.IsJSONHandle() { + z.EncJSONMarshal(yy64) + } else { + z.EncFallback(yy64) + } } else { z.EncSendContainerState(codecSelfer_containerMapKey1234) r.EncodeString(codecSelferC_UTF81234, string("namespaceSyncPeriod")) z.EncSendContainerState(codecSelfer_containerMapValue1234) - yy63 := &x.NamespaceSyncPeriod - yym64 := z.EncBinary() - _ = yym64 - if false { - } else if z.HasExtensions() && z.EncExt(yy63) { - } else if !yym64 && z.IsJSONHandle() { - z.EncJSONMarshal(yy63) - } else { - z.EncFallback(yy63) - } - } - if yyr2 || yy2arr2 { - z.EncSendContainerState(codecSelfer_containerArrayElem1234) - yy66 := &x.PVClaimBinderSyncPeriod + yy66 := &x.NamespaceSyncPeriod yym67 := z.EncBinary() _ = yym67 if false { @@ -6124,24 +6130,24 @@ func (x *KubeControllerManagerConfiguration) CodecEncodeSelf(e *codec1978.Encode } else { z.EncFallback(yy66) } + } + if yyr2 || yy2arr2 { + z.EncSendContainerState(codecSelfer_containerArrayElem1234) + yy69 := &x.PVClaimBinderSyncPeriod + yym70 := z.EncBinary() + _ = yym70 + if false { + } else if z.HasExtensions() && z.EncExt(yy69) { + } else if !yym70 && z.IsJSONHandle() { + z.EncJSONMarshal(yy69) + } else { + z.EncFallback(yy69) + } } else { z.EncSendContainerState(codecSelfer_containerMapKey1234) r.EncodeString(codecSelferC_UTF81234, string("pvClaimBinderSyncPeriod")) z.EncSendContainerState(codecSelfer_containerMapValue1234) - yy68 := &x.PVClaimBinderSyncPeriod - yym69 := z.EncBinary() - _ = yym69 - if false { - } else if z.HasExtensions() && z.EncExt(yy68) { - } else if !yym69 && z.IsJSONHandle() { - z.EncJSONMarshal(yy68) - } else { - z.EncFallback(yy68) - } - } - if yyr2 || yy2arr2 { - z.EncSendContainerState(codecSelfer_containerArrayElem1234) - yy71 := &x.MinResyncPeriod + yy71 := &x.PVClaimBinderSyncPeriod yym72 := z.EncBinary() _ = yym72 if false { @@ -6151,25 +6157,38 @@ func (x *KubeControllerManagerConfiguration) CodecEncodeSelf(e *codec1978.Encode } else { z.EncFallback(yy71) } + } + if yyr2 || yy2arr2 { + z.EncSendContainerState(codecSelfer_containerArrayElem1234) + yy74 := &x.MinResyncPeriod + yym75 := z.EncBinary() + _ = yym75 + if false { + } else if z.HasExtensions() && z.EncExt(yy74) { + } else if !yym75 && z.IsJSONHandle() { + z.EncJSONMarshal(yy74) + } else { + z.EncFallback(yy74) + } } else { z.EncSendContainerState(codecSelfer_containerMapKey1234) r.EncodeString(codecSelferC_UTF81234, string("minResyncPeriod")) z.EncSendContainerState(codecSelfer_containerMapValue1234) - yy73 := &x.MinResyncPeriod - yym74 := z.EncBinary() - _ = yym74 + yy76 := &x.MinResyncPeriod + yym77 := z.EncBinary() + _ = yym77 if false { - } else if z.HasExtensions() && z.EncExt(yy73) { - } else if !yym74 && z.IsJSONHandle() { - z.EncJSONMarshal(yy73) + } else if z.HasExtensions() && z.EncExt(yy76) { + } else if !yym77 && z.IsJSONHandle() { + z.EncJSONMarshal(yy76) } else { - z.EncFallback(yy73) + z.EncFallback(yy76) } } if yyr2 || yy2arr2 { z.EncSendContainerState(codecSelfer_containerArrayElem1234) - yym76 := z.EncBinary() - _ = yym76 + yym79 := z.EncBinary() + _ = yym79 if false { } else { r.EncodeInt(int64(x.TerminatedPodGCThreshold)) @@ -6178,8 +6197,8 @@ func (x *KubeControllerManagerConfiguration) CodecEncodeSelf(e *codec1978.Encode z.EncSendContainerState(codecSelfer_containerMapKey1234) r.EncodeString(codecSelferC_UTF81234, string("terminatedPodGCThreshold")) z.EncSendContainerState(codecSelfer_containerMapValue1234) - yym77 := z.EncBinary() - _ = yym77 + yym80 := z.EncBinary() + _ = yym80 if false { } else { r.EncodeInt(int64(x.TerminatedPodGCThreshold)) @@ -6187,34 +6206,21 @@ func (x *KubeControllerManagerConfiguration) CodecEncodeSelf(e *codec1978.Encode } if yyr2 || yy2arr2 { z.EncSendContainerState(codecSelfer_containerArrayElem1234) - yy79 := &x.HorizontalPodAutoscalerSyncPeriod - yym80 := z.EncBinary() - _ = yym80 + yy82 := &x.HorizontalPodAutoscalerSyncPeriod + yym83 := z.EncBinary() + _ = yym83 if false { - } else if z.HasExtensions() && z.EncExt(yy79) { - } else if !yym80 && z.IsJSONHandle() { - z.EncJSONMarshal(yy79) + } else if z.HasExtensions() && z.EncExt(yy82) { + } else if !yym83 && z.IsJSONHandle() { + z.EncJSONMarshal(yy82) } else { - z.EncFallback(yy79) + z.EncFallback(yy82) } } else { z.EncSendContainerState(codecSelfer_containerMapKey1234) r.EncodeString(codecSelferC_UTF81234, string("horizontalPodAutoscalerSyncPeriod")) z.EncSendContainerState(codecSelfer_containerMapValue1234) - yy81 := &x.HorizontalPodAutoscalerSyncPeriod - yym82 := z.EncBinary() - _ = yym82 - if false { - } else if z.HasExtensions() && z.EncExt(yy81) { - } else if !yym82 && z.IsJSONHandle() { - z.EncJSONMarshal(yy81) - } else { - z.EncFallback(yy81) - } - } - if yyr2 || yy2arr2 { - z.EncSendContainerState(codecSelfer_containerArrayElem1234) - yy84 := &x.DeploymentControllerSyncPeriod + yy84 := &x.HorizontalPodAutoscalerSyncPeriod yym85 := z.EncBinary() _ = yym85 if false { @@ -6224,24 +6230,24 @@ func (x *KubeControllerManagerConfiguration) CodecEncodeSelf(e *codec1978.Encode } else { z.EncFallback(yy84) } + } + if yyr2 || yy2arr2 { + z.EncSendContainerState(codecSelfer_containerArrayElem1234) + yy87 := &x.DeploymentControllerSyncPeriod + yym88 := z.EncBinary() + _ = yym88 + if false { + } else if z.HasExtensions() && z.EncExt(yy87) { + } else if !yym88 && z.IsJSONHandle() { + z.EncJSONMarshal(yy87) + } else { + z.EncFallback(yy87) + } } else { z.EncSendContainerState(codecSelfer_containerMapKey1234) r.EncodeString(codecSelferC_UTF81234, string("deploymentControllerSyncPeriod")) z.EncSendContainerState(codecSelfer_containerMapValue1234) - yy86 := &x.DeploymentControllerSyncPeriod - yym87 := z.EncBinary() - _ = yym87 - if false { - } else if z.HasExtensions() && z.EncExt(yy86) { - } else if !yym87 && z.IsJSONHandle() { - z.EncJSONMarshal(yy86) - } else { - z.EncFallback(yy86) - } - } - if yyr2 || yy2arr2 { - z.EncSendContainerState(codecSelfer_containerArrayElem1234) - yy89 := &x.PodEvictionTimeout + yy89 := &x.DeploymentControllerSyncPeriod yym90 := z.EncBinary() _ = yym90 if false { @@ -6251,38 +6257,32 @@ func (x *KubeControllerManagerConfiguration) CodecEncodeSelf(e *codec1978.Encode } else { z.EncFallback(yy89) } + } + if yyr2 || yy2arr2 { + z.EncSendContainerState(codecSelfer_containerArrayElem1234) + yy92 := &x.PodEvictionTimeout + yym93 := z.EncBinary() + _ = yym93 + if false { + } else if z.HasExtensions() && z.EncExt(yy92) { + } else if !yym93 && z.IsJSONHandle() { + z.EncJSONMarshal(yy92) + } else { + z.EncFallback(yy92) + } } else { z.EncSendContainerState(codecSelfer_containerMapKey1234) r.EncodeString(codecSelferC_UTF81234, string("podEvictionTimeout")) z.EncSendContainerState(codecSelfer_containerMapValue1234) - yy91 := &x.PodEvictionTimeout - yym92 := z.EncBinary() - _ = yym92 - if false { - } else if z.HasExtensions() && z.EncExt(yy91) { - } else if !yym92 && z.IsJSONHandle() { - z.EncJSONMarshal(yy91) - } else { - z.EncFallback(yy91) - } - } - if yyr2 || yy2arr2 { - z.EncSendContainerState(codecSelfer_containerArrayElem1234) - yym94 := z.EncBinary() - _ = yym94 - if false { - } else { - r.EncodeFloat32(float32(x.DeletingPodsQps)) - } - } else { - z.EncSendContainerState(codecSelfer_containerMapKey1234) - r.EncodeString(codecSelferC_UTF81234, string("deletingPodsQps")) - z.EncSendContainerState(codecSelfer_containerMapValue1234) + yy94 := &x.PodEvictionTimeout yym95 := z.EncBinary() _ = yym95 if false { + } else if z.HasExtensions() && z.EncExt(yy94) { + } else if !yym95 && z.IsJSONHandle() { + z.EncJSONMarshal(yy94) } else { - r.EncodeFloat32(float32(x.DeletingPodsQps)) + z.EncFallback(yy94) } } if yyr2 || yy2arr2 { @@ -6290,6 +6290,25 @@ func (x *KubeControllerManagerConfiguration) CodecEncodeSelf(e *codec1978.Encode yym97 := z.EncBinary() _ = yym97 if false { + } else { + r.EncodeFloat32(float32(x.DeletingPodsQps)) + } + } else { + z.EncSendContainerState(codecSelfer_containerMapKey1234) + r.EncodeString(codecSelferC_UTF81234, string("deletingPodsQps")) + z.EncSendContainerState(codecSelfer_containerMapValue1234) + yym98 := z.EncBinary() + _ = yym98 + if false { + } else { + r.EncodeFloat32(float32(x.DeletingPodsQps)) + } + } + if yyr2 || yy2arr2 { + z.EncSendContainerState(codecSelfer_containerArrayElem1234) + yym100 := z.EncBinary() + _ = yym100 + if false { } else { r.EncodeInt(int64(x.DeletingPodsBurst)) } @@ -6297,8 +6316,8 @@ func (x *KubeControllerManagerConfiguration) CodecEncodeSelf(e *codec1978.Encode z.EncSendContainerState(codecSelfer_containerMapKey1234) r.EncodeString(codecSelferC_UTF81234, string("deletingPodsBurst")) z.EncSendContainerState(codecSelfer_containerMapValue1234) - yym98 := z.EncBinary() - _ = yym98 + yym101 := z.EncBinary() + _ = yym101 if false { } else { r.EncodeInt(int64(x.DeletingPodsBurst)) @@ -6306,35 +6325,35 @@ func (x *KubeControllerManagerConfiguration) CodecEncodeSelf(e *codec1978.Encode } if yyr2 || yy2arr2 { z.EncSendContainerState(codecSelfer_containerArrayElem1234) - yy100 := &x.NodeMonitorGracePeriod - yym101 := z.EncBinary() - _ = yym101 + yy103 := &x.NodeMonitorGracePeriod + yym104 := z.EncBinary() + _ = yym104 if false { - } else if z.HasExtensions() && z.EncExt(yy100) { - } else if !yym101 && z.IsJSONHandle() { - z.EncJSONMarshal(yy100) + } else if z.HasExtensions() && z.EncExt(yy103) { + } else if !yym104 && z.IsJSONHandle() { + z.EncJSONMarshal(yy103) } else { - z.EncFallback(yy100) + z.EncFallback(yy103) } } else { z.EncSendContainerState(codecSelfer_containerMapKey1234) r.EncodeString(codecSelferC_UTF81234, string("nodeMonitorGracePeriod")) z.EncSendContainerState(codecSelfer_containerMapValue1234) - yy102 := &x.NodeMonitorGracePeriod - yym103 := z.EncBinary() - _ = yym103 + yy105 := &x.NodeMonitorGracePeriod + yym106 := z.EncBinary() + _ = yym106 if false { - } else if z.HasExtensions() && z.EncExt(yy102) { - } else if !yym103 && z.IsJSONHandle() { - z.EncJSONMarshal(yy102) + } else if z.HasExtensions() && z.EncExt(yy105) { + } else if !yym106 && z.IsJSONHandle() { + z.EncJSONMarshal(yy105) } else { - z.EncFallback(yy102) + z.EncFallback(yy105) } } if yyr2 || yy2arr2 { z.EncSendContainerState(codecSelfer_containerArrayElem1234) - yym105 := z.EncBinary() - _ = yym105 + yym108 := z.EncBinary() + _ = yym108 if false { } else { r.EncodeInt(int64(x.RegisterRetryCount)) @@ -6343,8 +6362,8 @@ func (x *KubeControllerManagerConfiguration) CodecEncodeSelf(e *codec1978.Encode z.EncSendContainerState(codecSelfer_containerMapKey1234) r.EncodeString(codecSelferC_UTF81234, string("registerRetryCount")) z.EncSendContainerState(codecSelfer_containerMapValue1234) - yym106 := z.EncBinary() - _ = yym106 + yym109 := z.EncBinary() + _ = yym109 if false { } else { r.EncodeInt(int64(x.RegisterRetryCount)) @@ -6352,34 +6371,21 @@ func (x *KubeControllerManagerConfiguration) CodecEncodeSelf(e *codec1978.Encode } if yyr2 || yy2arr2 { z.EncSendContainerState(codecSelfer_containerArrayElem1234) - yy108 := &x.NodeStartupGracePeriod - yym109 := z.EncBinary() - _ = yym109 + yy111 := &x.NodeStartupGracePeriod + yym112 := z.EncBinary() + _ = yym112 if false { - } else if z.HasExtensions() && z.EncExt(yy108) { - } else if !yym109 && z.IsJSONHandle() { - z.EncJSONMarshal(yy108) + } else if z.HasExtensions() && z.EncExt(yy111) { + } else if !yym112 && z.IsJSONHandle() { + z.EncJSONMarshal(yy111) } else { - z.EncFallback(yy108) + z.EncFallback(yy111) } } else { z.EncSendContainerState(codecSelfer_containerMapKey1234) r.EncodeString(codecSelferC_UTF81234, string("nodeStartupGracePeriod")) z.EncSendContainerState(codecSelfer_containerMapValue1234) - yy110 := &x.NodeStartupGracePeriod - yym111 := z.EncBinary() - _ = yym111 - if false { - } else if z.HasExtensions() && z.EncExt(yy110) { - } else if !yym111 && z.IsJSONHandle() { - z.EncJSONMarshal(yy110) - } else { - z.EncFallback(yy110) - } - } - if yyr2 || yy2arr2 { - z.EncSendContainerState(codecSelfer_containerArrayElem1234) - yy113 := &x.NodeMonitorPeriod + yy113 := &x.NodeStartupGracePeriod yym114 := z.EncBinary() _ = yym114 if false { @@ -6389,38 +6395,32 @@ func (x *KubeControllerManagerConfiguration) CodecEncodeSelf(e *codec1978.Encode } else { z.EncFallback(yy113) } + } + if yyr2 || yy2arr2 { + z.EncSendContainerState(codecSelfer_containerArrayElem1234) + yy116 := &x.NodeMonitorPeriod + yym117 := z.EncBinary() + _ = yym117 + if false { + } else if z.HasExtensions() && z.EncExt(yy116) { + } else if !yym117 && z.IsJSONHandle() { + z.EncJSONMarshal(yy116) + } else { + z.EncFallback(yy116) + } } else { z.EncSendContainerState(codecSelfer_containerMapKey1234) r.EncodeString(codecSelferC_UTF81234, string("nodeMonitorPeriod")) z.EncSendContainerState(codecSelfer_containerMapValue1234) - yy115 := &x.NodeMonitorPeriod - yym116 := z.EncBinary() - _ = yym116 - if false { - } else if z.HasExtensions() && z.EncExt(yy115) { - } else if !yym116 && z.IsJSONHandle() { - z.EncJSONMarshal(yy115) - } else { - z.EncFallback(yy115) - } - } - if yyr2 || yy2arr2 { - z.EncSendContainerState(codecSelfer_containerArrayElem1234) - yym118 := z.EncBinary() - _ = yym118 - if false { - } else { - r.EncodeString(codecSelferC_UTF81234, string(x.ServiceAccountKeyFile)) - } - } else { - z.EncSendContainerState(codecSelfer_containerMapKey1234) - r.EncodeString(codecSelferC_UTF81234, string("serviceAccountKeyFile")) - z.EncSendContainerState(codecSelfer_containerMapValue1234) + yy118 := &x.NodeMonitorPeriod yym119 := z.EncBinary() _ = yym119 if false { + } else if z.HasExtensions() && z.EncExt(yy118) { + } else if !yym119 && z.IsJSONHandle() { + z.EncJSONMarshal(yy118) } else { - r.EncodeString(codecSelferC_UTF81234, string(x.ServiceAccountKeyFile)) + z.EncFallback(yy118) } } if yyr2 || yy2arr2 { @@ -6429,17 +6429,17 @@ func (x *KubeControllerManagerConfiguration) CodecEncodeSelf(e *codec1978.Encode _ = yym121 if false { } else { - r.EncodeBool(bool(x.EnableProfiling)) + r.EncodeString(codecSelferC_UTF81234, string(x.ServiceAccountKeyFile)) } } else { z.EncSendContainerState(codecSelfer_containerMapKey1234) - r.EncodeString(codecSelferC_UTF81234, string("enableProfiling")) + r.EncodeString(codecSelferC_UTF81234, string("serviceAccountKeyFile")) z.EncSendContainerState(codecSelfer_containerMapValue1234) yym122 := z.EncBinary() _ = yym122 if false { } else { - r.EncodeBool(bool(x.EnableProfiling)) + r.EncodeString(codecSelferC_UTF81234, string(x.ServiceAccountKeyFile)) } } if yyr2 || yy2arr2 { @@ -6448,17 +6448,17 @@ func (x *KubeControllerManagerConfiguration) CodecEncodeSelf(e *codec1978.Encode _ = yym124 if false { } else { - r.EncodeString(codecSelferC_UTF81234, string(x.ClusterName)) + r.EncodeBool(bool(x.EnableProfiling)) } } else { z.EncSendContainerState(codecSelfer_containerMapKey1234) - r.EncodeString(codecSelferC_UTF81234, string("clusterName")) + r.EncodeString(codecSelferC_UTF81234, string("enableProfiling")) z.EncSendContainerState(codecSelfer_containerMapValue1234) yym125 := z.EncBinary() _ = yym125 if false { } else { - r.EncodeString(codecSelferC_UTF81234, string(x.ClusterName)) + r.EncodeBool(bool(x.EnableProfiling)) } } if yyr2 || yy2arr2 { @@ -6467,17 +6467,17 @@ func (x *KubeControllerManagerConfiguration) CodecEncodeSelf(e *codec1978.Encode _ = yym127 if false { } else { - r.EncodeString(codecSelferC_UTF81234, string(x.ClusterCIDR)) + r.EncodeString(codecSelferC_UTF81234, string(x.ClusterName)) } } else { z.EncSendContainerState(codecSelfer_containerMapKey1234) - r.EncodeString(codecSelferC_UTF81234, string("clusterCIDR")) + r.EncodeString(codecSelferC_UTF81234, string("clusterName")) z.EncSendContainerState(codecSelfer_containerMapValue1234) yym128 := z.EncBinary() _ = yym128 if false { } else { - r.EncodeString(codecSelferC_UTF81234, string(x.ClusterCIDR)) + r.EncodeString(codecSelferC_UTF81234, string(x.ClusterName)) } } if yyr2 || yy2arr2 { @@ -6486,17 +6486,17 @@ func (x *KubeControllerManagerConfiguration) CodecEncodeSelf(e *codec1978.Encode _ = yym130 if false { } else { - r.EncodeBool(bool(x.AllocateNodeCIDRs)) + r.EncodeString(codecSelferC_UTF81234, string(x.ClusterCIDR)) } } else { z.EncSendContainerState(codecSelfer_containerMapKey1234) - r.EncodeString(codecSelferC_UTF81234, string("allocateNodeCIDRs")) + r.EncodeString(codecSelferC_UTF81234, string("clusterCIDR")) z.EncSendContainerState(codecSelfer_containerMapValue1234) yym131 := z.EncBinary() _ = yym131 if false { } else { - r.EncodeBool(bool(x.AllocateNodeCIDRs)) + r.EncodeString(codecSelferC_UTF81234, string(x.ClusterCIDR)) } } if yyr2 || yy2arr2 { @@ -6505,17 +6505,17 @@ func (x *KubeControllerManagerConfiguration) CodecEncodeSelf(e *codec1978.Encode _ = yym133 if false { } else { - r.EncodeString(codecSelferC_UTF81234, string(x.RootCAFile)) + r.EncodeBool(bool(x.AllocateNodeCIDRs)) } } else { z.EncSendContainerState(codecSelfer_containerMapKey1234) - r.EncodeString(codecSelferC_UTF81234, string("rootCAFile")) + r.EncodeString(codecSelferC_UTF81234, string("allocateNodeCIDRs")) z.EncSendContainerState(codecSelfer_containerMapValue1234) yym134 := z.EncBinary() _ = yym134 if false { } else { - r.EncodeString(codecSelferC_UTF81234, string(x.RootCAFile)) + r.EncodeBool(bool(x.AllocateNodeCIDRs)) } } if yyr2 || yy2arr2 { @@ -6524,17 +6524,17 @@ func (x *KubeControllerManagerConfiguration) CodecEncodeSelf(e *codec1978.Encode _ = yym136 if false { } else { - r.EncodeFloat32(float32(x.KubeAPIQPS)) + r.EncodeString(codecSelferC_UTF81234, string(x.RootCAFile)) } } else { z.EncSendContainerState(codecSelfer_containerMapKey1234) - r.EncodeString(codecSelferC_UTF81234, string("kubeAPIQPS")) + r.EncodeString(codecSelferC_UTF81234, string("rootCAFile")) z.EncSendContainerState(codecSelfer_containerMapValue1234) yym137 := z.EncBinary() _ = yym137 if false { } else { - r.EncodeFloat32(float32(x.KubeAPIQPS)) + r.EncodeString(codecSelferC_UTF81234, string(x.RootCAFile)) } } if yyr2 || yy2arr2 { @@ -6542,6 +6542,25 @@ func (x *KubeControllerManagerConfiguration) CodecEncodeSelf(e *codec1978.Encode yym139 := z.EncBinary() _ = yym139 if false { + } else { + r.EncodeFloat32(float32(x.KubeAPIQPS)) + } + } else { + z.EncSendContainerState(codecSelfer_containerMapKey1234) + r.EncodeString(codecSelferC_UTF81234, string("kubeAPIQPS")) + z.EncSendContainerState(codecSelfer_containerMapValue1234) + yym140 := z.EncBinary() + _ = yym140 + if false { + } else { + r.EncodeFloat32(float32(x.KubeAPIQPS)) + } + } + if yyr2 || yy2arr2 { + z.EncSendContainerState(codecSelfer_containerArrayElem1234) + yym142 := z.EncBinary() + _ = yym142 + if false { } else { r.EncodeInt(int64(x.KubeAPIBurst)) } @@ -6549,8 +6568,8 @@ func (x *KubeControllerManagerConfiguration) CodecEncodeSelf(e *codec1978.Encode z.EncSendContainerState(codecSelfer_containerMapKey1234) r.EncodeString(codecSelferC_UTF81234, string("kubeAPIBurst")) z.EncSendContainerState(codecSelfer_containerMapValue1234) - yym140 := z.EncBinary() - _ = yym140 + yym143 := z.EncBinary() + _ = yym143 if false { } else { r.EncodeInt(int64(x.KubeAPIBurst)) @@ -6558,50 +6577,25 @@ func (x *KubeControllerManagerConfiguration) CodecEncodeSelf(e *codec1978.Encode } if yyr2 || yy2arr2 { z.EncSendContainerState(codecSelfer_containerArrayElem1234) - yy142 := &x.LeaderElection - yy142.CodecEncodeSelf(e) + yy145 := &x.LeaderElection + yy145.CodecEncodeSelf(e) } else { z.EncSendContainerState(codecSelfer_containerMapKey1234) r.EncodeString(codecSelferC_UTF81234, string("leaderElection")) z.EncSendContainerState(codecSelfer_containerMapValue1234) - yy144 := &x.LeaderElection - yy144.CodecEncodeSelf(e) + yy147 := &x.LeaderElection + yy147.CodecEncodeSelf(e) } if yyr2 || yy2arr2 { z.EncSendContainerState(codecSelfer_containerArrayElem1234) - yy147 := &x.VolumeConfiguration - yy147.CodecEncodeSelf(e) + yy150 := &x.VolumeConfiguration + yy150.CodecEncodeSelf(e) } else { z.EncSendContainerState(codecSelfer_containerMapKey1234) r.EncodeString(codecSelferC_UTF81234, string("volumeConfiguration")) z.EncSendContainerState(codecSelfer_containerMapValue1234) - yy149 := &x.VolumeConfiguration - yy149.CodecEncodeSelf(e) - } - if yyr2 || yy2arr2 { - z.EncSendContainerState(codecSelfer_containerArrayElem1234) - if yyq2[40] { - yym152 := z.EncBinary() - _ = yym152 - if false { - } else { - r.EncodeString(codecSelferC_UTF81234, string(x.Kind)) - } - } else { - r.EncodeString(codecSelferC_UTF81234, "") - } - } else { - if yyq2[40] { - z.EncSendContainerState(codecSelfer_containerMapKey1234) - r.EncodeString(codecSelferC_UTF81234, string("kind")) - z.EncSendContainerState(codecSelfer_containerMapValue1234) - yym153 := z.EncBinary() - _ = yym153 - if false { - } else { - r.EncodeString(codecSelferC_UTF81234, string(x.Kind)) - } - } + yy152 := &x.VolumeConfiguration + yy152.CodecEncodeSelf(e) } if yyr2 || yy2arr2 { z.EncSendContainerState(codecSelfer_containerArrayElem1234) @@ -6610,7 +6604,7 @@ func (x *KubeControllerManagerConfiguration) CodecEncodeSelf(e *codec1978.Encode _ = yym155 if false { } else { - r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion)) + r.EncodeString(codecSelferC_UTF81234, string(x.Kind)) } } else { r.EncodeString(codecSelferC_UTF81234, "") @@ -6618,11 +6612,36 @@ func (x *KubeControllerManagerConfiguration) CodecEncodeSelf(e *codec1978.Encode } else { if yyq2[41] { z.EncSendContainerState(codecSelfer_containerMapKey1234) - r.EncodeString(codecSelferC_UTF81234, string("apiVersion")) + r.EncodeString(codecSelferC_UTF81234, string("kind")) z.EncSendContainerState(codecSelfer_containerMapValue1234) yym156 := z.EncBinary() _ = yym156 if false { + } else { + r.EncodeString(codecSelferC_UTF81234, string(x.Kind)) + } + } + } + if yyr2 || yy2arr2 { + z.EncSendContainerState(codecSelfer_containerArrayElem1234) + if yyq2[42] { + yym158 := z.EncBinary() + _ = yym158 + if false { + } else { + r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion)) + } + } else { + r.EncodeString(codecSelferC_UTF81234, "") + } + } else { + if yyq2[42] { + z.EncSendContainerState(codecSelfer_containerMapKey1234) + r.EncodeString(codecSelferC_UTF81234, string("apiVersion")) + z.EncSendContainerState(codecSelfer_containerMapValue1234) + yym159 := z.EncBinary() + _ = yym159 + if false { } else { r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion)) } @@ -6773,94 +6792,100 @@ func (x *KubeControllerManagerConfiguration) codecDecodeSelfFromMap(l int, d *co } else { x.LookupCacheSizeForRS = int(r.DecodeInt(codecSelferBitsize1234)) } + case "lookupCacheSizeForDaemonSet": + if r.TryDecodeAsNil() { + x.LookupCacheSizeForDaemonSet = 0 + } else { + x.LookupCacheSizeForDaemonSet = int(r.DecodeInt(codecSelferBitsize1234)) + } case "serviceSyncPeriod": if r.TryDecodeAsNil() { x.ServiceSyncPeriod = pkg1_unversioned.Duration{} } else { - yyv18 := &x.ServiceSyncPeriod - yym19 := z.DecBinary() - _ = yym19 + yyv19 := &x.ServiceSyncPeriod + yym20 := z.DecBinary() + _ = yym20 if false { - } else if z.HasExtensions() && z.DecExt(yyv18) { - } else if !yym19 && z.IsJSONHandle() { - z.DecJSONUnmarshal(yyv18) + } else if z.HasExtensions() && z.DecExt(yyv19) { + } else if !yym20 && z.IsJSONHandle() { + z.DecJSONUnmarshal(yyv19) } else { - z.DecFallback(yyv18, false) + z.DecFallback(yyv19, false) } } case "nodeSyncPeriod": if r.TryDecodeAsNil() { x.NodeSyncPeriod = pkg1_unversioned.Duration{} } else { - yyv20 := &x.NodeSyncPeriod - yym21 := z.DecBinary() - _ = yym21 + yyv21 := &x.NodeSyncPeriod + yym22 := z.DecBinary() + _ = yym22 if false { - } else if z.HasExtensions() && z.DecExt(yyv20) { - } else if !yym21 && z.IsJSONHandle() { - z.DecJSONUnmarshal(yyv20) + } else if z.HasExtensions() && z.DecExt(yyv21) { + } else if !yym22 && z.IsJSONHandle() { + z.DecJSONUnmarshal(yyv21) } else { - z.DecFallback(yyv20, false) + z.DecFallback(yyv21, false) } } case "resourceQuotaSyncPeriod": if r.TryDecodeAsNil() { x.ResourceQuotaSyncPeriod = pkg1_unversioned.Duration{} } else { - yyv22 := &x.ResourceQuotaSyncPeriod - yym23 := z.DecBinary() - _ = yym23 + yyv23 := &x.ResourceQuotaSyncPeriod + yym24 := z.DecBinary() + _ = yym24 if false { - } else if z.HasExtensions() && z.DecExt(yyv22) { - } else if !yym23 && z.IsJSONHandle() { - z.DecJSONUnmarshal(yyv22) + } else if z.HasExtensions() && z.DecExt(yyv23) { + } else if !yym24 && z.IsJSONHandle() { + z.DecJSONUnmarshal(yyv23) } else { - z.DecFallback(yyv22, false) + z.DecFallback(yyv23, false) } } case "namespaceSyncPeriod": if r.TryDecodeAsNil() { x.NamespaceSyncPeriod = pkg1_unversioned.Duration{} } else { - yyv24 := &x.NamespaceSyncPeriod - yym25 := z.DecBinary() - _ = yym25 + yyv25 := &x.NamespaceSyncPeriod + yym26 := z.DecBinary() + _ = yym26 if false { - } else if z.HasExtensions() && z.DecExt(yyv24) { - } else if !yym25 && z.IsJSONHandle() { - z.DecJSONUnmarshal(yyv24) + } else if z.HasExtensions() && z.DecExt(yyv25) { + } else if !yym26 && z.IsJSONHandle() { + z.DecJSONUnmarshal(yyv25) } else { - z.DecFallback(yyv24, false) + z.DecFallback(yyv25, false) } } case "pvClaimBinderSyncPeriod": if r.TryDecodeAsNil() { x.PVClaimBinderSyncPeriod = pkg1_unversioned.Duration{} } else { - yyv26 := &x.PVClaimBinderSyncPeriod - yym27 := z.DecBinary() - _ = yym27 + yyv27 := &x.PVClaimBinderSyncPeriod + yym28 := z.DecBinary() + _ = yym28 if false { - } else if z.HasExtensions() && z.DecExt(yyv26) { - } else if !yym27 && z.IsJSONHandle() { - z.DecJSONUnmarshal(yyv26) + } else if z.HasExtensions() && z.DecExt(yyv27) { + } else if !yym28 && z.IsJSONHandle() { + z.DecJSONUnmarshal(yyv27) } else { - z.DecFallback(yyv26, false) + z.DecFallback(yyv27, false) } } case "minResyncPeriod": if r.TryDecodeAsNil() { x.MinResyncPeriod = pkg1_unversioned.Duration{} } else { - yyv28 := &x.MinResyncPeriod - yym29 := z.DecBinary() - _ = yym29 + yyv29 := &x.MinResyncPeriod + yym30 := z.DecBinary() + _ = yym30 if false { - } else if z.HasExtensions() && z.DecExt(yyv28) { - } else if !yym29 && z.IsJSONHandle() { - z.DecJSONUnmarshal(yyv28) + } else if z.HasExtensions() && z.DecExt(yyv29) { + } else if !yym30 && z.IsJSONHandle() { + z.DecJSONUnmarshal(yyv29) } else { - z.DecFallback(yyv28, false) + z.DecFallback(yyv29, false) } } case "terminatedPodGCThreshold": @@ -6873,45 +6898,45 @@ func (x *KubeControllerManagerConfiguration) codecDecodeSelfFromMap(l int, d *co if r.TryDecodeAsNil() { x.HorizontalPodAutoscalerSyncPeriod = pkg1_unversioned.Duration{} } else { - yyv31 := &x.HorizontalPodAutoscalerSyncPeriod - yym32 := z.DecBinary() - _ = yym32 + yyv32 := &x.HorizontalPodAutoscalerSyncPeriod + yym33 := z.DecBinary() + _ = yym33 if false { - } else if z.HasExtensions() && z.DecExt(yyv31) { - } else if !yym32 && z.IsJSONHandle() { - z.DecJSONUnmarshal(yyv31) + } else if z.HasExtensions() && z.DecExt(yyv32) { + } else if !yym33 && z.IsJSONHandle() { + z.DecJSONUnmarshal(yyv32) } else { - z.DecFallback(yyv31, false) + z.DecFallback(yyv32, false) } } case "deploymentControllerSyncPeriod": if r.TryDecodeAsNil() { x.DeploymentControllerSyncPeriod = pkg1_unversioned.Duration{} } else { - yyv33 := &x.DeploymentControllerSyncPeriod - yym34 := z.DecBinary() - _ = yym34 + yyv34 := &x.DeploymentControllerSyncPeriod + yym35 := z.DecBinary() + _ = yym35 if false { - } else if z.HasExtensions() && z.DecExt(yyv33) { - } else if !yym34 && z.IsJSONHandle() { - z.DecJSONUnmarshal(yyv33) + } else if z.HasExtensions() && z.DecExt(yyv34) { + } else if !yym35 && z.IsJSONHandle() { + z.DecJSONUnmarshal(yyv34) } else { - z.DecFallback(yyv33, false) + z.DecFallback(yyv34, false) } } case "podEvictionTimeout": if r.TryDecodeAsNil() { x.PodEvictionTimeout = pkg1_unversioned.Duration{} } else { - yyv35 := &x.PodEvictionTimeout - yym36 := z.DecBinary() - _ = yym36 + yyv36 := &x.PodEvictionTimeout + yym37 := z.DecBinary() + _ = yym37 if false { - } else if z.HasExtensions() && z.DecExt(yyv35) { - } else if !yym36 && z.IsJSONHandle() { - z.DecJSONUnmarshal(yyv35) + } else if z.HasExtensions() && z.DecExt(yyv36) { + } else if !yym37 && z.IsJSONHandle() { + z.DecJSONUnmarshal(yyv36) } else { - z.DecFallback(yyv35, false) + z.DecFallback(yyv36, false) } } case "deletingPodsQps": @@ -6930,15 +6955,15 @@ func (x *KubeControllerManagerConfiguration) codecDecodeSelfFromMap(l int, d *co if r.TryDecodeAsNil() { x.NodeMonitorGracePeriod = pkg1_unversioned.Duration{} } else { - yyv39 := &x.NodeMonitorGracePeriod - yym40 := z.DecBinary() - _ = yym40 + yyv40 := &x.NodeMonitorGracePeriod + yym41 := z.DecBinary() + _ = yym41 if false { - } else if z.HasExtensions() && z.DecExt(yyv39) { - } else if !yym40 && z.IsJSONHandle() { - z.DecJSONUnmarshal(yyv39) + } else if z.HasExtensions() && z.DecExt(yyv40) { + } else if !yym41 && z.IsJSONHandle() { + z.DecJSONUnmarshal(yyv40) } else { - z.DecFallback(yyv39, false) + z.DecFallback(yyv40, false) } } case "registerRetryCount": @@ -6951,30 +6976,30 @@ func (x *KubeControllerManagerConfiguration) codecDecodeSelfFromMap(l int, d *co if r.TryDecodeAsNil() { x.NodeStartupGracePeriod = pkg1_unversioned.Duration{} } else { - yyv42 := &x.NodeStartupGracePeriod - yym43 := z.DecBinary() - _ = yym43 + yyv43 := &x.NodeStartupGracePeriod + yym44 := z.DecBinary() + _ = yym44 if false { - } else if z.HasExtensions() && z.DecExt(yyv42) { - } else if !yym43 && z.IsJSONHandle() { - z.DecJSONUnmarshal(yyv42) + } else if z.HasExtensions() && z.DecExt(yyv43) { + } else if !yym44 && z.IsJSONHandle() { + z.DecJSONUnmarshal(yyv43) } else { - z.DecFallback(yyv42, false) + z.DecFallback(yyv43, false) } } case "nodeMonitorPeriod": if r.TryDecodeAsNil() { x.NodeMonitorPeriod = pkg1_unversioned.Duration{} } else { - yyv44 := &x.NodeMonitorPeriod - yym45 := z.DecBinary() - _ = yym45 + yyv45 := &x.NodeMonitorPeriod + yym46 := z.DecBinary() + _ = yym46 if false { - } else if z.HasExtensions() && z.DecExt(yyv44) { - } else if !yym45 && z.IsJSONHandle() { - z.DecJSONUnmarshal(yyv44) + } else if z.HasExtensions() && z.DecExt(yyv45) { + } else if !yym46 && z.IsJSONHandle() { + z.DecJSONUnmarshal(yyv45) } else { - z.DecFallback(yyv44, false) + z.DecFallback(yyv45, false) } } case "serviceAccountKeyFile": @@ -7029,15 +7054,15 @@ func (x *KubeControllerManagerConfiguration) codecDecodeSelfFromMap(l int, d *co if r.TryDecodeAsNil() { x.LeaderElection = LeaderElectionConfiguration{} } else { - yyv54 := &x.LeaderElection - yyv54.CodecDecodeSelf(d) + yyv55 := &x.LeaderElection + yyv55.CodecDecodeSelf(d) } case "volumeConfiguration": if r.TryDecodeAsNil() { x.VolumeConfiguration = VolumeConfiguration{} } else { - yyv55 := &x.VolumeConfiguration - yyv55.CodecDecodeSelf(d) + yyv56 := &x.VolumeConfiguration + yyv56.CodecDecodeSelf(d) } case "kind": if r.TryDecodeAsNil() { @@ -7062,16 +7087,16 @@ func (x *KubeControllerManagerConfiguration) codecDecodeSelfFromArray(l int, d * var h codecSelfer1234 z, r := codec1978.GenHelperDecoder(d) _, _, _ = h, z, r - var yyj58 int - var yyb58 bool - var yyhl58 bool = l >= 0 - yyj58++ - if yyhl58 { - yyb58 = yyj58 > l + var yyj59 int + var yyb59 bool + var yyhl59 bool = l >= 0 + yyj59++ + if yyhl59 { + yyb59 = yyj59 > l } else { - yyb58 = r.CheckBreak() + yyb59 = r.CheckBreak() } - if yyb58 { + if yyb59 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -7081,13 +7106,13 @@ func (x *KubeControllerManagerConfiguration) codecDecodeSelfFromArray(l int, d * } else { x.Port = int(r.DecodeInt(codecSelferBitsize1234)) } - yyj58++ - if yyhl58 { - yyb58 = yyj58 > l + yyj59++ + if yyhl59 { + yyb59 = yyj59 > l } else { - yyb58 = r.CheckBreak() + yyb59 = r.CheckBreak() } - if yyb58 { + if yyb59 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -7097,13 +7122,13 @@ func (x *KubeControllerManagerConfiguration) codecDecodeSelfFromArray(l int, d * } else { x.Address = string(r.DecodeString()) } - yyj58++ - if yyhl58 { - yyb58 = yyj58 > l + yyj59++ + if yyhl59 { + yyb59 = yyj59 > l } else { - yyb58 = r.CheckBreak() + yyb59 = r.CheckBreak() } - if yyb58 { + if yyb59 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -7113,13 +7138,13 @@ func (x *KubeControllerManagerConfiguration) codecDecodeSelfFromArray(l int, d * } else { x.CloudProvider = string(r.DecodeString()) } - yyj58++ - if yyhl58 { - yyb58 = yyj58 > l + yyj59++ + if yyhl59 { + yyb59 = yyj59 > l } else { - yyb58 = r.CheckBreak() + yyb59 = r.CheckBreak() } - if yyb58 { + if yyb59 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -7129,13 +7154,13 @@ func (x *KubeControllerManagerConfiguration) codecDecodeSelfFromArray(l int, d * } else { x.CloudConfigFile = string(r.DecodeString()) } - yyj58++ - if yyhl58 { - yyb58 = yyj58 > l + yyj59++ + if yyhl59 { + yyb59 = yyj59 > l } else { - yyb58 = r.CheckBreak() + yyb59 = r.CheckBreak() } - if yyb58 { + if yyb59 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -7145,13 +7170,13 @@ func (x *KubeControllerManagerConfiguration) codecDecodeSelfFromArray(l int, d * } else { x.ConcurrentEndpointSyncs = int(r.DecodeInt(codecSelferBitsize1234)) } - yyj58++ - if yyhl58 { - yyb58 = yyj58 > l + yyj59++ + if yyhl59 { + yyb59 = yyj59 > l } else { - yyb58 = r.CheckBreak() + yyb59 = r.CheckBreak() } - if yyb58 { + if yyb59 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -7161,13 +7186,13 @@ func (x *KubeControllerManagerConfiguration) codecDecodeSelfFromArray(l int, d * } else { x.ConcurrentRSSyncs = int(r.DecodeInt(codecSelferBitsize1234)) } - yyj58++ - if yyhl58 { - yyb58 = yyj58 > l + yyj59++ + if yyhl59 { + yyb59 = yyj59 > l } else { - yyb58 = r.CheckBreak() + yyb59 = r.CheckBreak() } - if yyb58 { + if yyb59 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -7177,13 +7202,13 @@ func (x *KubeControllerManagerConfiguration) codecDecodeSelfFromArray(l int, d * } else { x.ConcurrentRCSyncs = int(r.DecodeInt(codecSelferBitsize1234)) } - yyj58++ - if yyhl58 { - yyb58 = yyj58 > l + yyj59++ + if yyhl59 { + yyb59 = yyj59 > l } else { - yyb58 = r.CheckBreak() + yyb59 = r.CheckBreak() } - if yyb58 { + if yyb59 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -7193,13 +7218,13 @@ func (x *KubeControllerManagerConfiguration) codecDecodeSelfFromArray(l int, d * } else { x.ConcurrentResourceQuotaSyncs = int(r.DecodeInt(codecSelferBitsize1234)) } - yyj58++ - if yyhl58 { - yyb58 = yyj58 > l + yyj59++ + if yyhl59 { + yyb59 = yyj59 > l } else { - yyb58 = r.CheckBreak() + yyb59 = r.CheckBreak() } - if yyb58 { + if yyb59 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -7209,13 +7234,13 @@ func (x *KubeControllerManagerConfiguration) codecDecodeSelfFromArray(l int, d * } else { x.ConcurrentDeploymentSyncs = int(r.DecodeInt(codecSelferBitsize1234)) } - yyj58++ - if yyhl58 { - yyb58 = yyj58 > l + yyj59++ + if yyhl59 { + yyb59 = yyj59 > l } else { - yyb58 = r.CheckBreak() + yyb59 = r.CheckBreak() } - if yyb58 { + if yyb59 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -7225,13 +7250,13 @@ func (x *KubeControllerManagerConfiguration) codecDecodeSelfFromArray(l int, d * } else { x.ConcurrentDaemonSetSyncs = int(r.DecodeInt(codecSelferBitsize1234)) } - yyj58++ - if yyhl58 { - yyb58 = yyj58 > l + yyj59++ + if yyhl59 { + yyb59 = yyj59 > l } else { - yyb58 = r.CheckBreak() + yyb59 = r.CheckBreak() } - if yyb58 { + if yyb59 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -7241,13 +7266,13 @@ func (x *KubeControllerManagerConfiguration) codecDecodeSelfFromArray(l int, d * } else { x.ConcurrentJobSyncs = int(r.DecodeInt(codecSelferBitsize1234)) } - yyj58++ - if yyhl58 { - yyb58 = yyj58 > l + yyj59++ + if yyhl59 { + yyb59 = yyj59 > l } else { - yyb58 = r.CheckBreak() + yyb59 = r.CheckBreak() } - if yyb58 { + if yyb59 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -7257,13 +7282,13 @@ func (x *KubeControllerManagerConfiguration) codecDecodeSelfFromArray(l int, d * } else { x.ConcurrentNamespaceSyncs = int(r.DecodeInt(codecSelferBitsize1234)) } - yyj58++ - if yyhl58 { - yyb58 = yyj58 > l + yyj59++ + if yyhl59 { + yyb59 = yyj59 > l } else { - yyb58 = r.CheckBreak() + yyb59 = r.CheckBreak() } - if yyb58 { + if yyb59 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -7273,13 +7298,13 @@ func (x *KubeControllerManagerConfiguration) codecDecodeSelfFromArray(l int, d * } else { x.LookupCacheSizeForRC = int(r.DecodeInt(codecSelferBitsize1234)) } - yyj58++ - if yyhl58 { - yyb58 = yyj58 > l + yyj59++ + if yyhl59 { + yyb59 = yyj59 > l } else { - yyb58 = r.CheckBreak() + yyb59 = r.CheckBreak() } - if yyb58 { + if yyb59 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -7289,13 +7314,29 @@ func (x *KubeControllerManagerConfiguration) codecDecodeSelfFromArray(l int, d * } else { x.LookupCacheSizeForRS = int(r.DecodeInt(codecSelferBitsize1234)) } - yyj58++ - if yyhl58 { - yyb58 = yyj58 > l + yyj59++ + if yyhl59 { + yyb59 = yyj59 > l } else { - yyb58 = r.CheckBreak() + yyb59 = r.CheckBreak() } - if yyb58 { + if yyb59 { + z.DecSendContainerState(codecSelfer_containerArrayEnd1234) + return + } + z.DecSendContainerState(codecSelfer_containerArrayElem1234) + if r.TryDecodeAsNil() { + x.LookupCacheSizeForDaemonSet = 0 + } else { + x.LookupCacheSizeForDaemonSet = int(r.DecodeInt(codecSelferBitsize1234)) + } + yyj59++ + if yyhl59 { + yyb59 = yyj59 > l + } else { + yyb59 = r.CheckBreak() + } + if yyb59 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -7303,32 +7344,7 @@ func (x *KubeControllerManagerConfiguration) codecDecodeSelfFromArray(l int, d * if r.TryDecodeAsNil() { x.ServiceSyncPeriod = pkg1_unversioned.Duration{} } else { - yyv73 := &x.ServiceSyncPeriod - yym74 := z.DecBinary() - _ = yym74 - if false { - } else if z.HasExtensions() && z.DecExt(yyv73) { - } else if !yym74 && z.IsJSONHandle() { - z.DecJSONUnmarshal(yyv73) - } else { - z.DecFallback(yyv73, false) - } - } - yyj58++ - if yyhl58 { - yyb58 = yyj58 > l - } else { - yyb58 = r.CheckBreak() - } - if yyb58 { - z.DecSendContainerState(codecSelfer_containerArrayEnd1234) - return - } - z.DecSendContainerState(codecSelfer_containerArrayElem1234) - if r.TryDecodeAsNil() { - x.NodeSyncPeriod = pkg1_unversioned.Duration{} - } else { - yyv75 := &x.NodeSyncPeriod + yyv75 := &x.ServiceSyncPeriod yym76 := z.DecBinary() _ = yym76 if false { @@ -7339,21 +7355,21 @@ func (x *KubeControllerManagerConfiguration) codecDecodeSelfFromArray(l int, d * z.DecFallback(yyv75, false) } } - yyj58++ - if yyhl58 { - yyb58 = yyj58 > l + yyj59++ + if yyhl59 { + yyb59 = yyj59 > l } else { - yyb58 = r.CheckBreak() + yyb59 = r.CheckBreak() } - if yyb58 { + if yyb59 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } z.DecSendContainerState(codecSelfer_containerArrayElem1234) if r.TryDecodeAsNil() { - x.ResourceQuotaSyncPeriod = pkg1_unversioned.Duration{} + x.NodeSyncPeriod = pkg1_unversioned.Duration{} } else { - yyv77 := &x.ResourceQuotaSyncPeriod + yyv77 := &x.NodeSyncPeriod yym78 := z.DecBinary() _ = yym78 if false { @@ -7364,21 +7380,21 @@ func (x *KubeControllerManagerConfiguration) codecDecodeSelfFromArray(l int, d * z.DecFallback(yyv77, false) } } - yyj58++ - if yyhl58 { - yyb58 = yyj58 > l + yyj59++ + if yyhl59 { + yyb59 = yyj59 > l } else { - yyb58 = r.CheckBreak() + yyb59 = r.CheckBreak() } - if yyb58 { + if yyb59 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } z.DecSendContainerState(codecSelfer_containerArrayElem1234) if r.TryDecodeAsNil() { - x.NamespaceSyncPeriod = pkg1_unversioned.Duration{} + x.ResourceQuotaSyncPeriod = pkg1_unversioned.Duration{} } else { - yyv79 := &x.NamespaceSyncPeriod + yyv79 := &x.ResourceQuotaSyncPeriod yym80 := z.DecBinary() _ = yym80 if false { @@ -7389,21 +7405,21 @@ func (x *KubeControllerManagerConfiguration) codecDecodeSelfFromArray(l int, d * z.DecFallback(yyv79, false) } } - yyj58++ - if yyhl58 { - yyb58 = yyj58 > l + yyj59++ + if yyhl59 { + yyb59 = yyj59 > l } else { - yyb58 = r.CheckBreak() + yyb59 = r.CheckBreak() } - if yyb58 { + if yyb59 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } z.DecSendContainerState(codecSelfer_containerArrayElem1234) if r.TryDecodeAsNil() { - x.PVClaimBinderSyncPeriod = pkg1_unversioned.Duration{} + x.NamespaceSyncPeriod = pkg1_unversioned.Duration{} } else { - yyv81 := &x.PVClaimBinderSyncPeriod + yyv81 := &x.NamespaceSyncPeriod yym82 := z.DecBinary() _ = yym82 if false { @@ -7414,21 +7430,21 @@ func (x *KubeControllerManagerConfiguration) codecDecodeSelfFromArray(l int, d * z.DecFallback(yyv81, false) } } - yyj58++ - if yyhl58 { - yyb58 = yyj58 > l + yyj59++ + if yyhl59 { + yyb59 = yyj59 > l } else { - yyb58 = r.CheckBreak() + yyb59 = r.CheckBreak() } - if yyb58 { + if yyb59 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } z.DecSendContainerState(codecSelfer_containerArrayElem1234) if r.TryDecodeAsNil() { - x.MinResyncPeriod = pkg1_unversioned.Duration{} + x.PVClaimBinderSyncPeriod = pkg1_unversioned.Duration{} } else { - yyv83 := &x.MinResyncPeriod + yyv83 := &x.PVClaimBinderSyncPeriod yym84 := z.DecBinary() _ = yym84 if false { @@ -7439,13 +7455,38 @@ func (x *KubeControllerManagerConfiguration) codecDecodeSelfFromArray(l int, d * z.DecFallback(yyv83, false) } } - yyj58++ - if yyhl58 { - yyb58 = yyj58 > l + yyj59++ + if yyhl59 { + yyb59 = yyj59 > l } else { - yyb58 = r.CheckBreak() + yyb59 = r.CheckBreak() } - if yyb58 { + if yyb59 { + z.DecSendContainerState(codecSelfer_containerArrayEnd1234) + return + } + z.DecSendContainerState(codecSelfer_containerArrayElem1234) + if r.TryDecodeAsNil() { + x.MinResyncPeriod = pkg1_unversioned.Duration{} + } else { + yyv85 := &x.MinResyncPeriod + yym86 := z.DecBinary() + _ = yym86 + if false { + } else if z.HasExtensions() && z.DecExt(yyv85) { + } else if !yym86 && z.IsJSONHandle() { + z.DecJSONUnmarshal(yyv85) + } else { + z.DecFallback(yyv85, false) + } + } + yyj59++ + if yyhl59 { + yyb59 = yyj59 > l + } else { + yyb59 = r.CheckBreak() + } + if yyb59 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -7455,13 +7496,13 @@ func (x *KubeControllerManagerConfiguration) codecDecodeSelfFromArray(l int, d * } else { x.TerminatedPodGCThreshold = int(r.DecodeInt(codecSelferBitsize1234)) } - yyj58++ - if yyhl58 { - yyb58 = yyj58 > l + yyj59++ + if yyhl59 { + yyb59 = yyj59 > l } else { - yyb58 = r.CheckBreak() + yyb59 = r.CheckBreak() } - if yyb58 { + if yyb59 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -7469,32 +7510,7 @@ func (x *KubeControllerManagerConfiguration) codecDecodeSelfFromArray(l int, d * if r.TryDecodeAsNil() { x.HorizontalPodAutoscalerSyncPeriod = pkg1_unversioned.Duration{} } else { - yyv86 := &x.HorizontalPodAutoscalerSyncPeriod - yym87 := z.DecBinary() - _ = yym87 - if false { - } else if z.HasExtensions() && z.DecExt(yyv86) { - } else if !yym87 && z.IsJSONHandle() { - z.DecJSONUnmarshal(yyv86) - } else { - z.DecFallback(yyv86, false) - } - } - yyj58++ - if yyhl58 { - yyb58 = yyj58 > l - } else { - yyb58 = r.CheckBreak() - } - if yyb58 { - z.DecSendContainerState(codecSelfer_containerArrayEnd1234) - return - } - z.DecSendContainerState(codecSelfer_containerArrayElem1234) - if r.TryDecodeAsNil() { - x.DeploymentControllerSyncPeriod = pkg1_unversioned.Duration{} - } else { - yyv88 := &x.DeploymentControllerSyncPeriod + yyv88 := &x.HorizontalPodAutoscalerSyncPeriod yym89 := z.DecBinary() _ = yym89 if false { @@ -7505,21 +7521,21 @@ func (x *KubeControllerManagerConfiguration) codecDecodeSelfFromArray(l int, d * z.DecFallback(yyv88, false) } } - yyj58++ - if yyhl58 { - yyb58 = yyj58 > l + yyj59++ + if yyhl59 { + yyb59 = yyj59 > l } else { - yyb58 = r.CheckBreak() + yyb59 = r.CheckBreak() } - if yyb58 { + if yyb59 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } z.DecSendContainerState(codecSelfer_containerArrayElem1234) if r.TryDecodeAsNil() { - x.PodEvictionTimeout = pkg1_unversioned.Duration{} + x.DeploymentControllerSyncPeriod = pkg1_unversioned.Duration{} } else { - yyv90 := &x.PodEvictionTimeout + yyv90 := &x.DeploymentControllerSyncPeriod yym91 := z.DecBinary() _ = yym91 if false { @@ -7530,13 +7546,38 @@ func (x *KubeControllerManagerConfiguration) codecDecodeSelfFromArray(l int, d * z.DecFallback(yyv90, false) } } - yyj58++ - if yyhl58 { - yyb58 = yyj58 > l + yyj59++ + if yyhl59 { + yyb59 = yyj59 > l } else { - yyb58 = r.CheckBreak() + yyb59 = r.CheckBreak() } - if yyb58 { + if yyb59 { + z.DecSendContainerState(codecSelfer_containerArrayEnd1234) + return + } + z.DecSendContainerState(codecSelfer_containerArrayElem1234) + if r.TryDecodeAsNil() { + x.PodEvictionTimeout = pkg1_unversioned.Duration{} + } else { + yyv92 := &x.PodEvictionTimeout + yym93 := z.DecBinary() + _ = yym93 + if false { + } else if z.HasExtensions() && z.DecExt(yyv92) { + } else if !yym93 && z.IsJSONHandle() { + z.DecJSONUnmarshal(yyv92) + } else { + z.DecFallback(yyv92, false) + } + } + yyj59++ + if yyhl59 { + yyb59 = yyj59 > l + } else { + yyb59 = r.CheckBreak() + } + if yyb59 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -7546,13 +7587,13 @@ func (x *KubeControllerManagerConfiguration) codecDecodeSelfFromArray(l int, d * } else { x.DeletingPodsQps = float32(r.DecodeFloat(true)) } - yyj58++ - if yyhl58 { - yyb58 = yyj58 > l + yyj59++ + if yyhl59 { + yyb59 = yyj59 > l } else { - yyb58 = r.CheckBreak() + yyb59 = r.CheckBreak() } - if yyb58 { + if yyb59 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -7562,13 +7603,13 @@ func (x *KubeControllerManagerConfiguration) codecDecodeSelfFromArray(l int, d * } else { x.DeletingPodsBurst = int(r.DecodeInt(codecSelferBitsize1234)) } - yyj58++ - if yyhl58 { - yyb58 = yyj58 > l + yyj59++ + if yyhl59 { + yyb59 = yyj59 > l } else { - yyb58 = r.CheckBreak() + yyb59 = r.CheckBreak() } - if yyb58 { + if yyb59 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -7576,24 +7617,24 @@ func (x *KubeControllerManagerConfiguration) codecDecodeSelfFromArray(l int, d * if r.TryDecodeAsNil() { x.NodeMonitorGracePeriod = pkg1_unversioned.Duration{} } else { - yyv94 := &x.NodeMonitorGracePeriod - yym95 := z.DecBinary() - _ = yym95 + yyv96 := &x.NodeMonitorGracePeriod + yym97 := z.DecBinary() + _ = yym97 if false { - } else if z.HasExtensions() && z.DecExt(yyv94) { - } else if !yym95 && z.IsJSONHandle() { - z.DecJSONUnmarshal(yyv94) + } else if z.HasExtensions() && z.DecExt(yyv96) { + } else if !yym97 && z.IsJSONHandle() { + z.DecJSONUnmarshal(yyv96) } else { - z.DecFallback(yyv94, false) + z.DecFallback(yyv96, false) } } - yyj58++ - if yyhl58 { - yyb58 = yyj58 > l + yyj59++ + if yyhl59 { + yyb59 = yyj59 > l } else { - yyb58 = r.CheckBreak() + yyb59 = r.CheckBreak() } - if yyb58 { + if yyb59 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -7603,13 +7644,13 @@ func (x *KubeControllerManagerConfiguration) codecDecodeSelfFromArray(l int, d * } else { x.RegisterRetryCount = int(r.DecodeInt(codecSelferBitsize1234)) } - yyj58++ - if yyhl58 { - yyb58 = yyj58 > l + yyj59++ + if yyhl59 { + yyb59 = yyj59 > l } else { - yyb58 = r.CheckBreak() + yyb59 = r.CheckBreak() } - if yyb58 { + if yyb59 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -7617,32 +7658,7 @@ func (x *KubeControllerManagerConfiguration) codecDecodeSelfFromArray(l int, d * if r.TryDecodeAsNil() { x.NodeStartupGracePeriod = pkg1_unversioned.Duration{} } else { - yyv97 := &x.NodeStartupGracePeriod - yym98 := z.DecBinary() - _ = yym98 - if false { - } else if z.HasExtensions() && z.DecExt(yyv97) { - } else if !yym98 && z.IsJSONHandle() { - z.DecJSONUnmarshal(yyv97) - } else { - z.DecFallback(yyv97, false) - } - } - yyj58++ - if yyhl58 { - yyb58 = yyj58 > l - } else { - yyb58 = r.CheckBreak() - } - if yyb58 { - z.DecSendContainerState(codecSelfer_containerArrayEnd1234) - return - } - z.DecSendContainerState(codecSelfer_containerArrayElem1234) - if r.TryDecodeAsNil() { - x.NodeMonitorPeriod = pkg1_unversioned.Duration{} - } else { - yyv99 := &x.NodeMonitorPeriod + yyv99 := &x.NodeStartupGracePeriod yym100 := z.DecBinary() _ = yym100 if false { @@ -7653,13 +7669,38 @@ func (x *KubeControllerManagerConfiguration) codecDecodeSelfFromArray(l int, d * z.DecFallback(yyv99, false) } } - yyj58++ - if yyhl58 { - yyb58 = yyj58 > l + yyj59++ + if yyhl59 { + yyb59 = yyj59 > l } else { - yyb58 = r.CheckBreak() + yyb59 = r.CheckBreak() } - if yyb58 { + if yyb59 { + z.DecSendContainerState(codecSelfer_containerArrayEnd1234) + return + } + z.DecSendContainerState(codecSelfer_containerArrayElem1234) + if r.TryDecodeAsNil() { + x.NodeMonitorPeriod = pkg1_unversioned.Duration{} + } else { + yyv101 := &x.NodeMonitorPeriod + yym102 := z.DecBinary() + _ = yym102 + if false { + } else if z.HasExtensions() && z.DecExt(yyv101) { + } else if !yym102 && z.IsJSONHandle() { + z.DecJSONUnmarshal(yyv101) + } else { + z.DecFallback(yyv101, false) + } + } + yyj59++ + if yyhl59 { + yyb59 = yyj59 > l + } else { + yyb59 = r.CheckBreak() + } + if yyb59 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -7669,13 +7710,13 @@ func (x *KubeControllerManagerConfiguration) codecDecodeSelfFromArray(l int, d * } else { x.ServiceAccountKeyFile = string(r.DecodeString()) } - yyj58++ - if yyhl58 { - yyb58 = yyj58 > l + yyj59++ + if yyhl59 { + yyb59 = yyj59 > l } else { - yyb58 = r.CheckBreak() + yyb59 = r.CheckBreak() } - if yyb58 { + if yyb59 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -7685,13 +7726,13 @@ func (x *KubeControllerManagerConfiguration) codecDecodeSelfFromArray(l int, d * } else { x.EnableProfiling = bool(r.DecodeBool()) } - yyj58++ - if yyhl58 { - yyb58 = yyj58 > l + yyj59++ + if yyhl59 { + yyb59 = yyj59 > l } else { - yyb58 = r.CheckBreak() + yyb59 = r.CheckBreak() } - if yyb58 { + if yyb59 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -7701,13 +7742,13 @@ func (x *KubeControllerManagerConfiguration) codecDecodeSelfFromArray(l int, d * } else { x.ClusterName = string(r.DecodeString()) } - yyj58++ - if yyhl58 { - yyb58 = yyj58 > l + yyj59++ + if yyhl59 { + yyb59 = yyj59 > l } else { - yyb58 = r.CheckBreak() + yyb59 = r.CheckBreak() } - if yyb58 { + if yyb59 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -7717,13 +7758,13 @@ func (x *KubeControllerManagerConfiguration) codecDecodeSelfFromArray(l int, d * } else { x.ClusterCIDR = string(r.DecodeString()) } - yyj58++ - if yyhl58 { - yyb58 = yyj58 > l + yyj59++ + if yyhl59 { + yyb59 = yyj59 > l } else { - yyb58 = r.CheckBreak() + yyb59 = r.CheckBreak() } - if yyb58 { + if yyb59 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -7733,13 +7774,13 @@ func (x *KubeControllerManagerConfiguration) codecDecodeSelfFromArray(l int, d * } else { x.AllocateNodeCIDRs = bool(r.DecodeBool()) } - yyj58++ - if yyhl58 { - yyb58 = yyj58 > l + yyj59++ + if yyhl59 { + yyb59 = yyj59 > l } else { - yyb58 = r.CheckBreak() + yyb59 = r.CheckBreak() } - if yyb58 { + if yyb59 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -7749,13 +7790,13 @@ func (x *KubeControllerManagerConfiguration) codecDecodeSelfFromArray(l int, d * } else { x.RootCAFile = string(r.DecodeString()) } - yyj58++ - if yyhl58 { - yyb58 = yyj58 > l + yyj59++ + if yyhl59 { + yyb59 = yyj59 > l } else { - yyb58 = r.CheckBreak() + yyb59 = r.CheckBreak() } - if yyb58 { + if yyb59 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -7765,13 +7806,13 @@ func (x *KubeControllerManagerConfiguration) codecDecodeSelfFromArray(l int, d * } else { x.KubeAPIQPS = float32(r.DecodeFloat(true)) } - yyj58++ - if yyhl58 { - yyb58 = yyj58 > l + yyj59++ + if yyhl59 { + yyb59 = yyj59 > l } else { - yyb58 = r.CheckBreak() + yyb59 = r.CheckBreak() } - if yyb58 { + if yyb59 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -7781,13 +7822,13 @@ func (x *KubeControllerManagerConfiguration) codecDecodeSelfFromArray(l int, d * } else { x.KubeAPIBurst = int(r.DecodeInt(codecSelferBitsize1234)) } - yyj58++ - if yyhl58 { - yyb58 = yyj58 > l + yyj59++ + if yyhl59 { + yyb59 = yyj59 > l } else { - yyb58 = r.CheckBreak() + yyb59 = r.CheckBreak() } - if yyb58 { + if yyb59 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -7795,16 +7836,16 @@ func (x *KubeControllerManagerConfiguration) codecDecodeSelfFromArray(l int, d * if r.TryDecodeAsNil() { x.LeaderElection = LeaderElectionConfiguration{} } else { - yyv109 := &x.LeaderElection - yyv109.CodecDecodeSelf(d) + yyv111 := &x.LeaderElection + yyv111.CodecDecodeSelf(d) } - yyj58++ - if yyhl58 { - yyb58 = yyj58 > l + yyj59++ + if yyhl59 { + yyb59 = yyj59 > l } else { - yyb58 = r.CheckBreak() + yyb59 = r.CheckBreak() } - if yyb58 { + if yyb59 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -7812,16 +7853,16 @@ func (x *KubeControllerManagerConfiguration) codecDecodeSelfFromArray(l int, d * if r.TryDecodeAsNil() { x.VolumeConfiguration = VolumeConfiguration{} } else { - yyv110 := &x.VolumeConfiguration - yyv110.CodecDecodeSelf(d) + yyv112 := &x.VolumeConfiguration + yyv112.CodecDecodeSelf(d) } - yyj58++ - if yyhl58 { - yyb58 = yyj58 > l + yyj59++ + if yyhl59 { + yyb59 = yyj59 > l } else { - yyb58 = r.CheckBreak() + yyb59 = r.CheckBreak() } - if yyb58 { + if yyb59 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -7831,13 +7872,13 @@ func (x *KubeControllerManagerConfiguration) codecDecodeSelfFromArray(l int, d * } else { x.Kind = string(r.DecodeString()) } - yyj58++ - if yyhl58 { - yyb58 = yyj58 > l + yyj59++ + if yyhl59 { + yyb59 = yyj59 > l } else { - yyb58 = r.CheckBreak() + yyb59 = r.CheckBreak() } - if yyb58 { + if yyb59 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -7848,17 +7889,17 @@ func (x *KubeControllerManagerConfiguration) codecDecodeSelfFromArray(l int, d * x.APIVersion = string(r.DecodeString()) } for { - yyj58++ - if yyhl58 { - yyb58 = yyj58 > l + yyj59++ + if yyhl59 { + yyb59 = yyj59 > l } else { - yyb58 = r.CheckBreak() + yyb59 = r.CheckBreak() } - if yyb58 { + if yyb59 { break } z.DecSendContainerState(codecSelfer_containerArrayElem1234) - z.DecStructFieldNotFound(yyj58-1, "") + z.DecStructFieldNotFound(yyj59-1, "") } z.DecSendContainerState(codecSelfer_containerArrayEnd1234) } diff --git a/pkg/apis/componentconfig/types.go b/pkg/apis/componentconfig/types.go index df1a2482ce0..fa52286da2b 100644 --- a/pkg/apis/componentconfig/types.go +++ b/pkg/apis/componentconfig/types.go @@ -417,7 +417,7 @@ type KubeControllerManagerConfiguration struct { // but more CPU (and network) load. ConcurrentDeploymentSyncs int `json:"concurrentDeploymentSyncs"` // concurrentDaemonSetSyncs is the number of daemonset objects that are - // allowed to sync concurrently. Larger number = more responsive DaemonSet, + // allowed to sync concurrently. Larger number = more responsive daemonset, // but more CPU (and network) load. ConcurrentDaemonSetSyncs int `json:"concurrentDaemonSetSyncs"` // concurrentJobSyncs is the number of job objects that are @@ -427,12 +427,15 @@ type KubeControllerManagerConfiguration struct { // concurrentNamespaceSyncs is the number of namespace objects that are // allowed to sync concurrently. ConcurrentNamespaceSyncs int `json:"concurrentNamespaceSyncs"` - // LookupCacheSizeForRC is the size of lookup cache for replication controllers. + // lookupCacheSizeForRC is the size of lookup cache for replication controllers. // Larger number = more responsive replica management, but more MEM load. LookupCacheSizeForRC int `json:"lookupCacheSizeForRC"` - // LookupCacheSizeForRS is the size of lookup cache for replicatsets. + // lookupCacheSizeForRS is the size of lookup cache for replicatsets. // Larger number = more responsive replica management, but more MEM load. LookupCacheSizeForRS int `json:"lookupCacheSizeForRS"` + // lookupCacheSizeForDaemonSet is the size of lookup cache for daemonsets. + // Larger number = more responsive daemonset, but more MEM load. + LookupCacheSizeForDaemonSet int `json:"lookupCacheSizeForDaemonSet"` // serviceSyncPeriod is the period for syncing services with their external // load balancers. ServiceSyncPeriod unversioned.Duration `json:"serviceSyncPeriod"` diff --git a/pkg/controller/daemon/controller.go b/pkg/controller/daemon/controller.go index 39d131ae37d..96c10514881 100644 --- a/pkg/controller/daemon/controller.go +++ b/pkg/controller/daemon/controller.go @@ -22,6 +22,7 @@ import ( "sync" "time" + "fmt" "github.com/golang/glog" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/unversioned" @@ -91,11 +92,13 @@ type DaemonSetsController struct { // Added as a member to the struct to allow injection for testing. podStoreSynced func() bool + lookupCache *controller.MatchingCache + // Daemon sets that need to be synced. queue *workqueue.Type } -func NewDaemonSetsController(kubeClient clientset.Interface, resyncPeriod controller.ResyncPeriodFunc) *DaemonSetsController { +func NewDaemonSetsController(kubeClient clientset.Interface, resyncPeriod controller.ResyncPeriodFunc, lookupCacheSize int) *DaemonSetsController { eventBroadcaster := record.NewBroadcaster() eventBroadcaster.StartLogging(glog.Infof) // TODO: remove the wrapper when every clients have moved to use the clientset. @@ -132,6 +135,22 @@ func NewDaemonSetsController(kubeClient clientset.Interface, resyncPeriod contro }, UpdateFunc: func(old, cur interface{}) { oldDS := old.(*extensions.DaemonSet) + curDS := cur.(*extensions.DaemonSet) + // We should invalidate the whole lookup cache if a DS's selector has been updated. + // + // Imagine that you have two RSs: + // * old DS1 + // * new DS2 + // You also have a pod that is attached to DS2 (because it doesn't match DS1 selector). + // Now imagine that you are changing DS1 selector so that it is now matching that pod, + // in such case we must invalidate the whole cache so that pod could be adopted by DS1 + // + // This makes the lookup cache less helpful, but selector update does not happen often, + // so it's not a big problem + if !reflect.DeepEqual(oldDS.Spec.Selector, curDS.Spec.Selector) { + dsc.lookupCache.InvalidateAll() + } + glog.V(4).Infof("Updating daemon set %s", oldDS.Name) dsc.enqueueDaemonSet(cur) }, @@ -180,6 +199,7 @@ func NewDaemonSetsController(kubeClient clientset.Interface, resyncPeriod contro ) dsc.syncHandler = dsc.syncDaemonSet dsc.podStoreSynced = dsc.podController.HasSynced + dsc.lookupCache = controller.NewMatchingCache(lookupCacheSize) return dsc } @@ -238,6 +258,18 @@ func (dsc *DaemonSetsController) enqueueDaemonSet(obj interface{}) { } func (dsc *DaemonSetsController) getPodDaemonSet(pod *api.Pod) *extensions.DaemonSet { + // look up in the cache, if cached and the cache is valid, just return cached value + if obj, cached := dsc.lookupCache.GetMatchingObject(pod); cached { + ds, ok := obj.(*extensions.DaemonSet) + if !ok { + // This should not happen + glog.Errorf("lookup cache does not retuen a ReplicationController object") + return nil + } + if cached && dsc.isCacheValid(pod, ds) { + return ds + } + } sets, err := dsc.dsStore.GetPodDaemonSets(pod) if err != nil { glog.V(4).Infof("No daemon sets found for pod %v, daemon set controller will avoid syncing", pod.Name) @@ -250,9 +282,42 @@ func (dsc *DaemonSetsController) getPodDaemonSet(pod *api.Pod) *extensions.Daemo glog.Errorf("user error! more than one daemon is selecting pods with labels: %+v", pod.Labels) sort.Sort(byCreationTimestamp(sets)) } + + // update lookup cache + dsc.lookupCache.Update(pod, &sets[0]) + return &sets[0] } +// isCacheValid check if the cache is valid +func (dsc *DaemonSetsController) isCacheValid(pod *api.Pod, cachedDS *extensions.DaemonSet) bool { + _, exists, err := dsc.dsStore.Get(cachedDS) + // ds has been deleted or updated, cache is invalid + if err != nil || !exists || !isDaemonSetMatch(pod, cachedDS) { + return false + } + return true +} + +// isDaemonSetMatch take a Pod and DaemonSet, return whether the Pod and DaemonSet are matching +// TODO(mqliang): This logic is a copy from GetPodDaemonSets(), remove the duplication +func isDaemonSetMatch(pod *api.Pod, ds *extensions.DaemonSet) bool { + if ds.Namespace != pod.Namespace { + return false + } + selector, err := unversioned.LabelSelectorAsSelector(ds.Spec.Selector) + if err != nil { + err = fmt.Errorf("invalid selector: %v", err) + return false + } + + // If a ReplicaSet with a nil or empty selector creeps in, it should match nothing, not everything. + if selector.Empty() || !selector.Matches(labels.Set(pod.Labels)) { + return false + } + return true +} + func (dsc *DaemonSetsController) addPod(obj interface{}) { pod := obj.(*api.Pod) glog.V(4).Infof("Pod %s added.", pod.Name) diff --git a/pkg/controller/daemon/controller_test.go b/pkg/controller/daemon/controller_test.go index eceb00dcce3..7728b4c07cc 100644 --- a/pkg/controller/daemon/controller_test.go +++ b/pkg/controller/daemon/controller_test.go @@ -133,7 +133,7 @@ func addPods(podStore cache.Store, nodeName string, label map[string]string, num func newTestController() (*DaemonSetsController, *controller.FakePodControl) { clientset := clientset.NewForConfigOrDie(&restclient.Config{Host: "", ContentConfig: restclient.ContentConfig{GroupVersion: testapi.Default.GroupVersion()}}) - manager := NewDaemonSetsController(clientset, controller.NoResyncPeriodFunc) + manager := NewDaemonSetsController(clientset, controller.NoResyncPeriodFunc, 0) manager.podStoreSynced = alwaysReady podControl := &controller.FakePodControl{} manager.podControl = podControl