94
94
95
95
// Reconcile performs a full reconciliation for the object referred to by the Request.
96
96
func (c * ServiceExportController ) Reconcile (ctx context.Context , req controllerruntime.Request ) (controllerruntime.Result , error ) {
97
- klog .V (4 ).Infof ("Reconciling Work %s" , req .NamespacedName .String () )
97
+ klog .V (4 ).InfoS ("Reconciling Work" , "namespace" , req .NamespacedName .Namespace , "name" , req . NamespacedName . Name )
98
98
99
99
work := & workv1alpha1.Work {}
100
100
if err := c .Client .Get (ctx , req .NamespacedName , work ); err != nil {
@@ -118,19 +118,20 @@ func (c *ServiceExportController) Reconcile(ctx context.Context, req controllerr
118
118
119
119
clusterName , err := names .GetClusterName (work .Namespace )
120
120
if err != nil {
121
- klog .Errorf ( "Failed to get member cluster name for work %s/%s" , work .Namespace , work .Name )
121
+ klog .ErrorS ( err , "Failed to get member cluster name for work" , "namespace" , work .Namespace , "workName" , work .Name )
122
122
return controllerruntime.Result {}, err
123
123
}
124
124
125
125
cluster , err := util .GetCluster (c .Client , clusterName )
126
126
if err != nil {
127
- klog .Errorf ( "Failed to get the given member cluster %s " , clusterName )
127
+ klog .ErrorS ( err , "Failed to get the given member cluster" , "cluster " , clusterName )
128
128
return controllerruntime.Result {}, err
129
129
}
130
130
131
131
if ! util .IsClusterReady (& cluster .Status ) {
132
- klog .Errorf ("Stop sync work(%s/%s) for cluster(%s) as cluster not ready." , work .Namespace , work .Name , cluster .Name )
133
- return controllerruntime.Result {}, fmt .Errorf ("cluster(%s) not ready" , cluster .Name )
132
+ err := fmt .Errorf ("cluster(%s) not ready" , cluster .Name )
133
+ klog .ErrorS (err , "Stop sync work for cluster as cluster not ready." , "namespace" , work .Namespace , "workName" , work .Name , "cluster" , cluster .Name )
134
+ return controllerruntime.Result {}, err
134
135
}
135
136
136
137
return controllerruntime.Result {}, c .buildResourceInformers (cluster )
@@ -165,7 +166,7 @@ func (c *ServiceExportController) enqueueReportedEpsServiceExport() {
165
166
indexregistry .WorkIndexByFieldSuspendDispatching : "true" ,
166
167
})
167
168
if err != nil {
168
- klog .Errorf ( "Failed to list collected EndpointSlices Work from member clusters: %v" , err )
169
+ klog .ErrorS ( err , "Failed to list collected EndpointSlices Work from member clusters" )
169
170
return false , nil
170
171
}
171
172
return true , nil
@@ -208,23 +209,22 @@ func (c *ServiceExportController) syncServiceExportOrEndpointSlice(key util.Queu
208
209
ctx := context .Background ()
209
210
fedKey , ok := key .(keys.FederatedKey )
210
211
if ! ok {
211
- klog .Errorf ("Failed to sync serviceExport as invalid key: %v" , key )
212
- return fmt .Errorf ("invalid key" )
212
+ err := fmt .Errorf ("invalid key" )
213
+ klog .ErrorS (err , "Failed to sync serviceExport as invalid key" , "key" , key )
214
+ return err
213
215
}
214
216
215
- klog .V (4 ).Infof ("Begin to sync %s " , fedKey )
217
+ klog .V (4 ).InfoS ("Begin to sync" , "key " , fedKey )
216
218
217
219
switch fedKey .Kind {
218
220
case util .ServiceExportKind :
219
221
if err := c .handleServiceExportEvent (ctx , fedKey ); err != nil {
220
- klog .Errorf ("Failed to handle serviceExport(%s) event, Error: %v" ,
221
- fedKey .NamespaceKey (), err )
222
+ klog .ErrorS (err , "Failed to handle serviceExport event" , "serviceExport" , fedKey .NamespaceKey ())
222
223
return err
223
224
}
224
225
case util .EndpointSliceKind :
225
226
if err := c .handleEndpointSliceEvent (ctx , fedKey ); err != nil {
226
- klog .Errorf ("Failed to handle endpointSlice(%s) event, Error: %v" ,
227
- fedKey .NamespaceKey (), err )
227
+ klog .ErrorS (err , "Failed to handle endpointSlice event" , "endpointSlice" , fedKey .NamespaceKey ())
228
228
return err
229
229
}
230
230
}
@@ -235,7 +235,7 @@ func (c *ServiceExportController) syncServiceExportOrEndpointSlice(key util.Queu
235
235
func (c * ServiceExportController ) buildResourceInformers (cluster * clusterv1alpha1.Cluster ) error {
236
236
err := c .registerInformersAndStart (cluster )
237
237
if err != nil {
238
- klog .Errorf ( "Failed to register informer for Cluster %s. Error: %v." , cluster .Name , err )
238
+ klog .ErrorS ( err , "Failed to register informer for Cluster" , "cluster" , cluster .Name )
239
239
return err
240
240
}
241
241
return nil
@@ -248,7 +248,7 @@ func (c *ServiceExportController) registerInformersAndStart(cluster *clusterv1al
248
248
if singleClusterInformerManager == nil {
249
249
dynamicClusterClient , err := c .ClusterDynamicClientSetFunc (cluster .Name , c .Client , c .ClusterClientOption )
250
250
if err != nil {
251
- klog .Errorf ( "Failed to build dynamic cluster client for cluster %s. " , cluster .Name )
251
+ klog .ErrorS ( err , "Failed to build dynamic cluster client for cluster." , "cluster " , cluster .Name )
252
252
return err
253
253
}
254
254
singleClusterInformerManager = c .InformerManager .ForCluster (dynamicClusterClient .ClusterName , dynamicClusterClient .DynamicClientSet , 0 )
@@ -284,7 +284,7 @@ func (c *ServiceExportController) registerInformersAndStart(cluster *clusterv1al
284
284
}
285
285
return nil
286
286
}(); err != nil {
287
- klog .Errorf ( "Failed to sync cache for cluster: %s, error: %v" , cluster .Name , err )
287
+ klog .ErrorS ( err , "Failed to sync cache for cluster" , "cluster" , cluster .Name )
288
288
c .InformerManager .Stop (cluster .Name )
289
289
return err
290
290
}
@@ -309,7 +309,7 @@ func (c *ServiceExportController) genHandlerAddFunc(clusterName string) func(obj
309
309
curObj := obj .(runtime.Object )
310
310
key , err := keys .FederatedKeyFunc (clusterName , curObj )
311
311
if err != nil {
312
- klog .Warningf ( "Failed to generate key for obj: %s " , curObj .GetObjectKind ().GroupVersionKind ())
312
+ klog .ErrorS ( err , "Failed to generate key for obj" , "gvk " , curObj .GetObjectKind ().GroupVersionKind ())
313
313
return
314
314
}
315
315
c .worker .Add (key )
@@ -322,7 +322,7 @@ func (c *ServiceExportController) genHandlerUpdateFunc(clusterName string) func(
322
322
if ! reflect .DeepEqual (oldObj , newObj ) {
323
323
key , err := keys .FederatedKeyFunc (clusterName , curObj )
324
324
if err != nil {
325
- klog .Warningf ( "Failed to generate key for obj: %s " , curObj .GetObjectKind ().GroupVersionKind ())
325
+ klog .ErrorS ( err , "Failed to generate key for obj" , "gvk " , curObj .GetObjectKind ().GroupVersionKind ())
326
326
return
327
327
}
328
328
c .worker .Add (key )
@@ -342,7 +342,7 @@ func (c *ServiceExportController) genHandlerDeleteFunc(clusterName string) func(
342
342
oldObj := obj .(runtime.Object )
343
343
key , err := keys .FederatedKeyFunc (clusterName , oldObj )
344
344
if err != nil {
345
- klog .Warningf ( "Failed to generate key for obj: %s " , oldObj .GetObjectKind ().GroupVersionKind ())
345
+ klog .ErrorS ( err , "Failed to generate key for obj" , "gvk " , oldObj .GetObjectKind ().GroupVersionKind ())
346
346
return
347
347
}
348
348
c .worker .Add (key )
@@ -366,8 +366,7 @@ func (c *ServiceExportController) handleServiceExportEvent(ctx context.Context,
366
366
// If skip report here, after ServiceExport deletion and re-creation, if no EndpointSlice changes, we didn't get a
367
367
// change to sync.
368
368
if err = c .reportEndpointSliceWithServiceExportCreate (ctx , serviceExportKey ); err != nil {
369
- klog .Errorf ("Failed to handle ServiceExport(%s) event, Error: %v" ,
370
- serviceExportKey .NamespaceKey (), err )
369
+ klog .ErrorS (err , "Failed to handle ServiceExport event" , "namespace" , serviceExportKey .Namespace , "name" , serviceExportKey .Name )
371
370
return err
372
371
}
373
372
@@ -387,8 +386,7 @@ func (c *ServiceExportController) handleEndpointSliceEvent(ctx context.Context,
387
386
}
388
387
389
388
if err = c .reportEndpointSliceWithEndpointSliceCreateOrUpdate (ctx , endpointSliceKey .Cluster , endpointSliceObj ); err != nil {
390
- klog .Errorf ("Failed to handle endpointSlice(%s) event, Error: %v" ,
391
- endpointSliceKey .NamespaceKey (), err )
389
+ klog .ErrorS (err , "Failed to handle endpointSlice event" , "namespace" , endpointSliceKey .Namespace , "name" , endpointSliceKey .Name )
392
390
return err
393
391
}
394
392
@@ -445,8 +443,9 @@ func (c *ServiceExportController) removeOrphanWork(ctx context.Context, endpoint
445
443
}),
446
444
FieldSelector : fields .OneTermEqualSelector (indexregistry .WorkIndexByFieldSuspendDispatching , "true" ),
447
445
}); err != nil {
448
- klog .Errorf ("Failed to list endpointslice work with serviceExport(%s/%s) under namespace %s: %v" ,
449
- serviceExportKey .Namespace , serviceExportKey .Name , names .GenerateExecutionSpaceName (serviceExportKey .Cluster ), err )
446
+ klog .ErrorS (err , "Failed to list workList reported by ServiceExport in executionSpace" ,
447
+ "namespace" , serviceExportKey .Namespace , "name" , serviceExportKey .Name , "executionSpace" ,
448
+ names .GenerateExecutionSpaceName (serviceExportKey .Cluster ))
450
449
return err
451
450
}
452
451
@@ -490,7 +489,7 @@ func (c *ServiceExportController) reportEndpointSliceWithEndpointSliceCreateOrUp
490
489
return nil
491
490
}
492
491
493
- klog .Errorf ( "Failed to get ServiceExport object %s/%s. error: %v. " , relatedServiceName , endpointSlice .GetNamespace (), err )
492
+ klog .ErrorS ( err , "Failed to get ServiceExport object" , "namespace" , endpointSlice .GetNamespace (), "name" , relatedServiceName )
494
493
return err
495
494
}
496
495
@@ -522,7 +521,7 @@ func getEndpointSliceWorkMeta(ctx context.Context, c client.Client, ns string, w
522
521
Namespace : ns ,
523
522
Name : workName ,
524
523
}, existWork ); err != nil && ! apierrors .IsNotFound (err ) {
525
- klog .Errorf ( "Get EndpointSlice work(%s/%s) error:%v" , ns , workName , err )
524
+ klog .ErrorS ( err , "Failed to get EndpointSlice work" , "namespace" , ns , "name" , workName )
526
525
return metav1.ObjectMeta {}, err
527
526
}
528
527
@@ -562,8 +561,8 @@ func cleanupWorkWithServiceExportDelete(ctx context.Context, c client.Client, se
562
561
util .ServiceNameLabel : serviceExportKey .Name ,
563
562
}),
564
563
}); err != nil {
565
- klog .Errorf ( "Failed to list workList reported by ServiceExport(%s) in executionSpace(%s), Error: %v " ,
566
- serviceExportKey .NamespaceKey (), executionSpace , err )
564
+ klog .ErrorS ( err , "Failed to list workList reported by ServiceExport in executionSpace" ,
565
+ "namespace" , serviceExportKey .Namespace , "name" , serviceExportKey . Name , " executionSpace" , executionSpace )
567
566
return err
568
567
}
569
568
@@ -589,7 +588,7 @@ func cleanupWorkWithEndpointSliceDelete(ctx context.Context, c client.Client, en
589
588
return nil
590
589
}
591
590
592
- klog .Errorf ( "Failed to get work(%s) in executionSpace(%s), Error: %v" , workNamespaceKey .String (), executionSpace , err )
591
+ klog .ErrorS ( err , "Failed to get work in executionSpace" , "work" , workNamespaceKey .String (), " executionSpace" , executionSpace )
593
592
return err
594
593
}
595
594
@@ -611,14 +610,14 @@ func cleanEndpointSliceWork(ctx context.Context, c client.Client, work *workv1al
611
610
work .Labels [util .EndpointSliceWorkManagedByLabel ] = strings .Join (controllerSet .UnsortedList (), "." )
612
611
613
612
if err := c .Update (ctx , work ); err != nil {
614
- klog .Errorf ( "Failed to update work(%s/%s): %v" , work .Namespace , work .Name , err )
613
+ klog .ErrorS ( err , "Failed to update work" , "namespace" , work .Namespace , "workName" , work .Name )
615
614
return err
616
615
}
617
616
return nil
618
617
}
619
618
620
619
if err := c .Delete (ctx , work ); err != nil {
621
- klog .Errorf ( "Failed to delete work(%s/%s), Error: %v" , work .Namespace , work .Name , err )
620
+ klog .ErrorS ( err , "Failed to delete work" , "namespace" , work .Namespace , "workName" , work .Name )
622
621
return err
623
622
}
624
623
0 commit comments