@@ -61,12 +61,14 @@ func New(provider *cluster.Provider) *Controller {
6161}
6262
6363func (c * Controller ) Run (ctx context.Context ) {
64+ logger := klog .FromContext (ctx )
6465 defer c .cleanup ()
66+
6567 for {
6668 // get existing kind clusters
6769 clusters , err := c .kind .List ()
6870 if err != nil {
69- klog . Infof ( "error listing clusters, retrying ...: %v" , err )
71+ logger . Error ( err , "Error listing clusters, retrying..." )
7072 }
7173
7274 // add new ones
@@ -76,36 +78,37 @@ func (c *Controller) Run(ctx context.Context) {
7678 return
7779 default :
7880 }
81+ logger := logger .WithValues ("cluster" , cluster )
7982
80- klog .V (3 ).Infof ( "processing cluster %s" , cluster )
83+ logger .V (3 ).Info ( "Processing cluster" )
8184 _ , ok := c .clusters [cluster ]
8285 if ok {
83- klog .V (3 ).Infof ( "cluster %s already exist", cluster )
86+ logger .V (3 ).Info ( "Cluster already exist" )
8487 continue
8588 }
8689
8790 restConfig , err := c .getRestConfig (ctx , cluster )
8891 if err != nil {
89- klog . Errorf ( "Failed to create kubeClient for cluster %s: %v" , cluster , err )
92+ logger . Error ( err , "Failed to create kubeClient" )
9093 continue
9194 }
9295
93- klog .V (2 ).Infof ("Creating new cloud provider for cluster %s" , cluster )
96+ logger .V (2 ).Info ("Creating new cloud provider" )
9497 cloud := provider .New (cluster , c .kind )
9598 ccm , err := startCloudControllerManager (ctx , cluster , restConfig , cloud )
9699 if err != nil {
97- klog . Errorf ( "Failed to start cloud controller for cluster %s: %v" , cluster , err )
100+ logger . Error ( err , "Failed to start cloud controller" )
98101 continue
99102 }
100- klog . Infof ("Starting cloud controller for cluster %s" , cluster )
103+ logger . Info ("Starting cloud controller" )
101104 c .clusters [cluster ] = ccm
102105 }
103106 // remove expired ones
104107 clusterSet := sets .New (clusters ... )
105108 for cluster , ccm := range c .clusters {
106109 _ , ok := clusterSet [cluster ]
107110 if ! ok {
108- klog . Infof ("Deleting resources for cluster %s " , cluster )
111+ logger . Info ("Deleting resources" , " cluster" , cluster )
109112 ccm .cancelFn ()
110113 delete (c .clusters , cluster )
111114 }
@@ -136,32 +139,34 @@ func (c *Controller) getKubeConfig(cluster string, internal bool) (*rest.Config,
136139// getRestConfig returns a valid rest.Config for the cluster passed as argument
137140// It tries first to connect to the internal endpoint.
138141func (c * Controller ) getRestConfig (ctx context.Context , cluster string ) (* rest.Config , error ) {
142+ logger := klog .FromContext (ctx ).WithValues ("cluster" , cluster )
143+
139144 addresses := []string {}
140145 internalConfig , err := c .getKubeConfig (cluster , true )
141146 if err != nil {
142- klog . Errorf ( "Failed to get internal kubeconfig for cluster %s: %v" , cluster , err )
147+ logger . Error ( err , "Failed to get internal kubeconfig" )
143148 } else {
144149 addresses = append (addresses , internalConfig .Host )
145150 }
146151 externalConfig , err := c .getKubeConfig (cluster , false )
147152 if err != nil {
148- klog . Errorf ( "Failed to get external kubeconfig for cluster %s: %v" , cluster , err )
153+ logger . Error ( err , "Failed to get external kubeconfig" )
149154 } else {
150155 addresses = append (addresses , externalConfig .Host )
151156 }
152157
153158 if len (addresses ) == 0 {
154- return nil , fmt .Errorf ("could not find kubeconfig for cluster %s" , cluster )
159+ return nil , fmt .Errorf ("could not find kubeconfig" )
155160 }
156161
157162 var host string
158163 for i := 0 ; i < 5 ; i ++ {
159164 host , err = firstSuccessfulProbe (ctx , addresses )
160165 if err != nil {
161- klog . Errorf ( "Failed to connect to any address in %v: %v " , addresses , err )
166+ logger . Error ( err , "Failed to connect to any address" , " addresses" , addresses )
162167 time .Sleep (time .Second * time .Duration (i ))
163168 } else {
164- klog . Infof ("Connected succesfully to %s " , host )
169+ logger . Info ("Connected succesfully" , "host " , host )
165170 break
166171 }
167172 }
@@ -185,9 +190,11 @@ func (c *Controller) getRestConfig(ctx context.Context, cluster string) (*rest.C
185190 return config , nil
186191}
187192
188- // TODO: implement leader election to not have problems with multiple providers
193+ // TODO: implement leader election to not have problems with multiple providers
189194// ref: https://github.com/kubernetes/kubernetes/blob/d97ea0f705847f90740cac3bc3dd8f6a4026d0b5/cmd/kube-scheduler/app/server.go#L211
190195func startCloudControllerManager (ctx context.Context , clusterName string , config * rest.Config , cloud cloudprovider.Interface ) (* ccm , error ) {
196+ logger := klog .FromContext (ctx ).WithValues ("cluster" , clusterName )
197+
191198 // TODO: we need to set up the ccm specific feature gates
192199 // but try to avoid to expose this to users
193200 featureGates := utilfeature .DefaultMutableFeatureGate
@@ -198,7 +205,7 @@ func startCloudControllerManager(ctx context.Context, clusterName string, config
198205
199206 kubeClient , err := kubernetes .NewForConfig (config )
200207 if err != nil {
201- klog . Errorf ( "Failed to create kubeClient for cluster %s: %v" , clusterName , err )
208+ logger . Error ( err , "Failed to create kubeClient" )
202209 return nil , err
203210 }
204211
@@ -214,7 +221,7 @@ func startCloudControllerManager(ctx context.Context, clusterName string, config
214221 return true , nil
215222 })
216223 if err != nil {
217- klog . Errorf ( "Failed waiting for apiserver to be ready: %v" , err )
224+ logger . Error ( err , "Failed waiting for apiserver to be ready" )
218225 return nil , err
219226 }
220227
@@ -238,7 +245,7 @@ func startCloudControllerManager(ctx context.Context, clusterName string, config
238245 )
239246 if err != nil {
240247 // This error shouldn't fail. It lives like this as a legacy.
241- klog . Errorf ( "Failed to start service controller: %v" , err )
248+ logger . Error ( err , "Failed to start service controller" )
242249 return nil , err
243250 }
244251
@@ -249,7 +256,7 @@ func startCloudControllerManager(ctx context.Context, clusterName string, config
249256
250257 hasCloudProviderTaint , err := getCloudProviderTaint (ctx , clusterName , kubeClient )
251258 if err != nil {
252- klog . Errorf ( "Failed get cluster nodes: %v" , err )
259+ logger . Error ( err , "Failed get cluster nodes" )
253260 cancel ()
254261 return nil , err
255262 }
@@ -265,7 +272,7 @@ func startCloudControllerManager(ctx context.Context, clusterName string, config
265272 )
266273 if err != nil {
267274 // This error shouldn't fail. It lives like this as a legacy.
268- klog . Errorf ( "Failed to start node controller: %v" , err )
275+ logger . Error ( err , "Failed to start node controller" )
269276 cancel ()
270277 return nil , err
271278 }
@@ -275,22 +282,22 @@ func startCloudControllerManager(ctx context.Context, clusterName string, config
275282 // Gateway setup
276283 crdManager , err := gateway .NewCRDManager (config )
277284 if err != nil {
278- klog . Errorf ( "Failed to create Gateway API CRD manager: %v" , err )
285+ logger . Error ( err , "Failed to create Gateway API CRD manager" )
279286 cancel ()
280287 return nil , err
281288 }
282289
283290 err = crdManager .InstallCRDs (ctx , cpkconfig .DefaultConfig .GatewayReleaseChannel )
284291 if err != nil {
285- klog . Errorf ( "Failed to install Gateway API CRDs: %v" , err )
292+ logger . Error ( err , "Failed to install Gateway API CRDs" )
286293 cancel ()
287294 return nil , err
288295 }
289296
290297 gwClient , err := gatewayclient .NewForConfig (config )
291298 if err != nil {
292299 // This error shouldn't fail. It lives like this as a legacy.
293- klog . Errorf ( "Failed to create Gateway API client: %v" , err )
300+ logger . Error ( err , "Failed to create Gateway API client" )
294301 cancel ()
295302 return nil , err
296303 }
@@ -316,7 +323,7 @@ func startCloudControllerManager(ctx context.Context, clusterName string, config
316323 referenceGrantInformer ,
317324 )
318325 if err != nil {
319- klog . Errorf ( "Failed to start gateway controller: %v" , err )
326+ logger . Error ( err , "Failed to start gateway controller" )
320327 cancel ()
321328 return nil , err
322329 }
@@ -334,7 +341,7 @@ func startCloudControllerManager(ctx context.Context, clusterName string, config
334341 gwInformer ,
335342 )
336343 if err != nil {
337- klog . Errorf ( "Failed to create Ingress controller: %v" , err )
344+ logger . Error ( err , "Failed to create Ingress controller" )
338345 cancel ()
339346 return nil , err
340347 }
@@ -344,7 +351,7 @@ func startCloudControllerManager(ctx context.Context, clusterName string, config
344351
345352 err = gatewayController .Init (ctx )
346353 if err != nil {
347- klog . Errorf ( "Failed to initialize gateway controller: %v" , err )
354+ logger . Error ( err , "Failed to initialize gateway controller" )
348355 cancel ()
349356 return nil , err
350357 }
@@ -355,7 +362,7 @@ func startCloudControllerManager(ctx context.Context, clusterName string, config
355362
356363 err = ingressController .Init (ctx )
357364 if err != nil {
358- klog . Errorf ( "Failed to initialize ingress controller: %v" , err )
365+ logger . Error ( err , "Failed to initialize ingress controller" )
359366 cancel ()
360367 return nil , err
361368 }
@@ -372,7 +379,7 @@ func startCloudControllerManager(ctx context.Context, clusterName string, config
372379
373380 containers , err := container .ListByLabel (fmt .Sprintf ("%s=%s" , constants .NodeCCMLabelKey , clusterName ))
374381 if err != nil {
375- klog . Errorf ( "can't list containers: %v" , err )
382+ logger . Error ( err , "Failed to list containers" )
376383 return
377384 }
378385
@@ -383,7 +390,7 @@ func startCloudControllerManager(ctx context.Context, clusterName string, config
383390 }
384391
385392 for _ , name := range containers {
386- klog .V (2 ).Infof ( "cleaning up container %s for cluster %s " , name , clusterName )
393+ logger .V (2 ).Info ( "Cleaning up container" , "container" , name )
387394 cleanupLoadBalancer (lbController , name )
388395 cleanupGateway (name )
389396 }
0 commit comments