From 84f19c1e1e678b031a256322386e5687d25091ea Mon Sep 17 00:00:00 2001 From: Maciej Pytel Date: Wed, 1 Mar 2017 10:57:44 +0100 Subject: [PATCH] Cluster-Autoscaler: add map to disable status configmap --- cluster-autoscaler/core/autoscaling_context.go | 2 ++ cluster-autoscaler/core/static_autoscaler.go | 6 ++++++ cluster-autoscaler/main.go | 3 +++ 3 files changed, 11 insertions(+) diff --git a/cluster-autoscaler/core/autoscaling_context.go b/cluster-autoscaler/core/autoscaling_context.go index f473c47b20..6f194a0187 100644 --- a/cluster-autoscaler/core/autoscaling_context.go +++ b/cluster-autoscaler/core/autoscaling_context.go @@ -94,6 +94,8 @@ type AutoscalingOptions struct { ScaleDownDelay time.Duration // ScaleDownTrialInterval sets how often scale down possibility is check ScaleDownTrialInterval time.Duration + // WriteStatusConfigMap tells if the status information should be written to a ConfigMap + WriteStatusConfigMap bool } // NewAutoscalingContext returns an autoscaling context from all the necessary parameters passed via arguments diff --git a/cluster-autoscaler/core/static_autoscaler.go b/cluster-autoscaler/core/static_autoscaler.go index 15c5ceb071..dce88f994f 100644 --- a/cluster-autoscaler/core/static_autoscaler.go +++ b/cluster-autoscaler/core/static_autoscaler.go @@ -265,6 +265,9 @@ func (a *StaticAutoscaler) RunOnce(currentTime time.Time) { // ExitCleanUp removes status configmap. func (a *StaticAutoscaler) ExitCleanUp() { + if !a.AutoscalingContext.WriteStatusConfigMap { + return + } maps := a.AutoscalingContext.ClientSet.CoreV1().ConfigMaps(StatusConfigMapNamespace) err := maps.Delete(StatusConfigMapName, &metav1.DeleteOptions{}) if err != nil { @@ -274,6 +277,9 @@ func (a *StaticAutoscaler) ExitCleanUp() { } func (a *StaticAutoscaler) writeStatusConfigMap() { + if !a.AutoscalingContext.WriteStatusConfigMap { + return + } statusUpdateTime := time.Now() status := a.ClusterStateRegistry.GetStatus(statusUpdateTime) statusMsg := fmt.Sprintf("Cluster-autoscaler status at %v:\n%v", statusUpdateTime, status.GetReadableString()) diff --git a/cluster-autoscaler/main.go b/cluster-autoscaler/main.go index 05f30179cf..d27cbfa535 100644 --- a/cluster-autoscaler/main.go +++ b/cluster-autoscaler/main.go @@ -95,6 +95,8 @@ var ( expanderFlag = flag.String("expander", expander.RandomExpanderName, "Type of node group expander to be used in scale up. Available values: ["+strings.Join(expander.AvailableExpanders, ",")+"]") + + writeStatusConfigMapFlag = flag.Bool("write-status-configmap", true, "Should CA write status information to a configmap") ) func createAutoscalerOptions() core.AutoscalerOptions { @@ -117,6 +119,7 @@ func createAutoscalerOptions() core.AutoscalerOptions { ScaleDownUnreadyTime: *scaleDownUnreadyTime, ScaleDownUtilizationThreshold: *scaleDownUtilizationThreshold, VerifyUnschedulablePods: *verifyUnschedulablePods, + WriteStatusConfigMap: *writeStatusConfigMapFlag, } configFetcherOpts := dynamic.ConfigFetcherOptions{