@@ -91,20 +91,24 @@ type descheduler struct {
9191 promClientCtrl * promClientController
9292}
9393
94+ type createPrometheusClientFunc func (url , token string ) (promapi.Client , * http.Transport , error )
95+
9496type promClientController struct {
9597 promClient promapi.Client
9698 previousPrometheusClientTransport * http.Transport
9799 queue workqueue.RateLimitingInterface
98100 currentPrometheusAuthToken string
99101 namespacedSecretsLister corev1listers.SecretNamespaceLister
100102 metricsProviders map [api.MetricsSource ]* api.MetricsProvider
103+ createPrometheusClient createPrometheusClientFunc
101104}
102105
103106func newPromClientController (prometheusClient promapi.Client , metricsProviders map [api.MetricsSource ]* api.MetricsProvider ) * promClientController {
104107 return & promClientController {
105- promClient : prometheusClient ,
106- queue : workqueue .NewRateLimitingQueueWithConfig (workqueue .DefaultControllerRateLimiter (), workqueue.RateLimitingQueueConfig {Name : "descheduler" }),
107- metricsProviders : metricsProviders ,
108+ promClient : prometheusClient ,
109+ queue : workqueue .NewRateLimitingQueueWithConfig (workqueue .DefaultControllerRateLimiter (), workqueue.RateLimitingQueueConfig {Name : "descheduler" }),
110+ metricsProviders : metricsProviders ,
111+ createPrometheusClient : client .CreatePrometheusClient ,
108112 }
109113}
110114
@@ -221,7 +225,7 @@ func (d *promClientController) reconcileInClusterSAToken() error {
221225 if err == nil {
222226 if d .currentPrometheusAuthToken != cfg .BearerToken {
223227 klog .V (2 ).Infof ("Creating Prometheus client (with SA token)" )
224- prometheusClient , transport , err := client . CreatePrometheusClient (d .metricsProviders [api .PrometheusMetrics ].Prometheus .URL , cfg .BearerToken )
228+ prometheusClient , transport , err := d . createPrometheusClient (d .metricsProviders [api .PrometheusMetrics ].Prometheus .URL , cfg .BearerToken )
225229 if err != nil {
226230 return fmt .Errorf ("unable to create a prometheus client: %v" , err )
227231 }
@@ -305,7 +309,7 @@ func (d *promClientController) sync() error {
305309 }
306310
307311 klog .V (2 ).Infof ("authentication secret token updated, recreating prometheus client" )
308- prometheusClient , transport , err := client . CreatePrometheusClient (prometheusConfig .URL , authToken )
312+ prometheusClient , transport , err := d . createPrometheusClient (prometheusConfig .URL , authToken )
309313 if err != nil {
310314 return fmt .Errorf ("unable to create a prometheus client: %v" , err )
311315 }
0 commit comments