Skip to content

Commit 3331061

Browse files
authored
🌱 use SDK basecontroller for better logging. (#1269)
* Use basecontroller in sdk-go instead for better logging Signed-off-by: Jian Qiu <[email protected]> * Rename to fakeSyncContext Signed-off-by: Jian Qiu <[email protected]> --------- Signed-off-by: Jian Qiu <[email protected]>
1 parent 26edb94 commit 3331061

File tree

199 files changed

+794
-3268
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

199 files changed

+794
-3268
lines changed

go.mod

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,6 @@ require (
132132
github.com/prometheus/client_model v0.6.2 // indirect
133133
github.com/prometheus/common v0.65.0 // indirect
134134
github.com/prometheus/procfs v0.16.1 // indirect
135-
github.com/robfig/cron v1.2.0 // indirect
136135
github.com/rs/xid v1.4.0 // indirect
137136
github.com/santhosh-tekuri/jsonschema/v6 v6.0.2 // indirect
138137
github.com/shopspring/decimal v1.4.0 // indirect

go.sum

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -312,8 +312,6 @@ github.com/prometheus/common v0.65.0 h1:QDwzd+G1twt//Kwj/Ww6E9FQq1iVMmODnILtW1t2
312312
github.com/prometheus/common v0.65.0/go.mod h1:0gZns+BLRQ3V6NdaerOhMbwwRbNh9hkGINtQAsP5GS8=
313313
github.com/prometheus/procfs v0.16.1 h1:hZ15bTNuirocR6u0JZ6BAHHmwS1p8B4P6MRqxtzMyRg=
314314
github.com/prometheus/procfs v0.16.1/go.mod h1:teAbpZRB1iIAJYREa1LsoWUXykVXA1KlTmWl8x/U+Is=
315-
github.com/robfig/cron v1.2.0 h1:ZjScXvvxeQ63Dbyxy76Fj3AT3Ut0aKsyd2/tl3DTMuQ=
316-
github.com/robfig/cron v1.2.0/go.mod h1:JGuDeoQd7Z6yL4zQhZ3OPEVHB7fL6Ka6skscFHfmt2k=
317315
github.com/rogpeppe/go-internal v1.13.1 h1:KvO1DLK/DRN07sQ1LQKScxyZJuNnedQ5/wKSR38lUII=
318316
github.com/rogpeppe/go-internal v1.13.1/go.mod h1:uMEvuHeurkdAXX61udpOXGD/AzZDWNMNyH2VO9fmH0o=
319317
github.com/rs/xid v1.4.0 h1:qd7wPTDkN6KQx2VmMBLrpHkiyQwgFXRnkOLacUiaSNY=

pkg/addon/controllers/addonconfiguration/controller.go

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,6 @@ import (
55
"errors"
66
"time"
77

8-
"github.com/openshift/library-go/pkg/controller/factory"
9-
"github.com/openshift/library-go/pkg/operator/events"
108
apierrors "k8s.io/apimachinery/pkg/api/errors"
119
utilerrors "k8s.io/apimachinery/pkg/util/errors"
1210
"k8s.io/client-go/tools/cache"
@@ -18,6 +16,7 @@ import (
1816
addonlisterv1alpha1 "open-cluster-management.io/api/client/addon/listers/addon/v1alpha1"
1917
clusterinformersv1beta1 "open-cluster-management.io/api/client/cluster/informers/externalversions/cluster/v1beta1"
2018
clusterlisterv1beta1 "open-cluster-management.io/api/client/cluster/listers/cluster/v1beta1"
19+
"open-cluster-management.io/sdk-go/pkg/basecontroller/factory"
2120
"open-cluster-management.io/sdk-go/pkg/patcher"
2221

2322
addonindex "open-cluster-management.io/ocm/pkg/addon/index"
@@ -64,7 +63,6 @@ func NewAddonConfigurationController(
6463
placementInformer clusterinformersv1beta1.PlacementInformer,
6564
placementDecisionInformer clusterinformersv1beta1.PlacementDecisionInformer,
6665
addonFilterFunc factory.EventFilterFunc,
67-
recorder events.Recorder,
6866
) factory.Controller {
6967
c := &addonConfigurationController{
7068
addonClient: addonClient,
@@ -96,13 +94,12 @@ func NewAddonConfigurationController(
9694
WithInformersQueueKeysFunc(
9795
addonindex.ClusterManagementAddonByPlacementQueueKey(clusterManagementAddonInformers), placementInformer.Informer())
9896

99-
return controllerFactory.WithSync(c.sync).ToController("addon-configuration-controller", recorder)
97+
return controllerFactory.WithSync(c.sync).ToController("addon-configuration-controller")
10098
}
10199

102-
func (c *addonConfigurationController) sync(ctx context.Context, syncCtx factory.SyncContext) error {
103-
logger := klog.FromContext(ctx)
104-
addonName := syncCtx.QueueKey()
105-
logger.V(4).Info("Reconciling addon", "addonName", addonName)
100+
func (c *addonConfigurationController) sync(ctx context.Context, syncCtx factory.SyncContext, addonName string) error {
101+
logger := klog.FromContext(ctx).WithValues("addonName", addonName)
102+
logger.V(4).Info("Reconciling addon")
106103

107104
cma, err := c.clusterManagementAddonLister.Get(addonName)
108105
switch {

pkg/addon/controllers/addonconfiguration/controller_test.go

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,6 @@ import (
55
"testing"
66
"time"
77

8-
"github.com/openshift/library-go/pkg/controller/factory"
9-
"github.com/openshift/library-go/pkg/operator/events/eventstesting"
108
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
119
"k8s.io/apimachinery/pkg/runtime"
1210
"k8s.io/client-go/tools/cache"
@@ -20,6 +18,7 @@ import (
2018
clusterv1informers "open-cluster-management.io/api/client/cluster/informers/externalversions"
2119
clusterv1alpha1 "open-cluster-management.io/api/cluster/v1alpha1"
2220
clusterv1beta1 "open-cluster-management.io/api/cluster/v1beta1"
21+
"open-cluster-management.io/sdk-go/pkg/basecontroller/factory"
2322

2423
addonindex "open-cluster-management.io/ocm/pkg/addon/index"
2524
"open-cluster-management.io/ocm/pkg/common/helpers"
@@ -46,16 +45,13 @@ func TestNewAddonConfigurationController(t *testing.T) {
4645
return true
4746
}
4847

49-
recorder := eventstesting.NewTestingEventRecorder(t)
50-
5148
controller := NewAddonConfigurationController(
5249
fakeAddonClient,
5350
addonInformers.Addon().V1alpha1().ManagedClusterAddOns(),
5451
addonInformers.Addon().V1alpha1().ClusterManagementAddOns(),
5552
clusterInformers.Cluster().V1beta1().Placements(),
5653
clusterInformers.Cluster().V1beta1().PlacementDecisions(),
5754
addonFilterFunc,
58-
recorder,
5955
)
6056

6157
if controller == nil {
@@ -242,7 +238,7 @@ func TestAddonConfigurationControllerSync(t *testing.T) {
242238

243239
// Test sync method
244240
ctx := context.TODO()
245-
err = controller.sync(ctx, syncCtx)
241+
err = controller.sync(ctx, syncCtx, c.queueKey)
246242

247243
if c.expectError && err == nil {
248244
t.Errorf("Expected error but got none")

pkg/addon/controllers/addonmanagement/addon_install_reconciler.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ package addonmanagement
33
import (
44
"context"
55

6-
"github.com/openshift/library-go/pkg/controller/factory"
76
"k8s.io/apimachinery/pkg/api/errors"
87
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
98
"k8s.io/apimachinery/pkg/labels"
@@ -16,6 +15,7 @@ import (
1615
addonv1alpha1client "open-cluster-management.io/api/client/addon/clientset/versioned"
1716
clusterlisterv1beta1 "open-cluster-management.io/api/client/cluster/listers/cluster/v1beta1"
1817
clusterv1beta1 "open-cluster-management.io/api/cluster/v1beta1"
18+
"open-cluster-management.io/sdk-go/pkg/basecontroller/factory"
1919

2020
addonindex "open-cluster-management.io/ocm/pkg/addon/index"
2121
)

pkg/addon/controllers/addonmanagement/controller.go

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,6 @@ package addonmanagement
33
import (
44
"context"
55

6-
"github.com/openshift/library-go/pkg/controller/factory"
7-
"github.com/openshift/library-go/pkg/operator/events"
86
"k8s.io/apimachinery/pkg/api/errors"
97
utilerrors "k8s.io/apimachinery/pkg/util/errors"
108
"k8s.io/client-go/tools/cache"
@@ -15,6 +13,7 @@ import (
1513
addoninformerv1alpha1 "open-cluster-management.io/api/client/addon/informers/externalversions/addon/v1alpha1"
1614
addonlisterv1alpha1 "open-cluster-management.io/api/client/addon/listers/addon/v1alpha1"
1715
clusterinformersv1beta1 "open-cluster-management.io/api/client/cluster/informers/externalversions/cluster/v1beta1"
16+
"open-cluster-management.io/sdk-go/pkg/basecontroller/factory"
1817

1918
addonindex "open-cluster-management.io/ocm/pkg/addon/index"
2019
"open-cluster-management.io/ocm/pkg/common/queue"
@@ -47,7 +46,6 @@ func NewAddonManagementController(
4746
placementInformer clusterinformersv1beta1.PlacementInformer,
4847
placementDecisionInformer clusterinformersv1beta1.PlacementDecisionInformer,
4948
addonFilterFunc factory.EventFilterFunc,
50-
recorder events.Recorder,
5149
) factory.Controller {
5250
c := &addonManagementController{
5351
addonClient: addonClient,
@@ -76,13 +74,12 @@ func NewAddonManagementController(
7674
addonindex.ClusterManagementAddonByPlacementQueueKey(
7775
clusterManagementAddonInformers),
7876
placementInformer.Informer()).
79-
WithSync(c.sync).ToController("addon-management-controller", recorder)
77+
WithSync(c.sync).ToController("addon-management-controller")
8078
}
8179

82-
func (c *addonManagementController) sync(ctx context.Context, syncCtx factory.SyncContext) error {
83-
logger := klog.FromContext(ctx)
84-
addonName := syncCtx.QueueKey()
85-
logger.V(4).Info("Reconciling addon", "addonName", addonName)
80+
func (c *addonManagementController) sync(ctx context.Context, syncCtx factory.SyncContext, addonName string) error {
81+
logger := klog.FromContext(ctx).WithValues("addonName", addonName)
82+
logger.V(4).Info("Reconciling addon")
8683

8784
cma, err := c.clusterManagementAddonLister.Get(addonName)
8885
switch {

pkg/addon/controllers/addonmanagement/controller_test.go

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,6 @@ import (
55
"testing"
66
"time"
77

8-
"github.com/openshift/library-go/pkg/controller/factory"
9-
"github.com/openshift/library-go/pkg/operator/events/eventstesting"
108
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
119
"k8s.io/apimachinery/pkg/runtime"
1210
clienttesting "k8s.io/client-go/testing"
@@ -21,6 +19,7 @@ import (
2119
fakecluster "open-cluster-management.io/api/client/cluster/clientset/versioned/fake"
2220
clusterv1informers "open-cluster-management.io/api/client/cluster/informers/externalversions"
2321
clusterv1beta1 "open-cluster-management.io/api/cluster/v1beta1"
22+
"open-cluster-management.io/sdk-go/pkg/basecontroller/factory"
2423

2524
addonindex "open-cluster-management.io/ocm/pkg/addon/index"
2625
testingcommon "open-cluster-management.io/ocm/pkg/common/testing"
@@ -297,16 +296,13 @@ func TestNewAddonManagementController(t *testing.T) {
297296
return true
298297
}
299298

300-
recorder := eventstesting.NewTestingEventRecorder(t)
301-
302299
controller := NewAddonManagementController(
303300
fakeAddonClient,
304301
addonInformers.Addon().V1alpha1().ManagedClusterAddOns(),
305302
addonInformers.Addon().V1alpha1().ClusterManagementAddOns(),
306303
clusterInformers.Cluster().V1beta1().Placements(),
307304
clusterInformers.Cluster().V1beta1().PlacementDecisions(),
308305
addonFilterFunc,
309-
recorder,
310306
)
311307

312308
if controller == nil {
@@ -471,7 +467,7 @@ func TestAddonManagementControllerSync(t *testing.T) {
471467

472468
// Test sync method
473469
ctx := context.TODO()
474-
err = controller.sync(ctx, syncCtx)
470+
err = controller.sync(ctx, syncCtx, c.queueKey)
475471

476472
if c.expectError && err == nil {
477473
t.Errorf("Expected error but got none")

pkg/addon/controllers/addonowner/controller.go

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,6 @@ package addonowner
33
import (
44
"context"
55

6-
"github.com/openshift/library-go/pkg/controller/factory"
7-
"github.com/openshift/library-go/pkg/operator/events"
86
"k8s.io/apimachinery/pkg/api/errors"
97
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
108
"k8s.io/client-go/tools/cache"
@@ -15,6 +13,7 @@ import (
1513
addonv1alpha1client "open-cluster-management.io/api/client/addon/clientset/versioned"
1614
addoninformerv1alpha1 "open-cluster-management.io/api/client/addon/informers/externalversions/addon/v1alpha1"
1715
addonlisterv1alpha1 "open-cluster-management.io/api/client/addon/listers/addon/v1alpha1"
16+
"open-cluster-management.io/sdk-go/pkg/basecontroller/factory"
1817

1918
addonindex "open-cluster-management.io/ocm/pkg/addon/index"
2019
"open-cluster-management.io/ocm/pkg/common/queue"
@@ -37,7 +36,6 @@ func NewAddonOwnerController(
3736
addonInformers addoninformerv1alpha1.ManagedClusterAddOnInformer,
3837
clusterManagementAddonInformers addoninformerv1alpha1.ClusterManagementAddOnInformer,
3938
addonFilterFunc factory.EventFilterFunc,
40-
recorder events.Recorder,
4139
) factory.Controller {
4240
c := &addonOwnerController{
4341
addonClient: addonClient,
@@ -59,13 +57,12 @@ func NewAddonOwnerController(
5957
queue.QueueKeyByMetaNamespaceName,
6058
addonInformers.Informer()).
6159
WithSync(c.sync).
62-
ToController("addon-owner-controller", recorder)
60+
ToController("addon-owner-controller")
6361
}
6462

65-
func (c *addonOwnerController) sync(ctx context.Context, syncCtx factory.SyncContext) error {
66-
logger := klog.FromContext(ctx)
67-
key := syncCtx.QueueKey()
68-
logger.V(4).Info("Reconciling addon", "addon", key)
63+
func (c *addonOwnerController) sync(ctx context.Context, syncCtx factory.SyncContext, key string) error {
64+
logger := klog.FromContext(ctx).WithValues("addon", key)
65+
logger.V(4).Info("Reconciling addon")
6966

7067
namespace, addonName, err := cache.SplitMetaNamespaceKey(key)
7168
if err != nil {

pkg/addon/controllers/addonowner/controller_test.go

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -75,16 +75,14 @@ func TestReconcile(t *testing.T) {
7575
}
7676

7777
syncContext := testingcommon.NewFakeSyncContext(t, c.syncKey)
78-
recorder := syncContext.Recorder()
7978

8079
controller := NewAddonOwnerController(
8180
fakeAddonClient,
8281
addonInformers.Addon().V1alpha1().ManagedClusterAddOns(),
8382
addonInformers.Addon().V1alpha1().ClusterManagementAddOns(),
84-
utils.ManagedByAddonManager,
85-
recorder)
83+
utils.ManagedByAddonManager)
8684

87-
err := controller.Sync(context.TODO(), syncContext)
85+
err := controller.Sync(context.TODO(), syncContext, c.syncKey)
8886
if err != nil {
8987
t.Errorf("expected no error when sync: %v", err)
9088
}

pkg/addon/controllers/addonprogressing/controller.go

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,6 @@ import (
66
"fmt"
77
"strings"
88

9-
"github.com/openshift/library-go/pkg/controller/factory"
10-
"github.com/openshift/library-go/pkg/operator/events"
119
"k8s.io/apimachinery/pkg/api/equality"
1210
"k8s.io/apimachinery/pkg/api/errors"
1311
"k8s.io/apimachinery/pkg/api/meta"
@@ -27,6 +25,7 @@ import (
2725
workinformers "open-cluster-management.io/api/client/work/informers/externalversions/work/v1"
2826
worklister "open-cluster-management.io/api/client/work/listers/work/v1"
2927
workapiv1 "open-cluster-management.io/api/work/v1"
28+
"open-cluster-management.io/sdk-go/pkg/basecontroller/factory"
3029
"open-cluster-management.io/sdk-go/pkg/patcher"
3130

3231
addonindex "open-cluster-management.io/ocm/pkg/addon/index"
@@ -49,7 +48,6 @@ func NewAddonProgressingController(
4948
clusterManagementAddonInformers addoninformerv1alpha1.ClusterManagementAddOnInformer,
5049
workInformers workinformers.ManifestWorkInformer,
5150
addonFilterFunc factory.EventFilterFunc,
52-
recorder events.Recorder,
5351
) factory.Controller {
5452
c := &addonProgressingController{
5553
addonClient: addonClient,
@@ -79,13 +77,12 @@ func NewAddonProgressingController(
7977
return len(accessor.GetLabels()) > 0 && len(accessor.GetLabels()[addonapiv1alpha1.AddonLabelKey]) > 0
8078
},
8179
workInformers.Informer()).
82-
WithSync(c.sync).ToController("addon-progressing-controller", recorder)
80+
WithSync(c.sync).ToController("addon-progressing-controller")
8381
}
8482

85-
func (c *addonProgressingController) sync(ctx context.Context, syncCtx factory.SyncContext) error {
86-
logger := klog.FromContext(ctx)
87-
key := syncCtx.QueueKey()
88-
logger.V(4).Info("Reconciling addon", "addon", key)
83+
func (c *addonProgressingController) sync(ctx context.Context, syncCtx factory.SyncContext, key string) error {
84+
logger := klog.FromContext(ctx).WithValues("addonName", key)
85+
logger.V(4).Info("Reconciling addon")
8986

9087
namespace, addonName, err := cache.SplitMetaNamespaceKey(key)
9188
if err != nil {

0 commit comments

Comments
 (0)