Skip to content

Commit 140f745

Browse files
authored
Merge pull request #6592 from zzklachlan/json-logging-federated-resource-quota
Update logging format for federated resource quota
2 parents b8a9249 + 4f8892d commit 140f745

File tree

3 files changed

+27
-27
lines changed

3 files changed

+27
-27
lines changed

pkg/controllers/federatedresourcequota/federated_resource_quota_enforcement_controller.go

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -66,15 +66,15 @@ type QuotaEnforcementController struct {
6666
// The SyncController will requeue the Request to be processed again if an error is non-nil or
6767
// Result.Requeue is true, otherwise upon completion it will remove the work from the queue.
6868
func (c *QuotaEnforcementController) Reconcile(ctx context.Context, req controllerruntime.Request) (controllerruntime.Result, error) {
69-
klog.V(4).Infof("QuotaEnforcementController reconciling %s", req.NamespacedName.String())
69+
klog.V(4).InfoS("QuotaEnforcementController reconciling", "namespacedName", req.NamespacedName.String())
7070

7171
quota := &policyv1alpha1.FederatedResourceQuota{}
7272
if err := c.Get(ctx, req.NamespacedName, quota); err != nil {
7373
// FederatedResourceQuota may no longer exist, in which case we stop processing.
7474
if apierrors.IsNotFound(err) {
7575
return controllerruntime.Result{}, nil
7676
}
77-
klog.Errorf("Error fetching FederatedResourceQuota %s: %v", req.NamespacedName.String(), err)
77+
klog.ErrorS(err, "Error fetching FederatedResourceQuota", "federatedResourceQuota", req.NamespacedName.String())
7878
return controllerruntime.Result{}, err
7979
}
8080

@@ -83,7 +83,7 @@ func (c *QuotaEnforcementController) Reconcile(ctx context.Context, req controll
8383
}
8484

8585
if err := c.collectQuotaStatus(quota); err != nil {
86-
klog.Errorf("Failed to collect status for FederatedResourceQuota(%s), error: %v", req.NamespacedName.String(), err)
86+
klog.ErrorS(err, "Failed to collect status for FederatedResourceQuota", "federatedResourceQuota", req.NamespacedName.String())
8787
c.EventRecorder.Eventf(quota, corev1.EventTypeWarning, events.EventReasonCollectFederatedResourceQuotaOverallStatusFailed, err.Error())
8888
return controllerruntime.Result{}, err
8989
}
@@ -99,13 +99,13 @@ func (c *QuotaEnforcementController) SetupWithManager(mgr controllerruntime.Mana
9999
func(ctx context.Context, obj client.Object) []reconcile.Request {
100100
rb, ok := obj.(*workv1alpha2.ResourceBinding)
101101
if !ok {
102-
klog.Errorf("Failed to convert object %v to ResourceBinding", obj)
102+
klog.ErrorS(fmt.Errorf("unexpected type: %T", obj), "Failed to convert object to ResourceBinding", "object", obj)
103103
return []reconcile.Request{}
104104
}
105105

106106
federatedResourceQuotaList := &policyv1alpha1.FederatedResourceQuotaList{}
107107
if err := c.Client.List(ctx, federatedResourceQuotaList, &client.ListOptions{Namespace: rb.GetNamespace()}); err != nil {
108-
klog.Errorf("Failed to list FederatedResourceQuota, error: %v", err)
108+
klog.ErrorS(err, "Failed to list FederatedResourceQuota")
109109
return []reconcile.Request{}
110110
}
111111

@@ -129,7 +129,7 @@ func (c *QuotaEnforcementController) SetupWithManager(mgr controllerruntime.Mana
129129
func(ctx context.Context, _ client.Object) []reconcile.Request {
130130
federatedResourceQuotaList := &policyv1alpha1.FederatedResourceQuotaList{}
131131
if err := c.Client.List(ctx, federatedResourceQuotaList); err != nil {
132-
klog.Errorf("Failed to list FederatedResourceQuota, error: %v", err)
132+
klog.ErrorS(err, "Failed to list FederatedResourceQuota")
133133
return []reconcile.Request{}
134134
}
135135

@@ -217,7 +217,7 @@ func (q *QuotaRecalculation) Start(ctx context.Context) error {
217217
defer close(q.resyncEvent)
218218

219219
if q.ResyncPeriod.Duration > 0 {
220-
klog.Infof("Starting FederatedResourceQuota recalculation process with period %s", q.ResyncPeriod.Duration.String())
220+
klog.InfoS("Starting FederatedResourceQuota recalculation process with period", "duration", q.ResyncPeriod.Duration.String())
221221
ticker := time.NewTicker(q.ResyncPeriod.Duration)
222222
defer ticker.Stop()
223223
for {
@@ -242,7 +242,7 @@ func (c *QuotaEnforcementController) collectQuotaStatus(quota *policyv1alpha1.Fe
242242
// TODO: Consider adding filtering step to ResourceBinding list once scope is added to the quota
243243
bindingList, err := helper.GetResourceBindingsByNamespace(c.Client, quota.Namespace)
244244
if err != nil {
245-
klog.Errorf("Failed to list resourcebindings tracked by FederatedResourceQuota(%s), error: %v", klog.KObj(quota).String(), err)
245+
klog.ErrorS(err, "Failed to list resourcebindings tracked by FederatedResourceQuota", "federatedResourceQuota", klog.KObj(quota).String())
246246
return err
247247
}
248248

@@ -251,7 +251,7 @@ func (c *QuotaEnforcementController) collectQuotaStatus(quota *policyv1alpha1.Fe
251251
quotaStatus.OverallUsed = calculateUsedWithResourceBinding(bindingList.Items, quota.Spec.Overall)
252252

253253
if reflect.DeepEqual(quota.Status, *quotaStatus) {
254-
klog.V(4).Infof("New quotaStatus is equal with old federatedResourceQuota(%s) status, no update required.", klog.KObj(quota).String())
254+
klog.V(4).InfoS("New quotaStatus is equal with old federatedResourceQuota status, no update required.", "federatedResourceQuota", klog.KObj(quota).String())
255255
return nil
256256
}
257257

pkg/controllers/federatedresourcequota/federated_resource_quota_status_controller.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ type StatusController struct {
6666
// The SyncController will requeue the Request to be processed again if an error is non-nil or
6767
// Result.Requeue is true, otherwise upon completion it will remove the work from the queue.
6868
func (c *StatusController) Reconcile(ctx context.Context, req controllerruntime.Request) (controllerruntime.Result, error) {
69-
klog.V(4).Infof("FederatedResourceQuota status controller reconciling %s", req.NamespacedName.String())
69+
klog.V(4).InfoS("FederatedResourceQuota status controller reconciling", "namespacedName", req.NamespacedName.String())
7070

7171
quota := &policyv1alpha1.FederatedResourceQuota{}
7272
if err := c.Get(ctx, req.NamespacedName, quota); err != nil {
@@ -82,7 +82,7 @@ func (c *StatusController) Reconcile(ctx context.Context, req controllerruntime.
8282
}
8383

8484
if err := c.collectQuotaStatus(ctx, quota); err != nil {
85-
klog.Errorf("Failed to collect status from works to federatedResourceQuota(%s), error: %v", req.NamespacedName.String(), err)
85+
klog.ErrorS(err, "Failed to collect status from works to federatedResourceQuota", "federatedResourceQuota", req.NamespacedName.String())
8686
c.EventRecorder.Eventf(quota, corev1.EventTypeWarning, events.EventReasonCollectFederatedResourceQuotaStatusFailed, err.Error())
8787
return controllerruntime.Result{}, err
8888
}
@@ -154,7 +154,7 @@ func (c *StatusController) collectQuotaStatus(ctx context.Context, quota *policy
154154
util.FederatedResourceQuotaNameLabel: quota.Name,
155155
})
156156
if err != nil {
157-
klog.Errorf("Failed to list workList created by federatedResourceQuota(%s), error: %v", klog.KObj(quota).String(), err)
157+
klog.ErrorS(err, "Failed to list workList created by federatedResourceQuota", "federatedResourceQuota", klog.KObj(quota).String())
158158
return err
159159
}
160160

@@ -172,7 +172,7 @@ func (c *StatusController) collectQuotaStatus(ctx context.Context, quota *policy
172172
}
173173

174174
if reflect.DeepEqual(quota.Status, *quotaStatus) {
175-
klog.V(4).Infof("New quotaStatus are equal with old federatedResourceQuota(%s) status, no update required.", klog.KObj(quota).String())
175+
klog.V(4).InfoS("New quotaStatus is equal with old federatedResourceQuota status, no update required.", "federatedResourceQuota", klog.KObj(quota).String())
176176
return nil
177177
}
178178

@@ -214,13 +214,13 @@ func aggregatedStatusFormWorks(works []workv1alpha1.Work) ([]policyv1alpha1.Clus
214214

215215
clusterName, err := names.GetClusterName(work.Namespace)
216216
if err != nil {
217-
klog.Errorf("Failed to get clusterName from work namespace %s. Error: %v.", work.Namespace, err)
217+
klog.ErrorS(err, "Failed to get clusterName from work namespace.", "workNamespace", work.Namespace)
218218
return nil, err
219219
}
220220

221221
status := &corev1.ResourceQuotaStatus{}
222222
if err := json.Unmarshal(work.Status.ManifestStatuses[0].Status.Raw, status); err != nil {
223-
klog.Errorf("Failed to unmarshal work(%s) status to ResourceQuotaStatus", klog.KObj(&work).String())
223+
klog.ErrorS(err, "Failed to unmarshal work status to ResourceQuotaStatus", "work", klog.KObj(&work).String())
224224
return nil, err
225225
}
226226

pkg/controllers/federatedresourcequota/federated_resource_quota_sync_controller.go

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -63,14 +63,14 @@ type SyncController struct {
6363
// The SyncController will requeue the Request to be processed again if an error is non-nil or
6464
// Result.Requeue is true, otherwise upon completion it will remove the work from the queue.
6565
func (c *SyncController) Reconcile(ctx context.Context, req controllerruntime.Request) (controllerruntime.Result, error) {
66-
klog.V(4).Infof("FederatedResourceQuota sync controller reconciling %s", req.NamespacedName.String())
66+
klog.V(4).InfoS("FederatedResourceQuota sync controller reconciling", "namespacedName", req.NamespacedName.String())
6767

6868
quota := &policyv1alpha1.FederatedResourceQuota{}
6969
if err := c.Client.Get(ctx, req.NamespacedName, quota); err != nil {
7070
if apierrors.IsNotFound(err) {
71-
klog.V(4).Infof("Begin to cleanup works created by federatedResourceQuota(%s)", req.NamespacedName.String())
71+
klog.V(4).InfoS("Begin to cleanup works created by federatedResourceQuota", "namespacedName", req.NamespacedName.String())
7272
if err = c.cleanUpWorks(ctx, req.Namespace, req.Name); err != nil {
73-
klog.Errorf("Failed to cleanup works created by federatedResourceQuota(%s)", req.NamespacedName.String())
73+
klog.ErrorS(err, "Failed to cleanup works created by federatedResourceQuota", "namespacedName", req.NamespacedName.String())
7474
return controllerruntime.Result{}, err
7575
}
7676
return controllerruntime.Result{}, nil
@@ -79,18 +79,18 @@ func (c *SyncController) Reconcile(ctx context.Context, req controllerruntime.Re
7979
}
8080

8181
if err := c.cleanUpOrphanWorks(ctx, quota); err != nil {
82-
klog.Errorf("Failed to cleanup orphan works for federatedResourceQuota(%s), error: %v", req.NamespacedName.String(), err)
82+
klog.ErrorS(err, "Failed to cleanup orphan works for federatedResourceQuota", "namespacedName", req.NamespacedName.String())
8383
return controllerruntime.Result{}, err
8484
}
8585

8686
clusterList := &clusterv1alpha1.ClusterList{}
8787
if err := c.Client.List(ctx, clusterList); err != nil {
88-
klog.Errorf("Failed to list clusters, error: %v", err)
88+
klog.ErrorS(err, "Failed to list clusters")
8989
return controllerruntime.Result{}, err
9090
}
9191

9292
if err := c.buildWorks(ctx, quota, clusterList.Items); err != nil {
93-
klog.Errorf("Failed to build works for federatedResourceQuota(%s), error: %v", req.NamespacedName.String(), err)
93+
klog.ErrorS(err, "Failed to build works for federatedResourceQuota", "namespacedName", req.NamespacedName.String())
9494
c.EventRecorder.Eventf(quota, corev1.EventTypeWarning, events.EventReasonSyncFederatedResourceQuotaFailed, err.Error())
9595
return controllerruntime.Result{}, err
9696
}
@@ -114,7 +114,7 @@ func (c *SyncController) SetupWithManager(mgr controllerruntime.Manager) error {
114114

115115
FederatedResourceQuotaList := &policyv1alpha1.FederatedResourceQuotaList{}
116116
if err := c.Client.List(ctx, FederatedResourceQuotaList); err != nil {
117-
klog.Errorf("Failed to list FederatedResourceQuota, error: %v", err)
117+
klog.ErrorS(err, "Failed to list FederatedResourceQuota")
118118
}
119119

120120
for _, federatedResourceQuota := range FederatedResourceQuotaList.Items {
@@ -189,14 +189,14 @@ func (c *SyncController) cleanUpWorks(ctx context.Context, namespace, name strin
189189
util.FederatedResourceQuotaNamespaceLabel: namespace,
190190
util.FederatedResourceQuotaNameLabel: name,
191191
}); err != nil {
192-
klog.Errorf("Failed to list works, err: %v", err)
192+
klog.ErrorS(err, "Failed to list works")
193193
return err
194194
}
195195

196196
for index := range workList.Items {
197197
work := &workList.Items[index]
198198
if err := c.Delete(ctx, work); err != nil && !apierrors.IsNotFound(err) {
199-
klog.Errorf("Failed to delete work(%s): %v", klog.KObj(work).String(), err)
199+
klog.ErrorS(err, "Failed to delete work", "work", klog.KObj(work).String())
200200
errs = append(errs, err)
201201
}
202202
}
@@ -211,7 +211,7 @@ func (c *SyncController) cleanUpOrphanWorks(ctx context.Context, quota *policyv1
211211
util.FederatedResourceQuotaNamespaceLabel: quota.GetNamespace(),
212212
util.FederatedResourceQuotaNameLabel: quota.GetName(),
213213
}); err != nil {
214-
klog.Errorf("Failed to list works, err: %v", err)
214+
klog.ErrorS(err, "Failed to list works")
215215
return err
216216
}
217217

@@ -221,7 +221,7 @@ func (c *SyncController) cleanUpOrphanWorks(ctx context.Context, quota *policyv1
221221
continue
222222
}
223223
if err := c.Delete(ctx, work); err != nil && !apierrors.IsNotFound(err) {
224-
klog.Errorf("Failed to delete work(%s): %v", klog.KObj(work).String(), err)
224+
klog.ErrorS(err, "Failed to delete work", "work", klog.KObj(work).String())
225225
errs = append(errs, err)
226226
}
227227
}
@@ -246,7 +246,7 @@ func (c *SyncController) buildWorks(ctx context.Context, quota *policyv1alpha1.F
246246

247247
resourceQuotaObj, err := helper.ToUnstructured(resourceQuota)
248248
if err != nil {
249-
klog.Errorf("Failed to transform resourceQuota(%s), error: %v", klog.KObj(resourceQuota).String(), err)
249+
klog.ErrorS(err, "Failed to transform resourceQuota", "resourceQuota", klog.KObj(resourceQuota).String())
250250
errs = append(errs, err)
251251
continue
252252
}

0 commit comments

Comments
 (0)